Since GSettings is not supported in extensions in 3.2, all settings
have been replaced by constants in JS files (except for user-theme,
whose only purpose is to actually bridge GSettings to the shell).
Customizations are still supported in master, and distributions
packaging these extensions for system-wide install may consider
reverting this bug.
In 3.2 branch, the GSettings migration hasn't happened yet, so
we need to use underscores in binding names.
Also, uncomment some code that handles keyPressEvent, as the core
shell code causes crashes in all_thumbnails, sometimes.
It is not used anymore, now that translations are bundled with
the extension. Also, in the zip files it ended up with my home
folder, which is not nice.
Cherry-picked from master, added code to load translation from
within the extension folder.
Now, typing "make zip-file" will create a standard zip-file for each
extension, with everything necessary, including translations and GSettings schemas.
These files can then be installed with the tweak-tool or uploaded
at extensions.gnome.org
Based on an earlier patch by Jasper St. Pierre.
Cherry-picked from master. The zip file contains everything that is
needed for extensions, but schemas and translations are not loaded
from there, as convenience.js cannot be supported in 3.2
To go along GNOME Shell 3.2.1
Also, mark both alternate-tab and dock as generally "working with
3.2", since the most outstanding bugs seem to be fixed now.
We cannot return from show() without creating an AppSwitcher, as it
will subsequently crash in core shell code due to _appSwitcher being null.
We can prevent this by destroying the actor (which will prevent it
from being allocated and thus avoid the crash).
By importing various stuff from core shell, now it works for me.
(In particular, what was missing was setting the modifierMask in
show()).
Also, remove the native mode. Users wishing to have it should just
disable the extension with the standard tools.
GNOME Shell has changed internal API here and there, and this
broke some extensions.
alternate-tab and dock still have issues, I'll try to solve them
post 3.2.0
main() has been replaced by init(), enable() and disable()
at the same time, ensure that all keybindings are correctly taken
(even though alt-tab and alt-shift-tab have the same effect right
now)
Now alternate-tab shows a dialog on first usage, allowing to choose
between native behavior (app icons from all worskpaces), app icons
from current workspace only and window thumbnails only.
Patch written by Joachim Bargsten <dev@bargsten.org>
Extensions that use public Shell API are expected to work for all
stable 3.0 releases, so we skip setting the minor version. (This
means that they'll work in 3.0.0 and 3.0.1 without rebuilding).
Notably absent are auto-move-windows and windowsNavigator, that
hook deep into Shell code and could be broken by next minor release.
GNOME Shell emits a warning when "url" is absent in metadata.json,
adding it costs nothing. Links to the GIT repository because I
found no better page to reference.
Replace the GTK+ based indicator from gnome-settings-daemon with
a native one. Allows to rotate the laptop monitor and to fast open
display preferences.
Depends on bug 621017.
A new extension, originally developed by Thomas Bouffon,
allows to use classic AltTab (window based instead of app based)
in GNOME Shell.
Tested with 2.91.5