]> code.delx.au - show-app-menu-on-key-press/commitdiff
gnome-shell 40 compatibility
authorJames Bunton <jamesbunton@delx.net.au>
Sat, 10 Apr 2021 06:04:00 +0000 (16:04 +1000)
committerJames Bunton <jamesbunton@delx.net.au>
Sat, 10 Apr 2021 06:04:00 +0000 (16:04 +1000)
PKGBUILD
extension.js
metadata.json

index fe2e134f930e47567ff8408b9cda554e2dc063fe..adeae55e4215608cca0f3d7c5a2ee228f93dd252 100644 (file)
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,13 +1,13 @@
 # Maintainer: James Bunton <jamesbunton@delx.net.au>
 
 pkgname=gnome-shell-extension-show-app-menu-on-key-press
-pkgver=4
+pkgver=5
 pkgrel=1
 pkgdesc="Gnome shell extension to show app menu on key press"
 arch=('any')
 source=("extension.js" "metadata.json")
-sha512sums=('d37606c62e27de94e6da2deebc4c632a77243c4bb820e4582a01b1f0305cb0e0e99f699e4b468d9bca86133bd0dfbd280c2cf9f08f29f313fe80647965f28d29'
-            'b356481db946a42f4ab92823ad29aa568696a52bb286f219605878535f2e353e0f3f118636c9a66046c4130f6e094205dea666833c6b63b0950a339e4b468a02')
+sha512sums=('9a2c5a611a4e7053aee91ab3969367b2098a512eae6b2f8651e08cb17d8b023afeaf04371ed082808863928d123bbfbe25728bba72b73410deff00888869e880'
+            'be121818c871436d8218f27b73976f550e42f1e442df38c6b6f17fc722271774ea6bb3ee1972b2089ad4c06968e2bf68f495520bfafd9e62fb0553d5fda9ef11')
 
 package() {
   for i in "${source[@]}"; do
index 96fcac82e354a36091e3de17d2aca1c58fae228a..9fcc55dbc17d7b52071a86c6e0dc015c65de3de0 100644 (file)
@@ -1,41 +1,34 @@
 const St = imports.gi.St;
 const Main = imports.ui.main;
-const Views = imports.ui.appDisplay.Views;
-
-let signalId = null;
 
 function init() {
 }
 
 function enable() {
-    signalId = global.stage.connect('key-press-event', onStageKeyPress);
-}
+    // 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();
+        }
+    });
 
-function disable() {
-    if (signalId) {
-        global.stage.disconnect('key-press-event');
-        signalId = null;
-    }
+    // 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)
+    });
 }
 
-function onStageKeyPress() {
-    if (!hasVisibleWindows() && !Main.overview.visible) {
-        Main.overview.viewSelector.showApps();
-        const appDisplay = Main.overview.viewSelector.appDisplay;
-        let view = appDisplay;
-        if (appDisplay._views) { // Gnome 3.36 or older
-
-            view = appDisplay._views[Views.FREQUENT].view;
-        }
-        view._grid.remove_all_children()
-        view._items = new Map();
-        view._orderedItems = [];
-        view._redisplay();
-        if (appDisplay._showView) { // Gnome 3.36 or older
-            appDisplay._showView(Views.FREQUENT);
-        }
-        Main.overview.viewSelector._activePage.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
-    }
+function disable() {
 }
 
 function hasVisibleWindows() {
index 116122e1e5a5e25e37e0e6d4d79fcd9d045d1fe5..cf180ca79acd18e7c8c82e289ad764b4d55ed093 100644 (file)
@@ -1 +1,6 @@
-{"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": ["3.34.1"]}
+{
+    "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"]
+}