The `state-set` signal is emitted to change the underlying state, which can have two reasons: 1. the user toggled the switch 2. the extension's `enabled` state changed externally In the second case, calling enable/disable is pointless at best, and can mess up the expected state by permanently disabling an extension that was disabled because of the global kill switch. Address this by only calling enable/disable if the new state does not already match the current value of the `enabled` property. Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7305 Fixes: fec523f83f ("extensions-app: Use new 'enabled' property") Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3090>
GNOME Extensions
GNOME Extensions is a small app for managing GNOME Shell extensions. It is usually built as part of gnome-shell, but can be used as a stand-alone project as well.
Bugs should be reported to the GNOME bug tracking system.
Installation
If Extensions is not already installed on your GNOME system, we recommend getting it from flathub.
Building
Before the project can be built stand-alone, the po directory has to be populated with translations (from gnome-shell).
To do that, simply run the included script:
$ ./generate-translations.sh
You can then build and install the project:
$ meson setup --prefix=/usr _build
$ meson compile -C _build
$ meson install -C _build
$ /usr/bin/gnome-extensions-app
For development you can also install the project to a temporary directory (e.g. replace /usr
with /tmp/install
above).
License
gnome-extensions-app is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.