diff --git a/SOURCES/0001-classification-banner-Handle-fullscreen-monitors.patch b/SOURCES/0001-classification-banner-Handle-fullscreen-monitors.patch new file mode 100644 index 0000000..e6f8315 --- /dev/null +++ b/SOURCES/0001-classification-banner-Handle-fullscreen-monitors.patch @@ -0,0 +1,68 @@ +From 3d32ab1848011a3a7af97255307b3541a7553b09 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 14 Dec 2022 16:55:51 +0100 +Subject: [PATCH] classification-banner: Handle fullscreen monitors + +When a monitor is in fullscreen, we don't want its classification +banner to be offset by an imaginary panel, but at the top of the +screen. +--- + extensions/classification-banner/extension.js | 22 +++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +diff --git a/extensions/classification-banner/extension.js b/extensions/classification-banner/extension.js +index 6c2fe007..1cf03b3f 100644 +--- a/extensions/classification-banner/extension.js ++++ b/extensions/classification-banner/extension.js +@@ -27,16 +27,19 @@ const Main = imports.ui.main; + const ClassificationBanner = GObject.registerClass( + class ClassificationBanner extends Clutter.Actor { + _init(index) { ++ const constraint = new Layout.MonitorConstraint({index}); + super._init({ + layout_manager: new Clutter.BinLayout(), +- constraints: new Layout.MonitorConstraint({ +- work_area: true, +- index, +- }), ++ constraints: constraint, + }); ++ this._monitorConstraint = constraint; + + this._settings = ExtensionUtils.getSettings(); + this.connect('destroy', () => { ++ if (this._fullscreenChangedId) ++ global.display.disconnect(this._fullscreenChangedId); ++ delete this._fullscreenChangedId; ++ + if (this._settings) + this._settings.run_dispose(); + this._settings = null; +@@ -95,6 +98,11 @@ class ClassificationBanner extends Clutter.Actor { + userLabel, 'visible', + Gio.SettingsBindFlags.GET); + ++ this._fullscreenChangedId = ++ global.display.connect('in-fullscreen-changed', ++ () => this._updateMonitorConstraint()); ++ this._updateMonitorConstraint(); ++ + this._settings.connect('changed::color', + () => this._updateStyles()); + this._settings.connect('changed::background-color', +@@ -111,6 +119,12 @@ class ClassificationBanner extends Clutter.Actor { + return `${key}: rgba(${red},${green},${blue},${alpha / 255});`; + } + ++ _updateMonitorConstraint() { ++ const {index} = this._monitorConstraint; ++ this._monitorConstraint.work_area = ++ !global.display.get_monitor_in_fullscreen(index); ++ } ++ + _updateStyles() { + const bgStyle = this._getColorSetting('background-color'); + const fgStyle = this._getColorSetting('color'); +-- +2.38.1 + diff --git a/SOURCES/0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch b/SOURCES/0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch new file mode 100644 index 0000000..8100011 --- /dev/null +++ b/SOURCES/0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch @@ -0,0 +1,51 @@ +From ce75829479b1e7bf99e74bf835174e91c8da2276 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 9 Dec 2022 15:31:08 +0100 +Subject: [PATCH] gesture-inhibitor: Allow inhibiting workspace switch gesture + +--- + extensions/gesture-inhibitor/extension.js | 5 ++++- + .../org.gnome.shell.extensions.gesture-inhibitor.gschema.xml | 4 ++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/extensions/gesture-inhibitor/extension.js b/extensions/gesture-inhibitor/extension.js +index e74ede2f..bf02d075 100644 +--- a/extensions/gesture-inhibitor/extension.js ++++ b/extensions/gesture-inhibitor/extension.js +@@ -37,6 +37,8 @@ class Extension { + this._showOverview = a; + else if (a instanceof WindowManager.AppSwitchAction) + this._appSwitch = a; ++ else if (a instanceof WindowManager.WorkspaceSwitchAction) ++ this._workspaceSwitch = a; + else if (a instanceof EdgeDragAction.EdgeDragAction && + a._side == St.Side.BOTTOM) + this._showOsk = a; +@@ -52,7 +54,8 @@ class Extension { + { setting: 'app-switch', action: this._appSwitch }, + { setting: 'show-osk', action: this._showOsk }, + { setting: 'unfullscreen', action: this._unfullscreen }, +- { setting: 'show-app-grid', action: this._showAppGrid } ++ { setting: 'show-app-grid', action: this._showAppGrid }, ++ { setting: 'workspace-switch', action: this._workspaceSwitch }, + ]; + } + +diff --git a/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml b/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml +index 1d67dcc0..a5e97a3d 100644 +--- a/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml ++++ b/extensions/gesture-inhibitor/org.gnome.shell.extensions.gesture-inhibitor.gschema.xml +@@ -16,6 +16,10 @@ + true + Application switch gesture + ++ ++ true ++ Workspace switch gesture ++ + + true + Unfullscreen gesture +-- +2.38.1 + diff --git a/SPECS/gnome-shell-extensions.spec b/SPECS/gnome-shell-extensions.spec index 4199258..a98aa40 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: 30%{?dist} +Release: 31%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior Group: User Interface/Desktops @@ -53,6 +53,8 @@ Patch0024: window-list-touch.patch Patch0025: 0001-auto-move-windows-Don-t-move-windows-already-on-all-.patch Patch0026: 0001-fileItem-Just-destroy-menus.patch Patch0027: 0001-fileItem-Support-.desktop-files-of-type-Link.patch +Patch0028: 0001-classification-banner-Handle-fullscreen-monitors.patch +Patch0029: 0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch %description GNOME Shell Extensions is a collection of extensions providing additional and @@ -551,6 +553,12 @@ cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions %changelog +* Wed Dec 14 2022 Florian Müllner - 3.32.1-31 +- Adjust classification banner position in fullscreen + Resolves: #2150107 +- Allow inhibiting workspace switch gesture + Resolves: #2138109 + * Fri Dec 09 2022 Florian Müllner - 3.32.1-30 - Fix stuck grab if disabled with open context menu Resolves: #2149670