-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());
+ }
+}