diff --git a/home-manager/hammerspoon/window-move.lua b/home-manager/hammerspoon/window-move.lua index acce2a4..b5f6030 100644 --- a/home-manager/hammerspoon/window-move.lua +++ b/home-manager/hammerspoon/window-move.lua @@ -5,16 +5,42 @@ windowMove = function() win:moveToScreen(win:screen():next()) end) + local fullscreen = function(win) + local screen = win:screen() + + local cell = hs.grid.get(win, screen) + + cell.x = 0 + cell.y = 0 + cell.w = 24 + cell.h = 24 + + hs.grid.set(win, cell, screen) + end -- Windows seem to be indexed by primary screen first hs.hotkey.bind({ "ctrl", "alt", "cmd" }, "pad1", function() - hs.window.focusedWindow():moveToScreen(hs.screen.allScreens()[3]) + + -- 2025-01-30 09:50:56: 1 DELL S2721DGF 3 D3142823-261D-46EF-B9C2-5181C7FE2CA5 + -- 2025-01-30 09:50:56: 2 AV Receiver 72 B5A65BB6-E73E-4C3D-977C-33C86798AA5A + -- 2025-01-30 09:50:56: 3 DELL S2722DGM 74 0F6BDB5B-840D-40BE-AAC9-B467A78E057A + for i, screen in ipairs(hs.screen.allScreens()) do + print(i, screen:name(), screen:id(), screen:getUUID()) + end + + local win = hs.window.focusedWindow() + fullscreen(win) + win:moveToScreen(hs.screen.allScreens()[3]) end) hs.hotkey.bind({ "ctrl", "alt", "cmd" }, "pad2", function() - hs.window.focusedWindow():moveToScreen(hs.screen.allScreens()[1]) + local win = hs.window.focusedWindow() + fullscreen(win) + win:moveToScreen(hs.screen.allScreens()[1]) end) hs.hotkey.bind({ "ctrl", "alt", "cmd" }, "pad3", function() - hs.window.focusedWindow():moveToScreen(hs.screen.allScreens()[2]) + local win = hs.window.focusedWindow() + fullscreen(win) + win:moveToScreen(hs.screen.allScreens()[2]) end) end