8a04a843f6
GSettings since we install the extensions system-wide.
527 lines
21 KiB
Diff
527 lines
21 KiB
Diff
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
|
|
|