From e8e01dfbf7cd0af50408dacaa458437b97c309d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20J=C3=B8rgen=20Br=C3=B8nner?= Date: Thu, 5 Jul 2018 18:57:40 +0200 Subject: [PATCH] more examples --- examples/keybindings.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/examples/keybindings.js b/examples/keybindings.js index a9c6499..1275b5a 100644 --- a/examples/keybindings.js +++ b/examples/keybindings.js @@ -3,6 +3,27 @@ var Keybindings = Extension.imports.keybindings; var Main = imports.ui.main; var Tiling = Extension.imports.tiling; +function gotoByIndex() { + function goto(k) { + return () => { + let space = Tiling.spaces.get(global.screen.get_active_workspace()); + let metaWindow = space.getWindow(k, 0) + if (!metaWindow) + return; + + if (metaWindow.has_focus()) { + // Can happen when navigator is open + Tiling.ensureViewport(metaWindow); + } else { + Main.activateWindow(metaWindow); + } + } + } + for(let k = 1; k <= 9; k++) { + Keybindings.bindkey(`${k}`, `goto-coloumn-${i}`, + goto(k-1), {activeInNavigator: true}) + } +} function windowMarks() { var marks = {} @@ -26,10 +47,11 @@ function windowMarks() { } } - for(let k = 0; k < 9; k++) { - Keybindings.bindkey(`${k}`, gotoMark(k), {activeInNavigator: true}) - Keybindings.bindkey(`${k}`, setMark(k), - {activeInNavigator: true}) + for(let k = 0; k <= 9; k++) { + Keybindings.bindkey(`${k}`, `goto-mark-${k}`, + gotoMark(k), {activeInNavigator: true}) + Keybindings.bindkey(`${k}`, `set-mark-${k}`, + setMark(k), {activeInNavigator: true}) } }