This works in Gnome 3.8.4
Set all the extensions you want to be on.
gsettings get org.gnome.shell enabled-extensions
This should come up with something like
$ gsettings get org.gnome.shell enabled-extensions
['firstname.lastname@example.org', 'email@example.com', 'CoverflowAltTab@palatis.blogspot.com']
Copy the output, and then run
Press add, and then enter the output of
gsettings get org.gnome.shell enabled-extensions "['use... ...blogspot.com']" - However, as has been kindly pointed out, change
set when entering in the command box, like in the picture below. PUT THE DOUBLE QUOTES IN, OTHERWISE THIS WILL NOT WORK (If not sure, test the command in the terminal first - if no feedback is given, it worked).
Then make sure that this is on:
Now, every time you login, it should run a command to restore all the extensions!
N.B. If you make changes to your activated extensions, this would need to be updated.
To automate this process, this script seems to work:
active_extensions=$(gsettings get org.gnome.shell enabled-extensions)
echo -e "Currently active extensions:\n\e[34m$active_extensions\e[0m"
echo -e "[Desktop Entry]\nType=Application" > $autostart_file
echo Exec=gsettings set org.gnome.shell enabled-extensions \"$active_extensions\" >> $autostart_file
echo -e "Hidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName=Restore Extensions\nComment=Restore enabled extensions on login" >> $autostart_file
echo "Command to restore currently active extensions added to $HOME/.config/autostart/restore-extensions.desktop"
Save the script to
~/.local/bin/extension-update, make it executable (either set it in the file's Properties window, or run
chmod +x ~/.local/bin/extension-update).
Then every time you run
extension-update, it will update an autostart file at
~/.config/autostart/restore-extensions.desktop (it will likely be different a different autostart entry if you created one manually as above, so if you created one manually you may want to delete that) - you can check in
gnome-session-properties to make sure.