After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 778664 - Add kill-switch setting for user extensions
Add kill-switch setting for user extensions
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks: 778665
 
 
Reported: 2017-02-15 11:13 UTC by Florian Müllner
Modified: 2017-02-16 00:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
extensionSystem: Add kill-switch setting to disable user extensions (3.09 KB, patch)
2017-02-15 11:13 UTC, Florian Müllner
committed Details | Review
extensionPrefs: Expose kill-switch (2.46 KB, patch)
2017-02-15 11:13 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2017-02-15 11:13:06 UTC
This is a friendlier way of disabling extensions on session failure than resetting the list of enabled extensions. See also the mockup at https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/tweak-tool/tweak-tool-wires.png
Comment 1 Florian Müllner 2017-02-15 11:13:12 UTC
Created attachment 345803 [details] [review]
extensionSystem: Add kill-switch setting to disable user extensions

When gnome-shell fails to start on login, gnome-session tries to
re-launch it again with all extensions disabled. This is currently
implemented by clearing the list of enabled extensions, which means
the user needs to re-enable their extensions manually again.
To make this process less annoying, add a single 'kill-switch' setting
gnome-session can use without interfering with the user setting.
Comment 2 Florian Müllner 2017-02-15 11:13:20 UTC
Created attachment 345804 [details] [review]
extensionPrefs: Expose kill-switch

While the extension prefs tool is not meant as the primary way for
users to configure extensions - that will be Tweak Tool - it still
doesn't hurt to expose the extension kill switch to easily turn
extensions back on after a session crash.
Comment 3 Rui Matos 2017-02-15 14:54:07 UTC
Review of attachment 345803 [details] [review]:

looks good either way

::: js/ui/extensionSystem.js
@@ +350,3 @@
 function init() {
     Main.sessionMode.connect('updated', _sessionUpdated);
+    global.settings.connect('changed::' + DISABLE_USER_EXTENSIONS_KEY, onEnabledExtensionsChanged);

shouldn't this be connected in _loadExtensions() for consistency if nothing else?
Comment 4 Rui Matos 2017-02-15 14:57:00 UTC
Review of attachment 345804 [details] [review]:

lgtm
Comment 5 Florian Müllner 2017-02-16 00:40:44 UTC
Attachment 345803 [details] pushed as 7395aaf - extensionSystem: Add kill-switch setting to disable user extensions
Attachment 345804 [details] pushed as 5d07832 - extensionPrefs: Expose kill-switch

(In reply to Rui Matos from comment #3)
> shouldn't this be connected in _loadExtensions() for consistency if nothing
> else?

Makes sense to me, fixed.