From 629b781ed6bc497138476ff1409eb5c7ffb82c3b Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jul 28 2020 09:02:36 +0000 Subject: import gnome-shell-extensions-3.32.1-11.el8 --- diff --git a/SOURCES/0001-dashToDock-Handle-no-overview-case.patch b/SOURCES/0001-dashToDock-Handle-no-overview-case.patch new file mode 100644 index 0000000..e7a2cdc --- /dev/null +++ b/SOURCES/0001-dashToDock-Handle-no-overview-case.patch @@ -0,0 +1,208 @@ +From 3c62051c0a154ae987bb0126e8adb6cd86aa69a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Mon, 24 Feb 2020 16:17:05 +0100 +Subject: [PATCH] dashToDock: Handle no-overview case + +There is no longer an overview in GNOME Classic, so in order to be +used in that environment, the extension must deal with that case. +--- + extensions/dash-to-dock/docking.js | 122 ++++++++++++++++------------- + 1 file changed, 68 insertions(+), 54 deletions(-) + +diff --git a/extensions/dash-to-dock/docking.js b/extensions/dash-to-dock/docking.js +index d35094b..2b8353a 100644 +--- a/extensions/dash-to-dock/docking.js ++++ b/extensions/dash-to-dock/docking.js +@@ -233,7 +233,7 @@ var DockedDash = class DashToDock { + // Create a new dash object + this.dash = new MyDash.MyDash(this._settings, this._remoteModel, this._monitorIndex); + +- if (!this._settings.get_boolean('show-show-apps-button')) ++ if (Main.overview.isDummy || !this._settings.get_boolean('show-show-apps-button')) + this.dash.hideShowAppsButton(); + + // Create the main actor and the containers for sliding in and out and +@@ -272,45 +272,11 @@ var DockedDash = class DashToDock { + this.dash.actor.add_constraint(this.constrainSize); + + this._signalsHandler.add([ +- Main.overview, +- 'item-drag-begin', +- this._onDragStart.bind(this) +- ], [ +- Main.overview, +- 'item-drag-end', +- this._onDragEnd.bind(this) +- ], [ +- Main.overview, +- 'item-drag-cancelled', +- this._onDragEnd.bind(this) +- ], [ + // update when workarea changes, for instance if other extensions modify the struts + //(like moving th panel at the bottom) + global.display, + 'workareas-changed', + this._resetPosition.bind(this) +- ], [ +- Main.overview, +- 'showing', +- this._onOverviewShowing.bind(this) +- ], [ +- Main.overview, +- 'hiding', +- this._onOverviewHiding.bind(this) +- ], [ +- // Hide on appview +- Main.overview.viewSelector, +- 'page-changed', +- this._pageChanged.bind(this) +- ], [ +- Main.overview.viewSelector, +- 'page-empty', +- this._onPageEmpty.bind(this) +- ], [ +- // Ensure the ShowAppsButton status is kept in sync +- Main.overview.viewSelector._showAppsButton, +- 'notify::checked', +- this._syncShowAppsButtonToggled.bind(this) + ], [ + global.display, + 'in-fullscreen-changed', +@@ -325,15 +291,6 @@ var DockedDash = class DashToDock { + this.dash, + 'icon-size-changed', + () => { Main.overview.dashIconSize = this.dash.iconSize; } +- ], [ +- // This duplicate the similar signal which is in owerview.js. +- // Being connected and thus executed later this effectively +- // overwrite any attempt to use the size of the default dash +- //which given the customization is usually much smaller. +- // I can't easily disconnect the original signal +- Main.overview._controls.dash, +- 'icon-size-changed', +- () => { Main.overview.dashIconSize = this.dash.iconSize; } + ], [ + // sync hover after a popupmenu is closed + this.dash, +@@ -341,6 +298,53 @@ var DockedDash = class DashToDock { + () => { this._box.sync_hover() } + ]); + ++ if (!Main.overview.isDummy) { ++ this._signalsHandler.add([ ++ Main.overview, ++ 'item-drag-begin', ++ this._onDragStart.bind(this) ++ ], [ ++ Main.overview, ++ 'item-drag-end', ++ this._onDragEnd.bind(this) ++ ], [ ++ Main.overview, ++ 'item-drag-cancelled', ++ this._onDragEnd.bind(this) ++ ], [ ++ Main.overview, ++ 'showing', ++ this._onOverviewShowing.bind(this) ++ ], [ ++ Main.overview, ++ 'hiding', ++ this._onOverviewHiding.bind(this) ++ ], [ ++ // Hide on appview ++ Main.overview.viewSelector, ++ 'page-changed', ++ this._pageChanged.bind(this) ++ ], [ ++ Main.overview.viewSelector, ++ 'page-empty', ++ this._onPageEmpty.bind(this) ++ ], [ ++ // Ensure the ShowAppsButton status is kept in sync ++ Main.overview.viewSelector._showAppsButton, ++ 'notify::checked', ++ this._syncShowAppsButtonToggled.bind(this) ++ ], [ ++ // This duplicate the similar signal which is in owerview.js. ++ // Being connected and thus executed later this effectively ++ // overwrite any attempt to use the size of the default dash ++ //which given the customization is usually much smaller. ++ // I can't easily disconnect the original signal ++ Main.overview._controls.dash, ++ 'icon-size-changed', ++ () => { Main.overview.dashIconSize = this.dash.iconSize; } ++ ]); ++ } ++ + this._injectionsHandler = new Utils.InjectionsHandler(); + this._themeManager = new Theming.ThemeManager(this._settings, this); + +@@ -370,14 +374,17 @@ var DockedDash = class DashToDock { + this._dashSpacer = new OverviewControls.DashSpacer(); + this._dashSpacer.setDashActor(this._box); + +- if (this._position == St.Side.LEFT) +- Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? -1 : 0); // insert on first +- else if (this._position == St.Side.RIGHT) +- Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? 0 : -1); // insert on last +- else if (this._position == St.Side.TOP) +- Main.overview._overview.insert_child_at_index(this._dashSpacer, 0); +- else if (this._position == St.Side.BOTTOM) +- Main.overview._overview.insert_child_at_index(this._dashSpacer, -1); ++ if (!Main.overview.isDummy) { ++ const { _controls, _overview } = Main.overview; ++ if (this._position == St.Side.LEFT) ++ _controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? -1 : 0); // insert on first ++ else if (this._position == St.Side.RIGHT) ++ _controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? 0 : -1); // insert on last ++ else if (this._position == St.Side.TOP) ++ _overview.insert_child_at_index(this._dashSpacer, 0); ++ else if (this._position == St.Side.BOTTOM) ++ _overview.insert_child_at_index(this._dashSpacer, -1); ++ } + + // Add dash container actor and the container to the Chrome. + this.actor.set_child(this._slider); +@@ -412,7 +419,7 @@ var DockedDash = class DashToDock { + + // Since Gnome 3.8 dragging an app without having opened the overview before cause the attemp to + //animate a null target since some variables are not initialized when the viewSelector is created +- if (Main.overview.viewSelector._activePage == null) ++ if (!Main.overview.isDummy && Main.overview.viewSelector._activePage == null) + Main.overview.viewSelector._activePage = Main.overview.viewSelector._workspacesPage; + + this._updateVisibilityMode(); +@@ -493,7 +500,8 @@ var DockedDash = class DashToDock { + this._settings, + 'changed::show-show-apps-button', + () => { +- if (this._settings.get_boolean('show-show-apps-button')) ++ if (!Main.overview.isDummy && ++ this._settings.get_boolean('show-show-apps-button')) + this.dash.showShowAppsButton(); + else + this.dash.hideShowAppsButton(); +@@ -1681,6 +1689,9 @@ var DockManager = class DashToDock_DockManager { + // set stored icon size to the new dash + Main.overview.dashIconSize = this._allDocks[0].dash.iconSize; + ++ if (Main.overview.isDummy) ++ return; ++ + // Hide usual Dash + Main.overview._controls.dash.actor.hide(); + +@@ -1707,6 +1718,9 @@ var DockManager = class DashToDock_DockManager { + } + + _restoreDash() { ++ if (Main.overview.isDummy) ++ return; ++ + Main.overview._controls.dash.actor.show(); + Main.overview._controls.dash.actor.set_width(-1); //reset default dash size + // This force the recalculation of the icon size +-- +2.25.0 + diff --git a/SOURCES/0001-window-list-Invalid-current-mode-selected-in-Prefere.patch b/SOURCES/0001-window-list-Invalid-current-mode-selected-in-Prefere.patch new file mode 100644 index 0000000..cf9d160 --- /dev/null +++ b/SOURCES/0001-window-list-Invalid-current-mode-selected-in-Prefere.patch @@ -0,0 +1,55 @@ +From b4eeaf7ea12fa7d9713e80371490d8060396b3cb Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Fri, 17 Apr 2020 09:21:42 +0200 +Subject: [PATCH] window-list: Invalid current mode selected in Preferences + +It seems that gtk+ resets the active radio whenever a new radio button +is added into the group, thus rather restore the current mode after +the group is fully populated. + +https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/119 +--- + extensions/window-list/prefs.js | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/extensions/window-list/prefs.js b/extensions/window-list/prefs.js +index 78792b5..17e9799 100644 +--- a/extensions/window-list/prefs.js ++++ b/extensions/window-list/prefs.js +@@ -50,6 +50,7 @@ class WindowListPrefsWidget extends Gtk.Grid { + }; + + let radio = null; ++ let currentRadio = null; + for (let i = 0; i < modes.length; i++) { + let mode = modes[i]; + let label = modeLabels[mode]; +@@ -59,18 +60,24 @@ class WindowListPrefsWidget extends Gtk.Grid { + } + + radio = new Gtk.RadioButton({ +- active: currentMode == mode, ++ active: !i, + label: label, + group: radio + }); + grid.add(radio); + ++ if (currentMode === mode) ++ currentRadio = radio; ++ + radio.connect('toggled', button => { + if (button.active) + this._settings.set_string('grouping-mode', mode); + }); + } + ++ if (currentRadio) ++ currentRadio.active = true; ++ + let check = new Gtk.CheckButton({ + label: _('Show on all monitors'), + margin_top: 6 +-- +2.26.2 + diff --git a/SPECS/gnome-shell-extensions.spec b/SPECS/gnome-shell-extensions.spec index 17b241d..aae545a 100644 --- a/SPECS/gnome-shell-extensions.spec +++ b/SPECS/gnome-shell-extensions.spec @@ -6,7 +6,7 @@ Name: gnome-shell-extensions Version: 3.32.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior Group: User Interface/Desktops @@ -34,6 +34,8 @@ Patch0005: resurrect-system-monitor.patch Patch0006: 0001-Include-top-icons-in-classic-session.patch Patch0007: more-classic-classic-mode.patch Patch0008: 0001-apps-menu-Add-missing-chain-up.patch +Patch0009: 0001-dashToDock-Handle-no-overview-case.patch +Patch0010: 0001-window-list-Invalid-current-mode-selected-in-Prefere.patch %description GNOME Shell Extensions is a collection of extensions providing additional and @@ -467,6 +469,12 @@ cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions %changelog +* Thu Apr 30 2020 Florian Müllner - 3.32.1-11 +- Adjust dash-to-dock for classic backports + Resolves: #1805929 +- Fix inconsistent state in window-list prefs dialog + Resolves: #1824362 + * Wed Jul 24 2019 Florian Müllner - 3.32.1-10 - Drop obsolete downstream style patch - Keep classic notification styling