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.)

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

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

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