[gnome-shell-extensions/gnome-3-2] all: remove all GSettings usage
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell-extensions/gnome-3-2] all: remove all GSettings usage
- Date: Fri, 16 Dec 2011 21:16:11 +0000 (UTC)
commit 374abed8a13f81d514bcccc2ed4b4f18e7d8d058
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Fri Dec 16 22:03:08 2011 +0100
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.
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, 38 insertions(+), 259 deletions(-)
---
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
-
- 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 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/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
-
- 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 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/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
-
- 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 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/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
-
- 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 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/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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]