[gnome-shell-extensions/f16] - Update to 3.2.3 - Remove workaround to fix alternative-status-menu extension crash when login - Re
Mohamed ElMorabity
melmorabity at fedoraproject.org
Sun Dec 18 16:22:08 UTC 2011
commit 7b133157f0734dd7be5a6d6f280ba0e206b83698
Author: Mohamed El Morabity <melmorabity at fedoraproject.org>
Date: Sun Dec 18 17:20:52 2011 +0100
- Update to 3.2.3
- Remove workaround to fix alternative-status-menu extension crash when login
- Re-enable all references to localedir in metadata.json files (reverted from
commit c4b4092)
- Re-enable GSettings settings removed since 3.2.3 release
.gitignore | 1 +
...ons-3.2.1-fix_alternative_status_menu_3.2.patch | 29 --
...-shell-extensions-3.2.3-disable_GSettings.patch | 511 ++++++++++++++++++++
...shell-extensions-3.2.3-reenable_localedir.patch | 240 +++++++++
gnome-shell-extensions.spec | 38 +-
sources | 2 +-
6 files changed, 778 insertions(+), 43 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ae2bc38..b645357 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/gnome-shell-extensions-e102c0c6.tar.xz
/gnome-shell-extensions-3.2.0.tar.xz
/gnome-shell-extensions-3.2.1.tar.xz
+/gnome-shell-extensions-3.2.3.tar.xz
diff --git a/gnome-shell-extensions-3.2.3-disable_GSettings.patch b/gnome-shell-extensions-3.2.3-disable_GSettings.patch
new file mode 100644
index 0000000..6fb864e
--- /dev/null
+++ b/gnome-shell-extensions-3.2.3-disable_GSettings.patch
@@ -0,0 +1,511 @@
+From 374abed8a13f81d514bcccc2ed4b4f18e7d8d058 Mon Sep 17 00:00:00 2001
+From: Giovanni Campagna <gcampagna at src.gnome.org>
+Date: Fri, 16 Dec 2011 21:03:08 +0000
+Subject: all: remove all GSettings usage
+
+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.
+---
+diff --git a/extensions/alternate-tab/Makefile.am b/extensions/alternate-tab/Makefile.am
+index bade7cd..b8fde76 100644
+--- a/extensions/alternate-tab/Makefile.am
++++ b/extensions/alternate-tab/Makefile.am
+@@ -1,14 +1,3 @@
+ EXTENSION_ID = alternate-tab
+
+ include ../../extension.mk
+-
+-gschemas_in = $(gschemabase).alternate-tab.gschema.xml.in
+-
+- at INTLTOOL_XML_NOMERGE_RULE@
+-
+-gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+-
+- at GSETTINGS_RULES@
+-
+-CLEANFILES += $(gschemas_in:.xml.in=.valid) $(gsettings_SCHEMAS)
+-EXTRA_DIST += $(gschemas_in)
+diff --git a/extensions/alternate-tab/extension.js b/extensions/alternate-tab/extension.js
+index a53b396..ce65bf5 100644
+--- a/extensions/alternate-tab/extension.js
++++ b/extensions/alternate-tab/extension.js
+@@ -26,9 +26,9 @@ const N_ = function(e) { return e };
+
+ const POPUP_DELAY_TIMEOUT = 150; // milliseconds
+
+-const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.alternate-tab';
+-const SETTINGS_BEHAVIOUR_KEY = 'behaviour';
+-const SETTINGS_FIRST_TIME_KEY = 'first-time';
++// Settings: choose one of MODES, the description is in MESSAGE
++// (master branch has a nice dialog, but we cannot in gnome 3.2)
++const BEHAVIOUR = 'all_thumbnails';
+
+ const MODES = {
+ all_thumbnails: function(shellwm, binding, mask, window, backwards) {
+@@ -267,6 +267,8 @@ WindowSwitcher.prototype = {
+ }
+ };
+
++/* This object is never instantiated in the current branch, but
++ I don't trust git merge enough to remove it */
+ function AltTabSettingsDialog() {
+ this._init();
+ }
+@@ -598,16 +600,9 @@ function init(metadata) {
+ }
+
+ function doAltTab(shellwm, binding, mask, window, backwards) {
+- let settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
+-
+-
+- if(settings.get_boolean(SETTINGS_FIRST_TIME_KEY)) {
+- new AltTabSettingsDialog().open();
+- } else {
+- let behaviour = settings.get_string(SETTINGS_BEHAVIOUR_KEY);
+- if(behaviour in MODES) {
+- MODES[behaviour](shellwm, binding, mask, window, backwards);
+- }
++ let behaviour = BEHAVIOUR;
++ if(behaviour in MODES) {
++ MODES[behaviour](shellwm, binding, mask, window, backwards);
+ }
+ }
+
+diff --git a/extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in b/extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
+deleted file mode 100644
+index 66861ad..0000000
+--- a/extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
++++ b/dev/null
+@@ -1,18 +0,0 @@
+-<schemalist gettext-domain="gnome-shell-extensions">
+- <enum id="org.gnome.shell.extensions.alternate-tab.BehaviourMode">
+- <value value="1" nick="all_thumbnails"/>
+- <value value="2" nick="workspace_icons"/>
+- </enum>
+- <schema id="org.gnome.shell.extensions.alternate-tab" path="/org/gnome/shell/extensions/alternate-tab/">
+- <key name="behaviour" enum="org.gnome.shell.extensions.alternate-tab.BehaviourMode">
+- <default>'all_thumbnails'</default>
+- <_summary>The alt tab behaviour.</_summary>
+- <_description>Sets the Alt-Tab behaviour. Possible values are: native, all_thumbnails and workspace_icons.</_description>
+- </key>
+- <key type="b" name="first-time">
+- <default>true</default>
+- <_summary>Indicates if Alternate Tab is newly installed</_summary>
+- <_description>Ask the user for a default behaviour if true.</_description>
+- </key>
+- </schema>
+-</schemalist>
+diff --git a/extensions/auto-move-windows/Makefile.am b/extensions/auto-move-windows/Makefile.am
+index be6e7bc..a0bca70 100644
+--- a/extensions/auto-move-windows/Makefile.am
++++ b/extensions/auto-move-windows/Makefile.am
+@@ -1,14 +1,3 @@
+ EXTENSION_ID = auto-move-windows
+
+ include ../../extension.mk
+-
+-gschemas_in = $(gschemabase).auto-move-windows.gschema.xml.in
+-
+- at INTLTOOL_XML_NOMERGE_RULE@
+-
+-gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+-
+- at GSETTINGS_RULES@
+-
+-CLEANFILES += $(gschemas_in:.xml.in=.valid) $(gsettings_SCHEMAS)
+-EXTRA_DIST += $(gschemas_in)
+diff --git a/extensions/auto-move-windows/extension.js b/extensions/auto-move-windows/extension.js
+index fe5d7f9..b08b0e3 100644
+--- a/extensions/auto-move-windows/extension.js
++++ b/extensions/auto-move-windows/extension.js
+@@ -11,8 +11,9 @@ const St = imports.gi.St;
+
+ const Main = imports.ui.main;
+
+-const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.auto-move-windows';
+-const SETTINGS_KEY = 'application-list';
++// list of applications and workspace pairs
++// format: "desktop-file-id.desktop:<num>"
++const APPLICATIONS = [ ];
+
+ function WindowMover() {
+ this._init();
+@@ -20,7 +21,6 @@ function WindowMover() {
+
+ WindowMover.prototype = {
+ _init: function() {
+- this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
+ this._windowTracker = Shell.WindowTracker.get_default();
+
+ let display = global.screen.get_display();
+@@ -46,7 +46,7 @@ WindowMover.prototype = {
+ if (!this._windowTracker.is_window_interesting(window))
+ return;
+
+- let spaces = this._settings.get_strv(SETTINGS_KEY);
++ let spaces = APPLICATIONS;
+
+ let app = this._windowTracker.get_window_app(window);
+ if (!app) {
+@@ -159,4 +159,4 @@ function enable() {
+ function disable() {
+ Main._checkWorkspaces = prevCheckWorkspaces;
+ winMover.destroy();
+-}
+\ No newline at end of file
++}
+diff --git a/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in b/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
+deleted file mode 100644
+index 59753dc..0000000
+--- a/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
++++ b/dev/null
+@@ -1,10 +0,0 @@
+-<schemalist gettext-domain="gnome-shell-extensions">
+- <schema id="org.gnome.shell.extensions.auto-move-windows" path="/org/gnome/shell/extensions/auto-move-windows/">
+- <key name="application-list" type="as">
+- <!-- FIXME: should be a(su), when JS supports more of GVariant -->
+- <default>[ ]</default>
+- <_summary>Application and workspace list</_summary>
+- <_description>A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number</_description>
+- </key>
+- </schema>
+-</schemalist>
+diff --git a/extensions/dock/Makefile.am b/extensions/dock/Makefile.am
+index 827f81c..2531858 100644
+--- a/extensions/dock/Makefile.am
++++ b/extensions/dock/Makefile.am
+@@ -1,14 +1,3 @@
+ EXTENSION_ID = dock
+
+ include ../../extension.mk
+-
+-gschemas_in = $(gschemabase).dock.gschema.xml.in
+-
+- at INTLTOOL_XML_NOMERGE_RULE@
+-
+-gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+-
+- at GSETTINGS_RULES@
+-
+-CLEANFILES += $(gschemas_in:.xml.in=.valid) $(gsettings_SCHEMAS)
+-EXTRA_DIST += $(gschemas_in)
+diff --git a/extensions/dock/extension.js b/extensions/dock/extension.js
+index cc53827..d851bb8 100644
+--- a/extensions/dock/extension.js
++++ b/extensions/dock/extension.js
+@@ -25,15 +25,6 @@ const AltTab = imports.ui.altTab;
+ const Gettext = imports.gettext.domain('gnome-shell-extensions');
+ const _ = Gettext.gettext;
+
+-// Settings
+-const DOCK_SETTINGS_SCHEMA = 'org.gnome.shell.extensions.dock';
+-const DOCK_POSITION_KEY = 'position';
+-const DOCK_SIZE_KEY = 'size';
+-const DOCK_HIDE_KEY = 'autohide';
+-const DOCK_EFFECTHIDE_KEY = 'hide-effect';
+-const DOCK_AUTOHIDE_ANIMATION_TIME_KEY = 'hide-effect-duration';
+-
+-
+ //hide
+ //const autohide_animation_time = 0.3;
+
+@@ -49,6 +40,15 @@ const AutoHideEffect = {
+ MOVE: 2
+ };
+
++// Settings
++const DOCK_POSITION = PositionMode.RIGHT;
++const DOCK_SIZE = 48;
++const DOCK_AUTOHIDE = true;
++const DOCK_EFFECTHIDE = AutoHideEffect.MOVE;
++const DOCK_AUTOHIDE_ANIMATION_TIME = 0.3;
++// Do not change anything below this line (it is intentionally duplicate to keep in
++// sync with master branch)
++
+ let position = PositionMode.RIGHT;
+ let dockicon_size = 48;
+ let hideable = true;
+@@ -340,15 +340,11 @@ Dock.prototype = {
+ this._favorites = [];
+
+ // Load Settings
+- this._settings = new Gio.Settings({ schema: DOCK_SETTINGS_SCHEMA });
+- position = this._settings.get_enum(DOCK_POSITION_KEY);
+- dockicon_size = this._settings.get_int(DOCK_SIZE_KEY);
+- hideDock = hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
+- hideEffect = this._settings.get_enum(DOCK_EFFECTHIDE_KEY);
+- autohide_animation_time = this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY);
+- //global.log("POSITION: " + position);
+- //global.log("dockicon_size: " + dockicon_size);
+-
++ position = DOCK_POSITION;
++ dockicon_size = DOCK_SIZE;
++ hideDock = hideable = DOCK_AUTOHIDE;
++ hideEffect = DOCK_EFFECTHIDE;
++ autohide_animation_time = DOCK_AUTOHIDE_ANIMATION_TIME;
+
+ this._spacing = 4;
+ this._item_size = dockicon_size;
+@@ -382,72 +378,6 @@ Dock.prototype = {
+ }));
+ Main.layoutManager.addChrome(this.actor);
+
+- //hidden
+- this._settings.connect('changed::'+DOCK_POSITION_KEY, Lang.bind(this, function (){
+- if (!this._settings)
+- return;
+-
+- let primary = Main.layoutManager.primaryMonitor;
+- position = this._settings.get_enum(DOCK_POSITION_KEY);
+- this.actor.y=primary.y;
+- this._redisplay();
+- }));
+-
+- this._settings.connect('changed::'+DOCK_SIZE_KEY, Lang.bind(this, function (){
+- if (!this._settings)
+- return;
+-
+- dockicon_size = this._settings.get_int(DOCK_SIZE_KEY);
+- this._redisplay();
+- }));
+-
+- this._settings.connect('changed::'+DOCK_HIDE_KEY, Lang.bind(this, function (){
+- if (!this._settings)
+- return;
+-
+- hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
+- if (hideable){
+- hideDock=false;
+- this._hideDock();
+- } else {
+- hideDock=true;
+- this._showDock();
+- }
+- }));
+-
+- this._settings.connect('changed::'+DOCK_EFFECTHIDE_KEY, Lang.bind(this, function () {
+- if (!this._settings)
+- return;
+-
+- hideEffect = this._settings.get_enum(DOCK_EFFECTHIDE_KEY);
+-
+- switch (hideEffect) {
+- case AutoHideEffect.RESCALE:
+- this._item_size=dockicon_size;
+- break;
+- case AutoHideEffect.RESIZE:
+- this.actor.set_scale (1,1);
+- break;
+- case AutoHideEffect.MOVE:
+- ;
+- }
+- this.actor.disconnect(this._leave_event);
+- this.actor.disconnect(this._enter_event);
+-
+- this._selectFunctionsHide ();
+-
+- this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
+- this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
+- this._redisplay();
+- }));
+-
+- this._settings.connect('changed::'+DOCK_AUTOHIDE_ANIMATION_TIME_KEY, Lang.bind(this,function (){
+- if (!this._settings)
+- return;
+-
+- autohide_animation_time = this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY);
+- }));
+-
+ this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
+ this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
+
+@@ -483,14 +413,13 @@ Dock.prototype = {
+ this.actor.destroy();
+
+ // Break reference cycles
+- this._settings = null;
+ this._appSystem = null;
+ this._tracker = null;
+ },
+
+ // fuctions hide
+ _restoreHideDock: function(){
+- hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
++ hideable = DOCK_AUTOHIDE;
+ },
+
+ _disableHideDock: function (){
+diff --git a/extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in b/extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
+deleted file mode 100644
+index 351c9a7..0000000
+--- a/extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
++++ b/dev/null
+@@ -1,38 +0,0 @@
+-<schemalist gettext-domain="gnome-shell-extensions">
+- <enum id='org.gnome.shell.extensions.dock.PositionMode'>
+- <value nick='left' value='0'/>
+- <value nick='right' value='1'/>
+- </enum>
+- <enum id='org.gnome.shell.extensions.dock.AutoHideEffect'>
+- <value nick='resize' value='0'/>
+- <value nick='rescale' value='1'/>
+- <value nick='move' value='2'/>
+- </enum>
+-
+- <schema id="org.gnome.shell.extensions.dock" path="/org/gnome/shell/extensions/dock/">
+- <key name="position" enum="org.gnome.shell.extensions.dock.PositionMode">
+- <default>'right'</default>
+- <_summary>Position of the dock</_summary>
+- <_description>Sets the position of the dock in the screen. Allowed values are 'right' or 'left'</_description>
+- </key>
+- <key name="size" type="i">
+- <default>48</default>
+- <_summary>Icon size</_summary>
+- <_description>Sets icon size of the dock.</_description>
+- </key>
+- <key name="autohide" type="b">
+- <default>true</default>
+- <_summary>Enable/disable autohide</_summary>
+- </key>
+- <key name="hide-effect" enum="org.gnome.shell.extensions.dock.AutoHideEffect">
+- <default>'resize'</default>
+- <_summary>Autohide effect</_summary>
+- <_description>Sets the effect of the hide dock. Allowed values are 'resize' or 'rescale'</_description>
+- </key>
+- <key name="hide-effect-duration" type="d">
+- <default>0.3</default>
+- <_summary>Autohide duration</_summary>
+- <_description>Sets the time duration of the autohide effect.</_description>
+- </key>
+- </schema>
+-</schemalist>
+diff --git a/extensions/native-window-placement/Makefile.am b/extensions/native-window-placement/Makefile.am
+index 0d6c4bc..c53a614 100644
+--- a/extensions/native-window-placement/Makefile.am
++++ b/extensions/native-window-placement/Makefile.am
+@@ -1,14 +1,3 @@
+ EXTENSION_ID = native-window-placement
+
+ include ../../extension.mk
+-
+-gschemas_in = $(gschemabase).native-window-placement.gschema.xml.in
+-
+- at INTLTOOL_XML_NOMERGE_RULE@
+-
+-gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+-
+- at GSETTINGS_RULES@
+-
+-CLEANFILES += $(gschemas_in:.xml.in=.valid) $(gsettings_SCHEMAS)
+-EXTRA_DIST += $(gschemas_in)
+diff --git a/extensions/native-window-placement/extension.js b/extensions/native-window-placement/extension.js
+index 67bc34f..7031ce9 100644
+--- a/extensions/native-window-placement/extension.js
++++ b/extensions/native-window-placement/extension.js
+@@ -25,6 +25,12 @@ const WindowPlacementStrategy = {
+ GRID: 1,
+ };
+
++/* Begin user settings */
++const PLACEMENT_STRATEGY = WindowPlacementStrategy.NATURAL;
++const USE_MORE_SCREEN = true;
++const WINDOW_CAPTIONS_ON_TOP = true;
++/* End user settings - do not change anything below this line */
++
+ // testing settings for natural window placement strategy:
+ const WINDOW_PLACEMENT_NATURAL_FILLGAPS = true; // enlarge windows at the end to fill gaps // not implemented yet
+ const WINDOW_PLACEMENT_NATURAL_GRID_FALLBACK = true; // fallback to grid mode if all windows have the same size and positions. // not implemented yet
+@@ -117,19 +123,8 @@ function resetState() {
+ function enable() {
+ resetState();
+
+- let settings = new Gio.Settings({ schema: 'org.gnome.shell.extensions.native-window-placement' });
+- let placementStrategy = settings.get_enum('strategy');
+- let signalId = settings.connect('changed::strategy', function() {
+- placementStrategy = settings.get_enum('strategy');
+- // we don't update immediately, we wait for a relayout
+- // (and hope for the best)
+- });
+- connectedSignals.push({ obj: settings, id: signalId });
+- let useMoreScreen = settings.get_boolean('use-more-screen');
+- signalId = settings.connect('changed::use-more-screen', function() {
+- useMoreScreen = settings.get_boolean('use-more-screen');
+- });
+- connectedSignals.push({ obj: settings, id: signalId });
++ let placementStrategy = PLACEMENT_STRATEGY;
++ let useMoreScreen = USE_MORE_SCREEN;
+
+ /**
+ * _calculateWindowTransformationsNatural:
+@@ -415,7 +410,7 @@ function enable() {
+ }
+
+ /// position window titles on top of windows in overlay ////
+- if (settings.get_boolean('window-captions-on-top')) {
++ if (WINDOW_CAPTIONS_ON_TOP) {
+ winInjections['_init'] = Workspace.WindowOverlay.prototype._init;
+ Workspace.WindowOverlay.prototype._init = function(windowClone, parentActor) {
+ let metaWindow = windowClone.metaWindow;
+@@ -529,4 +524,4 @@ function disable() {
+
+ function init() {
+ /* do nothing */
+-}
+\ No newline at end of file
++}
+diff --git a/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in b/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
+deleted file mode 100644
+index 873bfd7..0000000
+--- a/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
++++ b/dev/null
+@@ -1,26 +0,0 @@
+-<schemalist gettext-domain="gnome-shell-extensions">
+- <enum id="org.gnome.shell.extensions.native-window-placement.strategy">
+- <value nick="natural" value="0" />
+- <value nick="grid" value="1" />
+- </enum>
+- <schema id="org.gnome.shell.extensions.native-window-placement" path="/org/gnome/shell/extensions/native-window-placement/">
+- <key name="strategy" enum="org.gnome.shell.extensions.native-window-placement.strategy">
+- <default>'natural'</default>
+- <_summary>Window placement strategy</_summary>
+- <_description>The algorithm used to layout thumbnails in the overview. 'grid' to use the default grid based algorithm,
+- 'natural' to use another one that reflects more the position and size of the actual window</_description>
+- </key>
+- <key name="use-more-screen" type="b">
+- <default>true</default>
+- <_summary>Use more screen for windows</_summary>
+- <_description>Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating
+- them further to reduce the bounding box. This setting applies only with the natural placement strategy.</_description>
+- </key>
+- <key name="window-captions-on-top" type="b">
+- <default>true</default>
+- <_summary>Place window captions on top</_summary>
+- <_description>If true, place window captions on top the respective thumbnail, overriding shell default of placing it at
+- the bottom. Changing this setting requires restarting the shell to have any effect.</_description>
+- </key>
+- </schema>
+-</schemalist>
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index d1be54b..b82572e 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,13 +1,9 @@
+ extensions/alternative-status-menu/extension.js
+ extensions/alternate-tab/extension.js
+-extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
+ extensions/auto-move-windows/extension.js
+-extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
+ extensions/dock/extension.js
+-extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
+ extensions/example/extension.js
+ extensions/gajim/extension.js
+-extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
+ extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in
+ extensions/windowsNavigator/extension.js
+ extensions/xrandr-indicator/extension.js
+--
+cgit v0.9.0.2
diff --git a/gnome-shell-extensions-3.2.3-reenable_localedir.patch b/gnome-shell-extensions-3.2.3-reenable_localedir.patch
new file mode 100644
index 0000000..1debeed
--- /dev/null
+++ b/gnome-shell-extensions-3.2.3-reenable_localedir.patch
@@ -0,0 +1,240 @@
+diff -up gnome-shell-extensions-3.2.3/extension.mk.orig gnome-shell-extensions-3.2.3/extension.mk
+--- gnome-shell-extensions-3.2.3/extension.mk.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extension.mk 2011-12-18 15:47:07.431906266 +0100
+@@ -6,7 +6,8 @@ nodist_extension_DATA = metadata.json $(
+ EXTRA_DIST = metadata.json.in
+
+ metadata.json: metadata.json.in $(top_builddir)/config.status
+- $(AM_V_GEN) sed -e "s|[@]uuid@|$(uuid)|" \
++ $(AM_V_GEN) sed -e "s|[@]LOCALEDIR@|$(datadir)/locale|"\
++ -e "s|[@]uuid@|$(uuid)|" \
+ -e "s|[@]shell_current@|$(PACKAGE_VERSION)|" \
+ -e "s|[@]url@|$(extensionurl)|" $< > $@
+
+diff -up gnome-shell-extensions-3.2.3/extensions/alternate-tab/extension.js.orig gnome-shell-extensions-3.2.3/extensions/alternate-tab/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/alternate-tab/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/alternate-tab/extension.js 2011-12-18 15:45:16.329584747 +0100
+@@ -596,7 +596,7 @@ WindowList.prototype = {
+ };
+
+ function init(metadata) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ function doAltTab(shellwm, binding, mask, window, backwards) {
+diff -up gnome-shell-extensions-3.2.3/extensions/alternate-tab/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/alternate-tab/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/alternate-tab/metadata.json.in.orig 2011-12-18 15:35:45.331644964 +0100
++++ gnome-shell-extensions-3.2.3/extensions/alternate-tab/metadata.json.in 2011-12-18 15:35:45.335644795 +0100
+@@ -4,5 +4,6 @@
+ "description": "A replacement for Alt-Tab, allows to cycle between windows and does not group by application",
+ "original-authors": [ "jw at bargsten.org", "thomas.bouffon at gmail.com" ],
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js.orig gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js 2011-12-18 15:45:16.353583736 +0100
+@@ -100,7 +100,7 @@ function createSubMenu() {
+
+ // Put your extension initialization code here
+ function init(metadata) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ function predestroy(statusMenu) {
+diff -up gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/metadata.json.in.orig 2011-12-18 15:35:45.345644374 +0100
++++ gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/metadata.json.in 2011-12-18 15:35:45.347644290 +0100
+@@ -3,5 +3,6 @@
+ "name": "Alternative Status Menu",
+ "description": "Replaces GNOME Shell Status Menu with one showing Suspend/Hibernate and Power Off as separate items",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/apps-menu/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/apps-menu/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/apps-menu/metadata.json.in.orig 2011-12-18 15:35:45.352644080 +0100
++++ gnome-shell-extensions-3.2.3/extensions/apps-menu/metadata.json.in 2011-12-18 15:35:45.355643953 +0100
+@@ -3,5 +3,6 @@
+ "name": "Applications Menu",
+ "description": "Add a gnome 2.x style menu for applications",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/auto-move-windows/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/auto-move-windows/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/auto-move-windows/metadata.json.in.orig 2011-12-18 15:35:45.360643742 +0100
++++ gnome-shell-extensions-3.2.3/extensions/auto-move-windows/metadata.json.in 2011-12-18 15:35:45.362643658 +0100
+@@ -3,6 +3,7 @@
+ "name": "Auto Move Windows",
+ "description": "Move applications to specific workspaces when they create windows",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "original-authors": [ "alessandro.crismani at gmail.com", "thomas.bouffon at gmail.com" ],
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/dock/extension.js.orig gnome-shell-extensions-3.2.3/extensions/dock/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/dock/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/dock/extension.js 2011-12-18 15:55:56.170641318 +0100
+@@ -864,7 +864,7 @@ DockIconMenu.prototype = {
+ }
+
+ function init(extensionMeta) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([extensionMeta.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', extensionMeta.localedir);
+ }
+
+ let dock;
+diff -up gnome-shell-extensions-3.2.3/extensions/dock/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/dock/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/dock/metadata.json.in.orig 2011-12-18 15:35:45.367643448 +0100
++++ gnome-shell-extensions-3.2.3/extensions/dock/metadata.json.in 2011-12-18 15:35:45.369643364 +0100
+@@ -4,5 +4,6 @@
+ "description": "A dock for the GNOME Shell -- displays favorite and running applications",
+ "original-author": "tclaesson at gmail.com",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/drive-menu/extension.js.orig gnome-shell-extensions-3.2.3/extensions/drive-menu/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/drive-menu/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/drive-menu/extension.js 2011-12-18 15:45:16.381582556 +0100
+@@ -92,7 +92,7 @@ DriveMenu.prototype = {
+
+ // Put your extension initialization code here
+ function init(metadata) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ let _indicator;
+diff -up gnome-shell-extensions-3.2.3/extensions/drive-menu/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/drive-menu/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/drive-menu/metadata.json.in.orig 2011-12-18 15:35:45.374643153 +0100
++++ gnome-shell-extensions-3.2.3/extensions/drive-menu/metadata.json.in 2011-12-18 15:35:45.376643067 +0100
+@@ -3,5 +3,6 @@
+ "name": "Removable Drive Menu",
+ "description": "A status menu for accessing and unmounting removable devices",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/example/extension.js.orig gnome-shell-extensions-3.2.3/extensions/example/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/example/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/example/extension.js 2011-12-18 15:45:16.393582052 +0100
+@@ -20,7 +20,7 @@ function _showHello() {
+ function init(metadata) {
+ log ('Example extension initalized');
+
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ let signalId;
+diff -up gnome-shell-extensions-3.2.3/extensions/example/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/example/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/example/metadata.json.in.orig 2011-12-18 15:35:45.381642858 +0100
++++ gnome-shell-extensions-3.2.3/extensions/example/metadata.json.in 2011-12-18 15:35:45.383642774 +0100
+@@ -3,5 +3,6 @@
+ "name": "Hello, World!",
+ "description": "An example extension to show how it works. Shows Hello, world when clicking on the top panel.",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/gajim/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/gajim/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/gajim/metadata.json.in.orig 2011-12-18 15:35:45.388642564 +0100
++++ gnome-shell-extensions-3.2.3/extensions/gajim/metadata.json.in 2011-12-18 15:35:45.390642480 +0100
+@@ -3,5 +3,6 @@
+ "name": "Gajim IM integration",
+ "description": "Display Gajim incoming chats as notifications in the Shell message tray.",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "http://base-art.net"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/native-window-placement/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/native-window-placement/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/native-window-placement/metadata.json.in.orig 2011-12-18 15:35:45.395642267 +0100
++++ gnome-shell-extensions-3.2.3/extensions/native-window-placement/metadata.json.in 2011-12-18 15:35:45.397642184 +0100
+@@ -3,6 +3,7 @@
+ "name": "Native Window Placement",
+ "description": "Arrange windows in overview in a more native way",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@",
+ "original-authors": [ "wepmaschda at gmx.de" ]
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/places-menu/extension.js.orig gnome-shell-extensions-3.2.3/extensions/places-menu/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/places-menu/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/places-menu/extension.js 2011-12-18 15:45:16.363583313 +0100
+@@ -114,7 +114,7 @@ PlacesMenu.prototype = {
+
+
+ function init(metadata) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ let _indicator;
+diff -up gnome-shell-extensions-3.2.3/extensions/places-menu/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/places-menu/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/places-menu/metadata.json.in.orig 2011-12-18 15:35:45.402641974 +0100
++++ gnome-shell-extensions-3.2.3/extensions/places-menu/metadata.json.in 2011-12-18 15:35:45.404641890 +0100
+@@ -3,5 +3,6 @@
+ "name": "Places Status Indicator",
+ "description": "Add a systems status menu for quickly navigating places in the system",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/systemMonitor/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/systemMonitor/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/systemMonitor/metadata.json.in.orig 2011-12-18 15:35:45.409641680 +0100
++++ gnome-shell-extensions-3.2.3/extensions/systemMonitor/metadata.json.in 2011-12-18 15:35:45.412641553 +0100
+@@ -1,5 +1,6 @@
+ {
+ "shell-version": ["@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "uuid": "@uuid@",
+ "original-author": "zaspire at rambler.ru",
+ "name": "SystemMonitor",
+diff -up gnome-shell-extensions-3.2.3/extensions/windowsNavigator/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/windowsNavigator/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/windowsNavigator/metadata.json.in.orig 2011-12-18 15:35:45.418641300 +0100
++++ gnome-shell-extensions-3.2.3/extensions/windowsNavigator/metadata.json.in 2011-12-18 15:35:45.420641216 +0100
+@@ -1,5 +1,6 @@
+ {
+ "shell-version": ["@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "uuid": "@uuid@",
+ "original-author": "zaspire at rambler.ru",
+ "name": "windowNavigator",
+diff -up gnome-shell-extensions-3.2.3/extensions/workspace-indicator/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/workspace-indicator/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/workspace-indicator/metadata.json.in.orig 2011-12-18 15:35:45.427640922 +0100
++++ gnome-shell-extensions-3.2.3/extensions/workspace-indicator/metadata.json.in 2011-12-18 15:35:45.429640838 +0100
+@@ -3,6 +3,7 @@
+ "name": "Workspace Indicator",
+ "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "original-authors": [ "erick.red at gmail.com" ],
+ "url": "@url@"
+ }
+diff -up gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/extension.js.orig gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/extension.js
+--- gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/extension.js.orig 2011-12-16 22:11:51.000000000 +0100
++++ gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/extension.js 2011-12-18 15:45:16.338584366 +0100
+@@ -137,7 +137,7 @@ Indicator.prototype = {
+
+
+ function init(metadata) {
+- imports.gettext.bindtextdomain('gnome-shell-extensions', GLib.build_filenamev([metadata.path, 'locale']));
++ imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
+ }
+
+ let _indicator;
+diff -up gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/metadata.json.in.orig gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/metadata.json.in
+--- gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/metadata.json.in.orig 2011-12-18 15:35:45.435640583 +0100
++++ gnome-shell-extensions-3.2.3/extensions/xrandr-indicator/metadata.json.in 2011-12-18 15:35:45.437640499 +0100
+@@ -3,5 +3,6 @@
+ "name": "Monitor Status Indicator",
+ "description": "Add a systems status menu for rotating monitors (overrides what is currently provided by gnome-settings-daemon)",
+ "shell-version": [ "@shell_current@", "3.2" ],
++"localedir": "@LOCALEDIR@",
+ "url": "@url@"
+ }
diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec
index d67be50..7d5d5b3 100644
--- a/gnome-shell-extensions.spec
+++ b/gnome-shell-extensions.spec
@@ -2,29 +2,32 @@
%global major_version 3.2
Name: gnome-shell-extensions
-Version: %{major_version}.1
+Version: %{major_version}.3
Release: 1%{?dist}
Summary: Modify and extend GNOME Shell functionality and behavior
Group: User Interface/Desktops
License: GPLv2+
URL: http://live.gnome.org/GnomeShell/Extensions
-# Using git archive since upstream hasn't released 3.2.1 yet
+# Using git archive since upstream won't publish anymore updated archives
# $ git clone git://git.gnome.org/gnome-shell-extensions/
# $ cd gnome-shell-extensions/
# $ git archive --format=tar --prefix=%{name}-%{version}/ %{version} | xz > ../%{name}-%{version}.tar.xz
Source0: %{name}-%{version}.tar.xz
-# Make alternative-status-menu extension with GNOME Shell 3.2.x (patch taken
-# from upstream's VCS); it includes also a workaround to avoid GNOME Shell crash
-# when enabled at login, due to a race condition, by waiting 10 seconds after
-# login before really enabling the extension
-Patch0: %{name}-3.2.1-fix_alternative_status_menu_3.2.patch
+# Re-enable all references to localedir in metadata.json files, to make
+# extensions handle again localization files in %{_datadir}/locale/ (reverted
+# from commit c4b4092)
+Patch0: %{name}-3.2.3-reenable_localedir.patch
+# The 3.2.3 version disables all GSettings settings in favor of JS constants
+# (except for the user-theme extension). The following patch will be *reverted*
+# to re-enable GSettings settings (taken from commit 374abed)
+Patch1: %{name}-3.2.3-disable_GSettings.patch
BuildRequires: glib2-devel
BuildRequires: gnome-common
BuildRequires: intltool
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(libgtop-2.0)
-Requires: gnome-shell >= %{major_version}.1
+Requires: gnome-shell >= %{major_version}
BuildArch: noarch
%description
@@ -53,7 +56,7 @@ Enabled extensions:
Summary: Files common to GNOME Shell Extensions
Group: User Interface/Desktops
License: GPLv2+
-Requires: gnome-shell >= 3.2.0
+Requires: gnome-shell >= %{major_version}
Provides: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-common < %{version}-%{release}
@@ -184,7 +187,7 @@ Summary: Monitor your system status
Group: User Interface/Desktops
License: GPLv2+
Requires: %{pkg_prefix}-common = %{version}-%{release}
-# should be pulled in by control-center, but in case someone tries for
+# Should be pulled in by control-center, but in case someone tries for
# a minimalist gnome-shell installation
Requires: libgtop2
@@ -244,12 +247,14 @@ This extension adds a systems status menu for rotating monitors
%prep
%setup -q
-%patch0 -p1 -b .fix_alternative_status_menu_3.2
+%patch0 -p1 -b .reenable_localedir
+# Patch reverted to *re-enable* GSettings settings
+%patch1 -p1 -R -b .enable_GSettings
%build
-# since we build from a git checkout
-[ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
+# Since we build from a Git checkout
+[ -x autogen.sh ] && NOCONFIGURE=1 ./autogen.sh --disable-schemas-compile
%configure --enable-extensions="alternate-tab alternative-status-menu apps-menu auto-move-windows dock drive-menu native-window-placement places-menu systemMonitor user-theme windowsNavigator workspace-indicator xrandr-indicator"
make %{?_smp_mflags}
@@ -380,6 +385,13 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%changelog
+* Sun Dec 18 2011 Mohamed El Morabity <melmorabity at fedoraproject.org> - 3.2.3-1
+- Update to 3.2.3
+- Remove workaround to fix alternative-status-menu extension crash when login
+- Re-enable all references to localedir in metadata.json files (reverted from
+ commit c4b4092)
+- Re-enable GSettings settings removed since 3.2.3 release
+
* Wed Nov 30 2011 Mohamed El Morabity <melmorabity at fedoraproject.org> - 3.2.1-1
- Update to 3.2.1
- Fix alternative-status-menu extension crash when login
diff --git a/sources b/sources
index d2fad9b..f87c68d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6cc87b75ddb901d861de65c96723cb54 gnome-shell-extensions-3.2.1.tar.xz
+6cf098459a8894c21d7946c0a49859bc gnome-shell-extensions-3.2.3.tar.xz
More information about the scm-commits
mailing list