Failed: Install Argos Shell Extension on Cinnamon
You have been warned
These are my pile of jots as I tried to install Argos “Gnome Shell Extension in seconds” on my Mint 19 Cinnamon machine. As the title implies, it didn’t work out, so I went for writing an applet from scratch, more or less.
Not being strong on Gnome internals, I’m under the impression that it’s simply because Cinnamon isn’t Gnome shell. This post is just the accumulation of notes I took while trying. Nothing to follow step-by-step, as it leads nowhere.
It’s here for the crumbs of info I gathered nevertheless.
Here we go
It says on the project’s Github page that a recent version of Gnome should include Argos. So I went for it:
# apt install gnome-shell-extensions
And since I’m at it:
# apt install gnome-tweaks
Restart Gnome shell: ALT-F2, type “r” and enter. For a second, it looks like a logout, but everything returns to where it was. Don’t hesitate doing this, even if there are a lot of windows opened.
Nada. So I went the manual way. First, found out my Gnome Shell version:
$ apt-cache show gnome-shell | grep Version
or better,
$ gnome-shell --version GNOME Shell 3.28.3
and downloaded the extension for Gnome shell 3.28 from Gnome’s extension page. Then realized it’s slightly out of date with the git repo, so
$ git clone https://github.com/p-e-w/argos.git $ cd argos $ cp -r 'argos@pew.worldwidemann.com' ~/.local/share/cinnamon/extensions/
Note that I copied it into cinnamon’s subdirectory. It’s usually ~/.local/share/gnome-shell/extensions, but not when running Cinnamon!
Restart Gnome shell again: ALT-F2, type “r” and enter.
Then open the “Extensions” GUI thingy from the main menu. Argos extension appears. Select it and press the “+” button to add it.
Restart Gnome shell again. This time a notification appears, saying “Problems during Cinnamon startup” elaborating that “Cinnamon started successfully, but one or more applets, desklets or extensions failed to load”.
Looking at ~/.xsession-errors, I found
Cjs-Message: 12:14:42.822: JS LOG: [LookingGlass/error] [argos@pew.worldwidemann.com]: Missing property "cinnamon-version" in metadata.json
Can’t argue with that, can you? Let’s see:
$ cinnamon --version Cinnamon 3.8.9
So edit ~/.local/share/cinnamon/extensions/argos@pew.worldwidemann.com/metadata.json and add the line marked in red (not at the end, because the last line doesn’t end with a comma):
"version": 2,
"cinnamon-version": [ "3.6", "3.8", "4.0" ],
"shell-version": ["3.14", "3.16", "3.18", "3.20", "3.22", "3.24", "3.26", "3.28"]
I took this line from some applet I found under ~/.local/share/cinnamon. Not much thought given here.
And guess what? Reset again with ALT-F2 r. Failed again. Now in ~/.xsession-errors:
Cjs-Message: 12:50:32.643: JS LOG: [LookingGlass/error] [argos@pew.worldwidemann.com]: No JS module 'extensionUtils' found in search path [argos@pew.worldwidemann.com]: Error importing extension.js from argos@pew.worldwidemann.com
It seems like Cinnamon has changed the extension mechanism altogether, which explains why there’s no extension tab in Gnome Tweaker, and why extensionUtils is missing.
Maybe this explains it. Frankly, I didn’t bother to read that long discussion, but the underlying issue is probably buried there.