How does that work with something like this?
- User enables the extension.
- Opens the settings.
- Toggles the Background Menu Visibility option off.
backgroundMenuDisable()
is getting called (runtime monkey patching).- On disable,
backgroundMenuEnable()
is getting called.
If we force extensions to apply the logic inside the monkey patched method, that will create many complications for extensions with so many settings (Just Perfection, Dash to Dock, …).
The API I made for Just Perfection extension tries to don’t touch the GNOME Shell code at all when user wants to use the default GNOME Shell setting (for example, that background simply returns).