Many people complained that they can't make hibernate visible. Given
that using gsettings with extensions is not easy (you need --schemadir etc.),
just flip the default, and tell people that don't want it to change it
(or just core shell)
Code was still refererring to the external screensaver instead of
activating the screenshield.
I feel like a genius for writing both modules and not noticing this
until after 3.6.0.
The panel changed the way it builds the buttons outside the system
status area.
- Update alternative-status-menu to the new way of accessing panel
contents.
- Update apps-menu to the new way of adding items to the panel.
- Move places-menu to the left now that it is possible without hacks.
Core shell changed the user menu so that Power Off is no longer at
the end, and it's no longer hidden by Alt. Update the extension
so that it blends nicely with the core behavior, while still exposing
Suspend/Hibernate/Power Off as separate menu items.
Desktop users rarely use suspend, and in general hibernate is
more trouble than it's worth to show at all times, so make their
visibility configurable in GSettings.
Supend defaults to true (since that's the GNOME 3 message anyway),
while hibernate is normally false. No UI is provided, since it's
unlikely that changing this is necessary.
Retrieve Convenience from the extension helper object (Me), and
pass no arguments to initTranslations and getSettings (since the
metadata has all that is required)
Add "gettext-domain", "extension-id" (containing the base part of the
UUID) and "gschemabase" (which, combined with "extension-id", gives
the GSettings schema) to metadata.json, autogenerated by the build
system.
Instead of destroying the whole menu and recreating it, find the
right position and just destroy/recreate the items we care about.
Based on a patch by Andrea Santilli <andreasantilli@gmx.com>
After enabling, the user menu was keeping a reference to a
destroyed actor, and then was updating it from signals. Updating
this (a StEntry) caused g_criticals because of a NULL ClutterText.
Instead we can null out the actor entirely, which will stop
the signal handler from doing any harm.
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.
Common code for retrieving translations and GSettings schemas has
been factored out into lib/convenience.js, which is part of
every extension installation.
Since that code relies on renames done at zip file creation time,
extensions can no longer be installed with "make install". Instead,
one should create the zip file and install it with the tweak-tool.
There is also a bash script, local-install.sh, that will install
everything in zip-files.
Also, since the GSettingsSchemaSource code is not yet in a stable
GLib release, extensions using GSettings have seen their stable
shell version removed.
gnome-shell has been ported to GDBus, and this changed some of
its internal API.
Of course, this means that alternative-status-menu no longer works
with 3.2.0.
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
In current GNOME Shell master, there are some more things that
we need to update on enable/disable. Also, the Do Not Disturb
item was changed to Notifications, and the meaning flipped.
The hook to access the status menu was changed in panel.js. Also
replace the alternating menu item with two separate menu items (which
side-steps bug 643631) and use own translations instead of those
provided by gnome-shell (so Hibernate is translated)
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.
For those who just cannot understand the design behind current
status menu, and want a power off item visible at all the time.
Adds the ability to hibernate as well.