From: James Bunton Date: Wed, 29 Nov 2023 21:01:38 +0000 (+1100) Subject: gnome-shell 45 compatibility X-Git-Url: https://code.delx.au/show-app-menu-on-key-press/commitdiff_plain/5cd96eb89ca8fb22630843be524454881e4ca424 gnome-shell 45 compatibility --- diff --git a/PKGBUILD b/PKGBUILD index cc37d6c..eb7d16b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,12 +1,13 @@ # Maintainer: James Bunton pkgname=gnome-shell-extension-show-app-menu-on-key-press -pkgver=9 +pkgver=11 pkgrel=1 pkgdesc="Gnome shell extension to show app menu on key press" arch=('any') source=("extension.js" "metadata.json") -sha512sums=(SKIP SKIP) + + package() { for i in "${source[@]}"; do diff --git a/extension.js b/extension.js index 9fcc55d..34b7018 100644 --- a/extension.js +++ b/extension.js @@ -1,37 +1,37 @@ -const St = imports.gi.St; -const Main = imports.ui.main; +import St from 'gi://St'; +import * as Main from 'resource:///org/gnome/shell/ui/main.js'; -function init() { -} +export default class ShowAppMenuOnKeyPressExtension { -function enable() { - // show apps on startup - Main.layoutManager.connect('startup-complete', () => { - Main.overview._overview._controls._toggleAppsPage(); - }); + enable() { + // show apps on startup + Main.layoutManager.connect('startup-complete', () => { + Main.overview._overview._controls._toggleAppsPage(); + }); - // show apps on key press when there are no windows - global.stage.connect('key-press-event', () => { - if (!hasVisibleWindows() && !Main.overview.visible) { - Main.overview.showApps(); - } - }); + // show apps on key press when there are no windows + global.stage.connect('key-press-event', () => { + if (!this.hasVisibleWindows() && !Main.overview.visible) { + Main.overview.showApps(); + } + }); - // keyboard focus for apps view - Main.overview.connect('shown', () => { - if (Main.overview._overview.dash.showAppsButton.checked) { + // keyboard focus for apps view + Main.overview.connect('shown', () => { + if (Main.overview._overview.dash.showAppsButton.checked) { + Main.overview._overview._controls.appDisplay.navigate_focus(null, St.DirectionType.TAB_FORWARD, false) + } + }); + Main.overview._overview.controls.appDisplay.connect('view-loaded', () => { Main.overview._overview._controls.appDisplay.navigate_focus(null, St.DirectionType.TAB_FORWARD, false) - } - }); - Main.overview._overview.controls.appDisplay.connect('view-loaded', () => { - Main.overview._overview._controls.appDisplay.navigate_focus(null, St.DirectionType.TAB_FORWARD, false) - }); -} + }); + } -function disable() { -} + disable() { + } -function hasVisibleWindows() { - return global.display.get_tab_list(0, null).find((w) => !w.is_hidden()); -} + hasVisibleWindows() { + return global.display.get_tab_list(0, null).find((w) => !w.is_hidden()); + } +} diff --git a/metadata.json b/metadata.json index 7826d6b..b38fbcd 100644 --- a/metadata.json +++ b/metadata.json @@ -2,5 +2,5 @@ "name": "Show App Menu on Key Press", "description": "Show the app menu when any key is pressed and all windows are closed or hidden", "uuid": "show-app-menu-on-key-press@delx.net.au", - "shell-version": ["40.0", "41.0", "42.0", "43.0", "44.0"] + "shell-version": ["45.0"] }