Now it is possible to use GSettings to configure the placement
strategy (natural KDE-like or default grid) and whether to consolidate
the windows more tigthly, as well as the position of the window
captions.
This extension employs an algorithm (taken from KDE) for layouting
the thumbnails in the overview that more closely reflects the positions
and relative sizes of the actual windows, instead of using a fixed
grid.
xrandr-indicator makes the whole shell crash if the right gjs
features are missing, but instead of asking not to install it, we
can use gjs versioning.
Now if a required external package cannot be found, it doesn't fail
and instead prints a warning. This is to allow building with
--enable-extensions=all without the required libraries.
Also bump required libgtop version to the one with the typelib.
Now we enable by default only extensions that are unlikely to
conflict much with the shell experience (so no alternate-tab, no
auto-move-windows, etc.) and require no GSettings or external
packages.
If a theme cannot be found in the user directory, try in system
data dirs (XDG_DATA_DIRS, usually /usr/share and /usr/local/share)
Signed-off-by: Giovanni Campagna <gcampagna@src.gnome.org>
Previously null stylesheets were ignored, making it impossible to
reset the default. We still need to filter out invalid (non existing)
stylesheets, as no check is performed by shell code.
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.