From 5ec6daa8e565ecb803955004dc9d5fb269f63a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 16 Jun 2025 23:34:07 +0200 Subject: [PATCH 1/7] Revert "window-list: Fix initial visibility" Since we no longer track fullscreen state in the overview, the workaround is no longer necessary. This reverts commit 6ee4205f1e60858b20a1f9492b34800265841a5c. Part-of: (cherry picked from commit a3ff3c79b20caa285670d50e998ca007ce04375a) --- extensions/window-list/extension.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index a768d735..7ceaff44 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -1035,9 +1035,6 @@ class WindowList extends St.Widget { }, this); global.display.connectObject('in-fullscreen-changed', () => { - // Work-around for initial change from unknown to !fullscreen - if (Main.overview.visible) - this.hide(); this._updateKeyboardAnchor(); }, this); From 0e317082270c4655f8f26a8956752cab15e723ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 16 Jun 2025 20:21:32 +0200 Subject: [PATCH 2/7] window-list: Only remove fullscreen tracking in overview Since commit 981e8e42e2, we untrack chrome in the overview to avoid fullscreen tracking interfering with hiding the window list in the overview. However this also means that we no longer contribute to the struts while in the overview, which can lead to unwanted window resizes around the transition. So instead of fully untracking the actor, retrack without fullscreen tracking. Part-of: (cherry picked from commit 0ad959de1eb4a707ba7b5e4c24864dbec6f398c9) --- extensions/window-list/extension.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index 7ceaff44..93fcc2b3 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -983,11 +983,20 @@ class WindowList extends St.Widget { () => this._onWorkspaceMenuSet(), this); this._onWorkspaceMenuSet(); - const chromeOptions = { + const inOverview = Main.overview.visible || + (Main.layoutManager._startingUp && Main.sessionMode.hasOverview); + + const overviewChromeOptions = { affectsStruts: true, + }; + const chromeOptions = { + ...overviewChromeOptions, trackFullscreen: true, }; - Main.layoutManager.addChrome(this, chromeOptions); + Main.layoutManager.addChrome(this, inOverview + ? overviewChromeOptions + : chromeOptions); + Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox); Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic'); @@ -1024,12 +1033,12 @@ class WindowList extends St.Widget { Main.overview.connectObject( 'showing', () => { - Main.layoutManager.untrackChrome(this); + this._retrackChrome(overviewChromeOptions); this.hide(); this._updateKeyboardAnchor(); }, 'hidden', () => { - Main.layoutManager.trackChrome(this, chromeOptions); + this._retrackChrome(chromeOptions); this.visible = !this._monitor.inFullscreen; this._updateKeyboardAnchor(); }, this); @@ -1100,6 +1109,11 @@ class WindowList extends St.Widget { this._monitor.y + this._monitor.height - this.height); } + _retrackChrome(options) { + Main.layoutManager.untrackChrome(this); + Main.layoutManager.trackChrome(this, options); + } + _updateWorkspaceIndicatorVisibility() { let workspaceManager = global.workspace_manager; let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || From 88c420f8f2ccdeeb48e2202b751ab2df70ffdf46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 17 Jun 2025 15:59:58 +0200 Subject: [PATCH 3/7] lint: Require dangling comma in multi-line imports This keeps the config in line with gjs, which added the option in gjs@f7d3b5d4c8. Part-of: (cherry picked from commit 301017904b74122e5d4f8181a2eda1dae0efad2e) --- lint/eslintrc-gjs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/lint/eslintrc-gjs.yml b/lint/eslintrc-gjs.yml index b1d73946..bb9ba38e 100644 --- a/lint/eslintrc-gjs.yml +++ b/lint/eslintrc-gjs.yml @@ -30,6 +30,7 @@ rules: - error - arrays: always-multiline objects: always-multiline + imports: always-multiline functions: never comma-spacing: - error From 752ed054fe4abd81e6cc30b6d703e35356d713a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 22 May 2025 16:31:57 +0200 Subject: [PATCH 4/7] workspace-indicator: Remove left-over variable Part-of: (cherry picked from commit 53ba3ce620a445bcb00454d5e772c68e5dd05c7b) --- extensions/workspace-indicator/workspaceIndicator.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index 0e92fd74..e8b0fdbd 100644 --- a/extensions/workspace-indicator/workspaceIndicator.js +++ b/extensions/workspace-indicator/workspaceIndicator.js @@ -459,8 +459,6 @@ export class WorkspaceIndicator extends PanelMenu.Button { this._thumbnails = new WorkspacePreviews(); container.add_child(this._thumbnails); - this._workspacesItems = []; - workspaceManager.connectObject( 'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER, this); From 5f68dd56457c6ef2b0ec9144ede467ef63465cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 19 Jun 2025 01:23:24 +0200 Subject: [PATCH 5/7] cleanup: Remove unused catch bindings Optional catch bindings have been supported for quite a while now, so we can treat unused error bindings in catch statements like any other unused variable. Part-of: (cherry picked from commit 3a76b9eec4291d42e1401054b91890036770a5d0) --- extensions/apps-menu/extension.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index c6084418..7258fe33 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -488,7 +488,7 @@ class ApplicationsButton extends PanelMenu.Button { let id; try { id = entry.get_desktop_file_id(); // catch non-UTF8 filenames - } catch (e) { + } catch { continue; } let app = appSys.lookup_app(id); From 00b30c1a47e0f54ac2f9d25b0f7b8fa7e5bf459f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 19 Jun 2025 01:25:00 +0200 Subject: [PATCH 6/7] cleanup: Remove unused eslint-disable directives The 'camelcase' rule only applies to variables and properties, not to function names are getter/setter. Part-of: (cherry picked from commit 9e11ec9940263e217d575454c92686f2065eeefd) --- extensions/window-list/extension.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index 93fcc2b3..b7354c34 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -432,12 +432,10 @@ class BaseButton extends DashItemContainer { return this._button.has_style_class_name('focused'); } - // eslint-disable-next-line camelcase get ignore_workspace() { return this._ignoreWorkspace; } - // eslint-disable-next-line camelcase set ignore_workspace(ignore) { if (this._ignoreWorkspace === ignore) return; From 2dd9ae80ca917f5380ac24de5e3c9f40f7624350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 29 Jun 2025 12:56:57 +0200 Subject: [PATCH 7/7] Bump version to 48.3 Update NEWS. --- NEWS | 7 +++++++ meson.build | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 3146e0cc..85866fcf 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,10 @@ +48.3 +==== +* Misc. bug fixes and cleanups [Florian; !409, !411, !405, !413] + +Contributors: + Florian Müllner + 48.2 ==== * windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395] diff --git a/meson.build b/meson.build index 3f5eadef..396239e5 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project( 'gnome-shell-extensions', - version: '48.2', + version: '48.3', meson_version: '>= 1.1.0', license: 'GPL-2.0-or-later', )