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.
We need to disconnect the signals every time we destroy the
IMStatusChooserItem, that is, both at enable() and at disable().
(In particular, disconnecting at disable() doesn't matter much, since
those signals are emitted only very early after login - which is why
enabling in the middle of session worked before)
Some keyboard layouts (in particular, azerty / french) require
pressing shift to obtain numerals. Therefore we should not cancel
the switch when shift is pressed.
Also, we should accept indifferently left or right modifiers.
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.
gnome.org is temporarily forbidden in UUIDs, to avoid people copy-pasting
it around. For this reason, I setup a repo at github and modified
the UUID accordingly.
I still think that primary development will stay at gnome.org, although
I'll keep both updated.
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).
Prior to this fix, the variables 'enter_event' and 'leave_event' in the
handler for the 'changed' event for the
'/org/gnome/shell/extensions/dock/hide_effect' dconf key were
uninitialized. This made switching the hide effect at runtime throw an
error. By promoting these two variables to instance members and
assigning to them upon initialization, this problem should be fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=662389
The name property is supposed to be already a displayable string,
without any further work.
Also, that gettext call wouldn't have any effect, since we don't
have those strings in our catalogs.
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.
This is the stable release, so we support all of GNOME Shell
stable cycle without updates.
(As said earlier, dock and alternate-tab have issues, so they're
not marked 3.2 but just 3.2.0)
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