paperwm.lua (2383B)
1 return { 2 setup = function(mods) 3 PaperWM = hs.loadSpoon("PaperWM") 4 local paperWmMod = mods.paperWmMod 5 local paperWmMoveMod = mods.paperWmMoveMod 6 7 PaperWM:bindHotkeys({ 8 -- switch to a new focused window in tiled grid 9 focus_left = { paperWmMod, "left" }, 10 focus_right = { paperWmMod, "right" }, 11 focus_up = { paperWmMod, "up" }, 12 focus_down = { paperWmMod, "down" }, 13 14 -- switch windows by cycling forward/backward 15 -- (forward = down or right, backward = up or left) 16 focus_prev = { paperWmMod, "k" }, 17 focus_next = { paperWmMod, "j" }, 18 19 -- move windows around in tiled grid 20 swap_left = { paperWmMoveMod, "left" }, 21 swap_left = { paperWmMoveMod, "h" }, 22 swap_right = { paperWmMoveMod, "right" }, 23 swap_right = { paperWmMoveMod, "l" }, 24 swap_up = { paperWmMoveMod, "up" }, 25 swap_up = { paperWmMoveMod, "k" }, 26 swap_down = { paperWmMoveMod, "down" }, 27 swap_down = { paperWmMoveMod, "j" }, 28 29 -- alternative: swap entire columns, rather than 30 -- individual windows (to be used instead of 31 -- swap_left / swap_right bindings) 32 -- swap_column_left = {{"alt", "cmd", "shift"}, "left"}, 33 -- swap_column_right = {{"alt", "cmd", "shift"}, "right"}, 34 35 -- position and resize focused window 36 center_window = { paperWmMod, "c" }, 37 full_width = { paperWmMod, "f" }, 38 cycle_width = { paperWmMod, "r" }, 39 cycle_height = { paperWmMoveMod, "r" }, 40 41 -- increase/decrease width 42 increase_width = { paperWmMod, "l" }, 43 decrease_width = { paperWmMod, "h" }, 44 45 -- move focused window into / out of a column 46 slurp_in = { paperWmMod, "i" }, 47 barf_out = { paperWmMod, "o" }, 48 49 -- move the focused window into / out of the tiling layer 50 toggle_floating = { { "alt", "cmd", "shift" }, "escape" }, 51 52 -- move focused window to a new space and tile 53 move_window_1 = { paperWmMoveMod, "1" }, 54 move_window_2 = { paperWmMoveMod, "2" }, 55 move_window_3 = { paperWmMoveMod, "3" }, 56 move_window_4 = { paperWmMoveMod, "4" }, 57 move_window_5 = { paperWmMoveMod, "5" }, 58 move_window_6 = { paperWmMoveMod, "6" }, 59 move_window_7 = { paperWmMoveMod, "7" }, 60 move_window_8 = { paperWmMoveMod, "8" }, 61 move_window_9 = { paperWmMoveMod, "9" }, 62 }) 63 PaperWM:start() 64 end, 65 }