Branch gnome-shell-extensions to experimental

This commit is contained in:
Michael Biebl
2012-05-20 20:43:18 +00:00
9 changed files with 883 additions and 16 deletions
+23 -2
View File
@@ -1,11 +1,32 @@
gnome-shell-extensions (3.2.0-2) UNRELEASED; urgency=low
gnome-shell-extensions (3.2.3-1) unstable; urgency=low
[ Josselin Mouette ]
* gnome-shell-extensions.gsettings-override: enable the alternative
status menu by default. Closes: #648112.
* Use ${gnome:Version} to generate strict dependencies, its very
unlikely that extensions remain compatible after a major upgrade.
-- Josselin Mouette <joss@debian.org> Thu, 17 Nov 2011 01:35:06 +0100
[ Michael Biebl ]
* Upload to unstable.
[ Josselin Mouette ]
* 01_status-menu_disable_accounts.patch: new patch. Drop the unusable
advertisement for Google. It is already available in the control
center anyway.
[ Michael Biebl ]
* New upstream release.
* Drop patches which have been merged upstream:
- debian/patches/upstream/*
- debian/patches/fix-*
* Refresh 01_status-menu_disable_accounts.patch.
* Add 02-Revert-all-remove-all-GSettings-usage.patch: Use GSettings since we
install the extensions system-wide.
* Use dh-autoreconf to generate the build system.
* Add 03-Revert-Remove-all-references-to-localedir-from-metad.patch: Use
locales from system-wide location.
-- Michael Biebl <biebl@debian.org> Sat, 11 Feb 2012 23:28:53 +0100
gnome-shell-extensions (3.2.0-1) experimental; urgency=low
+5 -3
View File
@@ -10,14 +10,16 @@ Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.
Uploaders: Victor Seva <linuxmaniac@torreviejawireless.org>, Michael Biebl <biebl@debian.org>
Build-Depends: debhelper (>= 8.0.0),
cdbs,
dh-autoreconf,
gnome-common,
gnome-pkg-tools,
intltool,
libgnome-desktop-3-dev (>= 3.2.0),
libgtop2-dev (>= 2.28.3)
Standards-Version: 3.9.2
Homepage: http://live.gnome.org/GnomeShell/Extensions
Vcs-Svn: svn://anonscm.debian.org/svn/pkg-gnome/packages/experimental/gnome-shell-extensions
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/experimental/gnome-shell-extensions
Vcs-Svn: svn://anonscm.debian.org/svn/pkg-gnome/packages/unstable/gnome-shell-extensions
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/gnome-shell-extensions
Package: gnome-shell-extensions
Architecture: all
@@ -25,7 +27,7 @@ Depends: ${misc:Depends},
gnome-shell (>= ${gnome:Version}),
gnome-shell (<< ${gnome:NextVersion}),
gir1.2-gtop-2.0
Description: Extensions to extend functionality of GNOME Shell (common files)
Description: Extensions to extend functionality of GNOME Shell
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications,
accessing documents, and organizing open windows in GNOME. Later, it
+5 -3
View File
@@ -5,14 +5,16 @@ Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.
Uploaders: Victor Seva <linuxmaniac@torreviejawireless.org>, @GNOME_TEAM@
Build-Depends: debhelper (>= 8.0.0),
cdbs,
dh-autoreconf,
gnome-common,
gnome-pkg-tools,
intltool,
libgnome-desktop-3-dev (>= 3.2.0),
libgtop2-dev (>= 2.28.3)
Standards-Version: 3.9.2
Homepage: http://live.gnome.org/GnomeShell/Extensions
Vcs-Svn: svn://anonscm.debian.org/svn/pkg-gnome/packages/experimental/gnome-shell-extensions
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/experimental/gnome-shell-extensions
Vcs-Svn: svn://anonscm.debian.org/svn/pkg-gnome/packages/unstable/gnome-shell-extensions
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/gnome-shell-extensions
Package: gnome-shell-extensions
Architecture: all
@@ -20,7 +22,7 @@ Depends: ${misc:Depends},
gnome-shell (>= ${gnome:Version}),
gnome-shell (<< ${gnome:NextVersion}),
gir1.2-gtop-2.0
Description: Extensions to extend functionality of GNOME Shell (common files)
Description: Extensions to extend functionality of GNOME Shell
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications,
accessing documents, and organizing open windows in GNOME. Later, it
+1 -1
View File
@@ -1,2 +1,2 @@
[org.gnome.shell]
enabled-extensions=['alternative-status-menu@gnome-shell-extensions.gnome.org']
enabled-extensions=['alternative-status-menu@gnome-shell-extensions.gcampax.github.com']
+15
View File
@@ -0,0 +1,15 @@
Index: gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js
===================================================================
--- gnome-shell-extensions-3.2.3.orig/extensions/alternative-status-menu/extension.js 2011-12-16 22:11:51.000000000 +0100
+++ gnome-shell-extensions-3.2.3/extensions/alternative-status-menu/extension.js 2012-02-11 22:47:20.650757433 +0100
@@ -50,10 +50,6 @@
item = new PopupMenu.PopupSeparatorMenuItem();
this.menu.addMenuItem(item);
- item = new PopupMenu.PopupMenuItem(_("Online Accounts"));
- item.connect('activate', Lang.bind(this, this._onOnlineAccountsActivate));
- this.menu.addMenuItem(item);
-
item = new PopupMenu.PopupMenuItem(_("System Settings"));
item.connect('activate', Lang.bind(this, this._onPreferencesActivate));
this.menu.addMenuItem(item);
@@ -0,0 +1,526 @@
From cd9d86ce3938465b4c9f08ae20e351906cdaf44c Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Sat, 11 Feb 2012 22:51:28 +0100
Subject: [PATCH] Revert "all: remove all GSettings usage"
This reverts commit 374abed8a13f81d514bcccc2ed4b4f18e7d8d058.
---
extensions/alternate-tab/Makefile.am | 11 ++
extensions/alternate-tab/extension.js | 21 +++--
...e.shell.extensions.alternate-tab.gschema.xml.in | 18 ++++
extensions/auto-move-windows/Makefile.am | 11 ++
extensions/auto-move-windows/extension.js | 10 +-
...ell.extensions.auto-move-windows.gschema.xml.in | 10 ++
extensions/dock/Makefile.am | 11 ++
extensions/dock/extension.js | 101 +++++++++++++++++---
.../org.gnome.shell.extensions.dock.gschema.xml.in | 38 ++++++++
extensions/native-window-placement/Makefile.am | 11 ++
extensions/native-window-placement/extension.js | 25 +++--
...tensions.native-window-placement.gschema.xml.in | 26 +++++
po/POTFILES.in | 4 +
13 files changed, 259 insertions(+), 38 deletions(-)
create mode 100644 extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
create mode 100644 extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
create mode 100644 extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
create mode 100644 extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
diff --git a/extensions/alternate-tab/Makefile.am b/extensions/alternate-tab/Makefile.am
index b8fde76..bade7cd 100644
--- a/extensions/alternate-tab/Makefile.am
+++ b/extensions/alternate-tab/Makefile.am
@@ -1,3 +1,14 @@
EXTENSION_ID = alternate-tab
include ../../extension.mk
+
+gschemas_in = $(gschemabase).alternate-tab.gschema.xml.in
+
+@INTLTOOL_XML_NOMERGE_RULE@
+
+gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+
+@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 ce65bf5..a53b396 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
-// 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 SETTINGS_SCHEMA = 'org.gnome.shell.extensions.alternate-tab';
+const SETTINGS_BEHAVIOUR_KEY = 'behaviour';
+const SETTINGS_FIRST_TIME_KEY = 'first-time';
const MODES = {
all_thumbnails: function(shellwm, binding, mask, window, backwards) {
@@ -267,8 +267,6 @@ 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();
}
@@ -600,9 +598,16 @@ function init(metadata) {
}
function doAltTab(shellwm, binding, mask, window, backwards) {
- let behaviour = BEHAVIOUR;
- if(behaviour in MODES) {
- MODES[behaviour](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);
+ }
}
}
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
new file mode 100644
index 0000000..66861ad
--- /dev/null
+++ b/extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
@@ -0,0 +1,18 @@
+<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 a0bca70..be6e7bc 100644
--- a/extensions/auto-move-windows/Makefile.am
+++ b/extensions/auto-move-windows/Makefile.am
@@ -1,3 +1,14 @@
EXTENSION_ID = auto-move-windows
include ../../extension.mk
+
+gschemas_in = $(gschemabase).auto-move-windows.gschema.xml.in
+
+@INTLTOOL_XML_NOMERGE_RULE@
+
+gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+
+@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 b08b0e3..fe5d7f9 100644
--- a/extensions/auto-move-windows/extension.js
+++ b/extensions/auto-move-windows/extension.js
@@ -11,9 +11,8 @@ const St = imports.gi.St;
const Main = imports.ui.main;
-// list of applications and workspace pairs
-// format: "desktop-file-id.desktop:<num>"
-const APPLICATIONS = [ ];
+const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.auto-move-windows';
+const SETTINGS_KEY = 'application-list';
function WindowMover() {
this._init();
@@ -21,6 +20,7 @@ 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 = APPLICATIONS;
+ let spaces = this._settings.get_strv(SETTINGS_KEY);
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
new file mode 100644
index 0000000..59753dc
--- /dev/null
+++ b/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
@@ -0,0 +1,10 @@
+<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 2531858..827f81c 100644
--- a/extensions/dock/Makefile.am
+++ b/extensions/dock/Makefile.am
@@ -1,3 +1,14 @@
EXTENSION_ID = dock
include ../../extension.mk
+
+gschemas_in = $(gschemabase).dock.gschema.xml.in
+
+@INTLTOOL_XML_NOMERGE_RULE@
+
+gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+
+@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 d851bb8..cc53827 100644
--- a/extensions/dock/extension.js
+++ b/extensions/dock/extension.js
@@ -25,6 +25,15 @@ 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;
@@ -40,15 +49,6 @@ 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,11 +340,15 @@ Dock.prototype = {
this._favorites = [];
// Load Settings
- position = DOCK_POSITION;
- dockicon_size = DOCK_SIZE;
- hideDock = hideable = DOCK_AUTOHIDE;
- hideEffect = DOCK_EFFECTHIDE;
- autohide_animation_time = DOCK_AUTOHIDE_ANIMATION_TIME;
+ 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);
+
this._spacing = 4;
this._item_size = dockicon_size;
@@ -378,6 +382,72 @@ 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));
@@ -413,13 +483,14 @@ Dock.prototype = {
this.actor.destroy();
// Break reference cycles
+ this._settings = null;
this._appSystem = null;
this._tracker = null;
},
// fuctions hide
_restoreHideDock: function(){
- hideable = DOCK_AUTOHIDE;
+ hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
},
_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
new file mode 100644
index 0000000..351c9a7
--- /dev/null
+++ b/extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
@@ -0,0 +1,38 @@
+<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 c53a614..0d6c4bc 100644
--- a/extensions/native-window-placement/Makefile.am
+++ b/extensions/native-window-placement/Makefile.am
@@ -1,3 +1,14 @@
EXTENSION_ID = native-window-placement
include ../../extension.mk
+
+gschemas_in = $(gschemabase).native-window-placement.gschema.xml.in
+
+@INTLTOOL_XML_NOMERGE_RULE@
+
+gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml)
+
+@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 7031ce9..67bc34f 100644
--- a/extensions/native-window-placement/extension.js
+++ b/extensions/native-window-placement/extension.js
@@ -25,12 +25,6 @@ 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
@@ -123,8 +117,19 @@ function resetState() {
function enable() {
resetState();
- let placementStrategy = PLACEMENT_STRATEGY;
- let useMoreScreen = USE_MORE_SCREEN;
+ 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 });
/**
* _calculateWindowTransformationsNatural:
@@ -410,7 +415,7 @@ function enable() {
}
/// position window titles on top of windows in overlay ////
- if (WINDOW_CAPTIONS_ON_TOP) {
+ if (settings.get_boolean('window-captions-on-top')) {
winInjections['_init'] = Workspace.WindowOverlay.prototype._init;
Workspace.WindowOverlay.prototype._init = function(windowClone, parentActor) {
let metaWindow = windowClone.metaWindow;
@@ -524,4 +529,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
new file mode 100644
index 0000000..873bfd7
--- /dev/null
+++ b/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
@@ -0,0 +1,26 @@
+<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 b82572e..d1be54b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,9 +1,13 @@
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
--
1.7.9
@@ -0,0 +1,302 @@
From 87b039cc3ee850fb82fbcc4a1a0dadde3db9c0be Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Sat, 11 Feb 2012 23:21:30 +0100
Subject: [PATCH] Revert "Remove all references to localedir from
metadata.json"
This reverts commit c4b40926bd62c4561bdf07ea0f2144494e0f4917.
Conflicts:
extensions/dock/extension.js
---
extension.mk | 3 ++-
extensions/alternate-tab/extension.js | 2 +-
extensions/alternate-tab/metadata.json.in | 1 +
extensions/alternative-status-menu/extension.js | 3 +--
.../alternative-status-menu/metadata.json.in | 1 +
extensions/apps-menu/metadata.json.in | 1 +
extensions/auto-move-windows/metadata.json.in | 1 +
extensions/dock/metadata.json.in | 1 +
extensions/drive-menu/extension.js | 2 +-
extensions/drive-menu/metadata.json.in | 1 +
extensions/example/extension.js | 2 +-
extensions/example/metadata.json.in | 1 +
extensions/gajim/metadata.json.in | 1 +
.../native-window-placement/metadata.json.in | 1 +
extensions/places-menu/extension.js | 2 +-
extensions/places-menu/metadata.json.in | 1 +
extensions/systemMonitor/metadata.json.in | 1 +
extensions/windowsNavigator/metadata.json.in | 1 +
extensions/workspace-indicator/metadata.json.in | 1 +
extensions/xrandr-indicator/extension.js | 4 ++--
extensions/xrandr-indicator/metadata.json.in | 1 +
21 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/extension.mk b/extension.mk
index 220f00c..b16f64f 100644
--- a/extension.mk
+++ b/extension.mk
@@ -6,7 +6,8 @@ nodist_extension_DATA = metadata.json $(EXTRA_EXTENSION)
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 --git a/extensions/alternate-tab/extension.js b/extensions/alternate-tab/extension.js
index a53b396..3f35d21 100644
--- a/extensions/alternate-tab/extension.js
+++ b/extensions/alternate-tab/extension.js
@@ -594,7 +594,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 --git a/extensions/alternate-tab/metadata.json.in b/extensions/alternate-tab/metadata.json.in
index d13c1b8..8aa86e3 100644
--- a/extensions/alternate-tab/metadata.json.in
+++ b/extensions/alternate-tab/metadata.json.in
@@ -4,5 +4,6 @@
"description": "A replacement for Alt-Tab, allows to cycle between windows and does not group by application",
"original-authors": [ "jw@bargsten.org", "thomas.bouffon@gmail.com" ],
"shell-version": [ "@shell_current@", "3.2" ],
+"localedir": "@LOCALEDIR@",
"url": "@url@"
}
diff --git a/extensions/alternative-status-menu/extension.js b/extensions/alternative-status-menu/extension.js
index 08c2f9e..d13df0f 100644
--- a/extensions/alternative-status-menu/extension.js
+++ b/extensions/alternative-status-menu/extension.js
@@ -1,5 +1,4 @@
/* -*- mode: js2 - indent-tabs-mode: nil - js2-basic-offset: 4 -*- */
-const GLib = imports.gi.GLib;
const Lang = imports.lang;
const St = imports.gi.St;
@@ -100,7 +99,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 --git a/extensions/alternative-status-menu/metadata.json.in b/extensions/alternative-status-menu/metadata.json.in
index dc3fd7b..91bb82f 100644
--- a/extensions/alternative-status-menu/metadata.json.in
+++ b/extensions/alternative-status-menu/metadata.json.in
@@ -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 --git a/extensions/apps-menu/metadata.json.in b/extensions/apps-menu/metadata.json.in
index 9f40989..550bb81 100644
--- a/extensions/apps-menu/metadata.json.in
+++ b/extensions/apps-menu/metadata.json.in
@@ -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 --git a/extensions/auto-move-windows/metadata.json.in b/extensions/auto-move-windows/metadata.json.in
index cf9b433..c8aa632 100644
--- a/extensions/auto-move-windows/metadata.json.in
+++ b/extensions/auto-move-windows/metadata.json.in
@@ -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@gmail.com", "thomas.bouffon@gmail.com" ],
"url": "@url@"
}
diff --git a/extensions/dock/metadata.json.in b/extensions/dock/metadata.json.in
index d9dca6c..96237b4 100644
--- a/extensions/dock/metadata.json.in
+++ b/extensions/dock/metadata.json.in
@@ -4,5 +4,6 @@
"description": "A dock for the GNOME Shell -- displays favorite and running applications",
"original-author": "tclaesson@gmail.com",
"shell-version": [ "@shell_current@", "3.2" ],
+"localedir": "@LOCALEDIR@",
"url": "@url@"
}
diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js
index bcc44ec..20044ab 100644
--- a/extensions/drive-menu/extension.js
+++ b/extensions/drive-menu/extension.js
@@ -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 --git a/extensions/drive-menu/metadata.json.in b/extensions/drive-menu/metadata.json.in
index f5a834c..def7c84 100644
--- a/extensions/drive-menu/metadata.json.in
+++ b/extensions/drive-menu/metadata.json.in
@@ -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 --git a/extensions/example/extension.js b/extensions/example/extension.js
index 28274d4..1aec221 100644
--- a/extensions/example/extension.js
+++ b/extensions/example/extension.js
@@ -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 --git a/extensions/example/metadata.json.in b/extensions/example/metadata.json.in
index 89402dd..239ae01 100644
--- a/extensions/example/metadata.json.in
+++ b/extensions/example/metadata.json.in
@@ -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 --git a/extensions/gajim/metadata.json.in b/extensions/gajim/metadata.json.in
index d7aa644..d258ca4 100644
--- a/extensions/gajim/metadata.json.in
+++ b/extensions/gajim/metadata.json.in
@@ -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 --git a/extensions/native-window-placement/metadata.json.in b/extensions/native-window-placement/metadata.json.in
index 798fb0d..d6c7424 100644
--- a/extensions/native-window-placement/metadata.json.in
+++ b/extensions/native-window-placement/metadata.json.in
@@ -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@gmx.de" ]
}
diff --git a/extensions/places-menu/extension.js b/extensions/places-menu/extension.js
index a871a81..17bfe73 100644
--- a/extensions/places-menu/extension.js
+++ b/extensions/places-menu/extension.js
@@ -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 --git a/extensions/places-menu/metadata.json.in b/extensions/places-menu/metadata.json.in
index 2e483c3..2ea7271 100644
--- a/extensions/places-menu/metadata.json.in
+++ b/extensions/places-menu/metadata.json.in
@@ -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 --git a/extensions/systemMonitor/metadata.json.in b/extensions/systemMonitor/metadata.json.in
index 569e9d8..2eb29cc 100644
--- a/extensions/systemMonitor/metadata.json.in
+++ b/extensions/systemMonitor/metadata.json.in
@@ -1,6 +1,7 @@
{
"shell-version": ["@shell_current@", "3.2" ],
"uuid": "@uuid@",
+ "localedir": "@LOCALEDIR@",
"original-author": "zaspire@rambler.ru",
"name": "SystemMonitor",
"description": "System Monitor",
diff --git a/extensions/windowsNavigator/metadata.json.in b/extensions/windowsNavigator/metadata.json.in
index 9dd84de..93bdb59 100644
--- a/extensions/windowsNavigator/metadata.json.in
+++ b/extensions/windowsNavigator/metadata.json.in
@@ -1,6 +1,7 @@
{
"shell-version": ["@shell_current@", "3.2" ],
"uuid": "@uuid@",
+ "localedir": "@LOCALEDIR@",
"original-author": "zaspire@rambler.ru",
"name": "windowNavigator",
"description": "Allow keyboard selection of windows and workspaces in overlay mode",
diff --git a/extensions/workspace-indicator/metadata.json.in b/extensions/workspace-indicator/metadata.json.in
index 851b55f..5a331fa 100644
--- a/extensions/workspace-indicator/metadata.json.in
+++ b/extensions/workspace-indicator/metadata.json.in
@@ -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@gmail.com" ],
"url": "@url@"
}
diff --git a/extensions/xrandr-indicator/extension.js b/extensions/xrandr-indicator/extension.js
index 2f846d0..979e549 100644
--- a/extensions/xrandr-indicator/extension.js
+++ b/extensions/xrandr-indicator/extension.js
@@ -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;
@@ -149,4 +149,4 @@ function enable() {
function disable() {
_indicator.destroy();
-}
+}
\ No newline at end of file
diff --git a/extensions/xrandr-indicator/metadata.json.in b/extensions/xrandr-indicator/metadata.json.in
index a1f8526..0da402d 100644
--- a/extensions/xrandr-indicator/metadata.json.in
+++ b/extensions/xrandr-indicator/metadata.json.in
@@ -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@"
}
--
1.7.9
+3 -7
View File
@@ -1,7 +1,3 @@
upstream/patch_967aee7aad2accfb38d91ab56b6c5e91d86a2722.diff
upstream/patch_66242aa76a5d59fb4659551575c1fbb42e50b8fb.diff
upstream/patch_4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7.diff
upstream/patch_2bba98d6214cffae2eb5cecb9d7c1f6b6d244052.diff
fix_dock_gnome-shell_version.diff
fix_alternate-tab_661281.diff
fix_alternate-tab_gnome-shell_version.diff
01_status-menu_disable_accounts.patch
02-Revert-all-remove-all-GSettings-usage.patch
03-Revert-Remove-all-references-to-localedir-from-metad.patch
+3
View File
@@ -1,6 +1,7 @@
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/class/gnome.mk
include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
@@ -11,4 +12,6 @@ EXTENSIONS_ENABLED="alternate-tab auto-move-windows workspace-indicator\
apps-menu drive-menu places-menu windowsNavigator systemMonitor"
EXTENSIONS_DISABLED="xrandr-indicator"
DEB_DH_AUTORECONF_ARGS := ./autogen.sh
DEB_CONFIGURE_EXTRA_FLAGS := --enable-extensions=$(EXTENSIONS_ENABLED)