A Gnome 3 shell extensions failure

August 12, 2011

I really wish that the people who had written the Gnome 3 shell's extension system had studied something with a good one, such as Firefox. Here is the problem: as far as I can tell, the Gnome 3 shell has no way to disable or enable extensions. Instead, all you can do install or remove extensions; all installed extensions are automatically enabled and the only simple way to disable an extension is to remove it. This includes system-installed extensions.

(It's possible that editing an extension's metadata file could be used to disable it without removing it. I haven't looked and such a mechanism doesn't count as 'simple'.)

Right away I can tell that the Gnome 3 people simply don't care about shared computers, or at least not about system packages for shell extensions on such computers (eg the 'gnome-shell-extensions-*' packages in Fedora 15). If you and your friend use the same machine but want different sets of shell extensions, you both get to install extensions by hand instead of using the system packages. Applications to multi-user computers are left as an exercise for the reader.

But let's ignore that. Even on a single-user machine there are still any number of situations where you might want to temporarily disable some extension (or only temporarily enable one), including but not limited to troubleshooting. Removing extensions is a heavyweight operation that's not trivially reversible, since it requires removing files or moving them around. Firefox used to work just the same way as Gnome 3's shell (all installed extensions were automatically enabled); it changed for good reasons.

The more I look at Gnome 3 shell extensions, the more they look like a dangerously half-baked feature that the Gnome 3 shell developers do not really like and thus do not really support. Maybe this will change in time, but given the general Gnome developer attitude towards features, I'm not really optimistic.

(Another alarming lack is that as far as I can see, there is no way to start the Gnome 3 environment in a 'safe mode' that turns off all shell extensions. Also, it doesn't help that there's no GUI for installing and removing extensions, yet another thing that the Gnome 3 shell people could have learned from, well, almost anything with an extension system.)


Comments on this page:

By gsauthof at 2011-08-13 12:35:39:

The more I look at Gnome 3 shell extensions, the more they look like a dangerously half-baked feature that the Gnome 3 shell developers do not really like and thus do not really support.

Yes, it looks like that. Like this statement from a gnome design developer guy (from the gnome shell ml):

Facilitating the unrestricted use of extensions and themes by end users seems contrary to the central tenets of the GNOME 3 design. We've fought long and hard to give GNOME 3 a consistent visual appearance, to make it synonymous with a single user experience and to ensure that that experience is of a consistently high quality. A general purpose extensions and themes distribution system seems to threaten much of that.

http://article.gmane.org/gmane.comp.gnome.shell/4421

From 87.48.49.219 at 2011-08-20 01:39:09:

You can use the 'gnome-tweak-tool' to disable extensions for a single user. the mayor problem is the attitude from upstream: We decide how it should look & feel, so you better like too. It is sorry, because users are different and like to customize there systems to there own needs. The extension system is very powerful, but dangerous too, it is most used to tweak the system because lack for configuration options.

Written on 12 August 2011.
« One reason we install machines from checklists instead of via automation
The tragedy of MH »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Fri Aug 12 15:14:51 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.