It's impossible that this page is supposed to be the tool for managing
extensions - it makes absolutely zero sense
Whether it makes sense or not is also a matter of opinion. But yes, that page is the main tool, read Owen Taylor's explanation.
As to managing the extensions already installed on your system, you can enable/disable them via gnome-tweak-tool (or dconf-editor
- GUI, or gsettings
- CLI).
edit:
In reply to your comment:
I was talking about keeping the UX consistent. When I type "exten" into
the search bar, I should be able to get to some extension control point.
What version of gnome-shell are you using ? On gnome-3.8.2
that is the default behaviour, typing exten
in the search bar brings up gnome-tweak-tool
i.e. the "local control center" for extensions, see for yourself:
The key you want is favorite-apps
, the schema ID is org.gnome.shell
. Now to list your favorite apps you can simply run
gsettings get org.gnome.shell favorite-apps
or
dconf read /org/gnome/shell/favorite-apps
These will return an array of strings e.g.
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Now, to remove a value from that array you could use text processing tools like sed
/awk
to check if an item is in that list and remove it keeping the same format (not that trivial though definitely doable) and once you get it right just write the new settings to the database e.g. assuming you wanted to remove org.gnome.Nautilus.desktop
you would run (note the double quotes):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
or
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Still, it's easier to write your own utility (using gsettings
API) that will accept one or more desktop file names as positional parameters and remove them from favorites; to get you started, here is a very basic example in python
that accepts one param (run as script.py firefox.desktop
):
#!/usr/bin/env python
from sys import argv
from gi.repository import Gio,GLib
item=argv[1]
gschema = Gio.Settings('org.gnome.shell')
gvalues=gschema.get_value('favorite-apps').unpack()
if item in gvalues: gvalues.remove(item)
gschema.set_value('favorite-apps', GLib.Variant('as', gvalues))
Best Answer
For me on
Fedora 26
runninggnome 3.24
these packages were actually installed as OS packages.If I run
sudo dnf list installed | grep -i gnome
I could see them usually with a name likegnome-shell-extension-foo
.I could remove them by uninstalling this package and not using the installed extensions page directly. I restarted my browser session and those extensions disappeared from the list.