diff --git a/gnome-shell-add-app-to-desktop.patch b/gnome-shell-add-app-to-desktop.patch index 147967e..b6ddb00 100644 --- a/gnome-shell-add-app-to-desktop.patch +++ b/gnome-shell-add-app-to-desktop.patch @@ -1,60 +1,55 @@ -Index: gnome-shell-extensions-43.rc/extensions/apps-menu/extension.js +Index: gnome-shell-extensions-47.2/extensions/apps-menu/extension.js =================================================================== ---- gnome-shell-extensions-43.rc.orig/extensions/apps-menu/extension.js -+++ gnome-shell-extensions-43.rc/extensions/apps-menu/extension.js -@@ -5,6 +5,8 @@ const { - Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St, - } = imports.gi; - const {EventEmitter} = imports.misc.signals; -+const BoxPointer = imports.ui.boxpointer; -+const AppFavorites = imports.ui.appFavorites; +--- gnome-shell-extensions-47.2.orig/extensions/apps-menu/extension.js ++++ gnome-shell-extensions-47.2/extensions/apps-menu/extension.js +@@ -23,6 +23,8 @@ import * as DND from 'resource:///org/gn + import * as Main from 'resource:///org/gnome/shell/ui/main.js'; + import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js'; + import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'; ++import * as AppFavorites from 'resource:///org/gnome/shell/ui/appFavorites.js'; ++import * as BoxPointer from 'resource:///org/gnome/shell/ui/boxpointer.js'; + + const appSys = Shell.AppSystem.get_default(); + +@@ -60,6 +62,9 @@ class ApplicationMenuItem extends PopupM + () => this._updateIcon(), this); + this._updateIcon(); - const DND = imports.ui.dnd; - const ExtensionUtils = imports.misc.extensionUtils; -@@ -48,8 +50,19 @@ class ApplicationMenuItem extends PopupM - let textureCache = St.TextureCache.get_default(); - let iconThemeChangedId = textureCache.connect('icon-theme-changed', - this._updateIcon.bind(this)); -+ -+ this.actor.connect('button-press-event', this._onButtonPress.bind(this)); -+ this.actor.connect('popup-menu', this._onKeyboardPopupMenu.bind(this)); + this._menu = null; + this._menuManager = new PopupMenu.PopupMenuManager(this); + - this.connect('destroy', () => { - textureCache.disconnect(iconThemeChangedId); -+ if (this._menu) { -+ this._menu.destroy(); -+ this._menu = null; -+ this._menuManager = null; -+ } - }); - this._updateIcon(); + this._delegate = this; + let draggable = DND.makeDraggable(this); -@@ -64,6 +77,107 @@ class ApplicationMenuItem extends PopupM - }; +@@ -72,6 +77,24 @@ class ApplicationMenuItem extends PopupM } -+ _onKeyboardPopupMenu() { -+ this.popupMenu(); -+ this._menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); -+ } -+ -+ _onButtonPress(actor, event) { + activate(event) { + // close any opened menu to avoid input focus grab + if (this._menu && this._menu.isOpen) { + this._menu.close(); -+ return Clutter.EVENT_STOP; ++ return; + } + + let button = event.get_button(); + if (button == 3) { + this.popupMenu(); -+ return Clutter.EVENT_STOP; ++ return; + } -+ return Clutter.EVENT_PROPAGATE -+ } + ++ let symbol = event.get_key_symbol(); ++ if (symbol === Clutter.KEY_space) { ++ this.popupMenu(); ++ return; ++ } ++ + this._app.open_new_window(-1); + this._button.selectCategory(null); + this._button.menu.toggle(); +@@ -80,6 +103,87 @@ class ApplicationMenuItem extends PopupM + Main.overview.hide(); + } + + popupMenu() { + if (!this._menu) { + this._menu = new PopupMenu.PopupMenu(this.actor, 0.0, St.Side.TOP, 0); @@ -125,7 +120,7 @@ Index: gnome-shell-extensions-43.rc/extensions/apps-menu/extension.js + this._button.menu.toggle(); + }); + -+ Main.uiGroup.add_actor(this._menu.actor); ++ Main.uiGroup.add_child(this._menu.actor); + + this._menuManager.addMenu(this._menu); + } @@ -136,6 +131,6 @@ Index: gnome-shell-extensions-43.rc/extensions/apps-menu/extension.js + return false; + } + - activate(event) { - this._app.open_new_window(-1); - this._button.selectCategory(null); + setActive(active, params) { + if (active) + this._button.scrollToButton(this); diff --git a/gnome-shell-extensions.changes b/gnome-shell-extensions.changes index 561909b..b62cacc 100644 --- a/gnome-shell-extensions.changes +++ b/gnome-shell-extensions.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Dec 19 06:02:21 UTC 2024 - Xiaoguang Wang + +- Update gnome-shell-add-app-to-desktop.patch: (bsc#1234648). + ------------------------------------------------------------------- Mon Nov 25 20:03:12 UTC 2024 - Bjørn Lie diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec index 373f7e8..b04abb4 100644 --- a/gnome-shell-extensions.spec +++ b/gnome-shell-extensions.spec @@ -114,9 +114,7 @@ This GNOME Shell extension displays system usage information in the top bar. %lang_package -n %{name}-common %prep -%autosetup -N -# Needs rebase -#patch1 -p1 +%autosetup -p1 # In openSUSE GNOME, we don't launch gnome-session directly, but wrap this through a shell script, /usr/bin/gnome sed -i "s:Exec=gnome-session:Exec=gnome:g" data/gnome-classic.desktop.in