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/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); diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index a768d735..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; @@ -983,11 +981,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,20 +1031,17 @@ 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); global.display.connectObject('in-fullscreen-changed', () => { - // Work-around for initial change from unknown to !fullscreen - if (Main.overview.visible) - this.hide(); this._updateKeyboardAnchor(); }, this); @@ -1103,6 +1107,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') || 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); 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 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', )