summaryrefslogtreecommitdiffstats
path: root/hammerspoon
diff options
context:
space:
mode:
authorJesse Luehrs <doy@stripe.com>2021-03-02 10:52:02 -0800
committerJesse Luehrs <doy@tozt.net>2021-03-02 13:55:29 -0500
commit12e9b9c0cb462e77cdf450d9616d9860ead7867e (patch)
tree062e4f0f4db30a6c5fdc2aacc7b54024289c2bde /hammerspoon
parent6f1a9da97d46468ada900dbc4033f0ea6995258a (diff)
downloadconf-12e9b9c0cb462e77cdf450d9616d9860ead7867e.tar.gz
conf-12e9b9c0cb462e77cdf450d9616d9860ead7867e.zip
use the hammerspoon spaces module
Diffstat (limited to 'hammerspoon')
-rw-r--r--hammerspoon/init.lua12
m---------hammerspoon/src/spaces0
2 files changed, 8 insertions, 4 deletions
diff --git a/hammerspoon/init.lua b/hammerspoon/init.lua
index c68ca8d..3b38695 100644
--- a/hammerspoon/init.lua
+++ b/hammerspoon/init.lua
@@ -3,6 +3,8 @@ spoon.ReloadConfiguration:start()
hs.loadSpoon("SpeedMenu")
+spaces = require("hs._asm.undocumented.spaces")
+
-- apparently hs.eventtap.keyStroke doesn't always work, this is more reliable
-- https://github.com/Hammerspoon/hammerspoon/issues/1984#issuecomment-455317739
doKeyStroke = function(modifiers, character)
@@ -60,13 +62,15 @@ end)
for i = 1, 6 do
hs.hotkey.bind({"alt"}, tostring(i), function()
- doKeyStroke({"ctrl"}, tostring(i))
+ id = spaces.layout()[spaces.mainScreenUUID()][i]
+ spaces.changeToSpace(id)
+ end)
+ hs.hotkey.bind({"alt", "shift"}, tostring(i), function()
+ id = spaces.layout()[spaces.mainScreenUUID()][i]
+ hs.window.focusedWindow():spacesMoveTo(id)
end)
end
--- bindings for window movement are handled by amethyst, since hammerspoon
--- doesn't support that well
-
extra_bindings = {
["Alacritty"] = hs.hotkey.modal.new(),
["Google Chrome"] = hs.hotkey.modal.new(),
diff --git a/hammerspoon/src/spaces b/hammerspoon/src/spaces
new file mode 160000
+Subproject 25aecf2c48eb72afbd76abc00d9f6edadeca280