diff --git a/NEWS b/NEWS index f034ba78..1a424f7e 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +48.0 +==== +* apps-menu: Fix scrolling items into view on keynav [Victor; !391] +* Misc. bug fixes and cleanups [Florian, Stuart; !390, !392] + +Contributors: + Stuart Hayhurst, Victor Kareh, Florian Müllner + 48.rc ===== * Misc. bug fixes and cleanups [Florian; !385, !388] diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index c9deecfa..c6084418 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -44,8 +44,9 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { this._app = app; this._button = button; - this._iconBin = new St.Bin(); - this.add_child(this._iconBin); + this._icon = this.getDragActor(); + this._icon.style_class = 'icon-dropshadow'; + this.add_child(this._icon); let appLabel = new St.Label({ text: app.get_name(), @@ -55,11 +56,6 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { this.add_child(appLabel); this.label_actor = appLabel; - let textureCache = St.TextureCache.get_default(); - textureCache.connectObject('icon-theme-changed', - () => this._updateIcon(), this); - this._updateIcon(); - this._delegate = this; let draggable = DND.makeDraggable(this); @@ -69,6 +65,8 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { return maybeStartDrag.call(draggable, event); return false; }; + + this.connect('notify::active', this._onActiveChanged.bind(this)); } activate(event) { @@ -80,10 +78,11 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { Main.overview.hide(); } - setActive(active, params) { - if (active) - this._button.scrollToButton(this); - super.setActive(active, params); + _onActiveChanged() { + if (!this.active) + return; + + this._button.scrollToButton(this); } setDragEnabled(enabled) { @@ -95,13 +94,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { } getDragActorSource() { - return this._iconBin; - } - - _updateIcon() { - let icon = this.getDragActor(); - icon.style_class = 'icon-dropshadow'; - this._iconBin.set_child(icon); + return this._icon; } } diff --git a/extensions/launch-new-instance/metadata.json.in b/extensions/launch-new-instance/metadata.json.in index 51300cb1..d799ec01 100644 --- a/extensions/launch-new-instance/metadata.json.in +++ b/extensions/launch-new-instance/metadata.json.in @@ -3,7 +3,7 @@ "uuid": "@uuid@", "settings-schema": "@gschemaname@", "gettext-domain": "@gettext_domain@", -"name": "Launch new instance", +"name": "Launch New Instance", "description": "Always launch a new instance when clicking in the dash or the application view.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "shell-version": [ "@shell_current@" ], "url": "@url@" diff --git a/extensions/windowsNavigator/metadata.json.in b/extensions/windowsNavigator/metadata.json.in index b4029d13..86d8c1ca 100644 --- a/extensions/windowsNavigator/metadata.json.in +++ b/extensions/windowsNavigator/metadata.json.in @@ -5,7 +5,7 @@ "settings-schema": "@gschemaname@", "gettext-domain": "@gettext_domain@", "original-author": "zaspire@rambler.ru", - "name": "windowNavigator", + "name": "Window Navigator", "description": "Allow keyboard selection of windows and workspaces in overlay mode. number selects a workspace, and number selects a window.", "url": "@url@" } diff --git a/meson.build b/meson.build index 56eaf9ad..19d9662a 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project( 'gnome-shell-extensions', - version: '48.rc', + version: '48.0', meson_version: '>= 1.1.0', license: 'GPL-2.0-or-later', )