diff --git a/extensions/alternate-tab/Makefile.am b/extensions/alternate-tab/Makefile.am index bade7cd7..b8fde766 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 a53b396a..ce65bf50 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 66861ad0..00000000 --- a/extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - 'all_thumbnails' - <_summary>The alt tab behaviour. - <_description>Sets the Alt-Tab behaviour. Possible values are: native, all_thumbnails and workspace_icons. - - - true - <_summary>Indicates if Alternate Tab is newly installed - <_description>Ask the user for a default behaviour if true. - - - diff --git a/extensions/auto-move-windows/Makefile.am b/extensions/auto-move-windows/Makefile.am index be6e7bcc..a0bca704 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 fe5d7f97..b08b0e38 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:" +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 59753dc1..00000000 --- a/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in +++ /dev/null @@ -1,10 +0,0 @@ - - - - - [ ] - <_summary>Application and workspace list - <_description>A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number - - - diff --git a/extensions/dock/Makefile.am b/extensions/dock/Makefile.am index 827f81c9..25318582 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 cc538277..d851bb85 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 351c9a72..00000000 --- a/extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - 'right' - <_summary>Position of the dock - <_description>Sets the position of the dock in the screen. Allowed values are 'right' or 'left' - - - 48 - <_summary>Icon size - <_description>Sets icon size of the dock. - - - true - <_summary>Enable/disable autohide - - - 'resize' - <_summary>Autohide effect - <_description>Sets the effect of the hide dock. Allowed values are 'resize' or 'rescale' - - - 0.3 - <_summary>Autohide duration - <_description>Sets the time duration of the autohide effect. - - - diff --git a/extensions/native-window-placement/Makefile.am b/extensions/native-window-placement/Makefile.am index 0d6c4bc2..c53a6149 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 67bc34f1..7031ce97 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 873bfd7b..00000000 --- a/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - 'natural' - <_summary>Window placement strategy - <_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 - - - true - <_summary>Use more screen for windows - <_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. - - - true - <_summary>Place window captions on top - <_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. - - - diff --git a/po/POTFILES.in b/po/POTFILES.in index d1be54bb..b82572e4 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