Skip to content

Instantly share code, notes, and snippets.

@alper
Created March 13, 2025 09:33
Show Gist options
  • Select an option

  • Save alper/2a2ecb5913f8e64130de1b1631d24dac to your computer and use it in GitHub Desktop.

Select an option

Save alper/2a2ecb5913f8e64130de1b1631d24dac to your computer and use it in GitHub Desktop.

Revisions

  1. Alper Cugun created this gist Mar 13, 2025.
    74 changes: 74 additions & 0 deletions init.lua
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,74 @@
    -- hs.loadSpoon("SpoonInstall")

    -- spoon.SpoonInstall.repos.PaperWM = {
    -- url = "https://github.com/mogenson/PaperWM.spoon",
    -- desc = "PaperWM.spoon repository",
    -- branch = "release",
    -- }

    -- spoon.SpoonInstall:andUse("PaperWM", {
    -- repo = "PaperWM",
    -- config = { screen_margin = 16, window_gap = 2 },
    -- start = true,
    -- hotkeys = {
    -- }
    -- })

    PaperWM = hs.loadSpoon("PaperWM")
    PaperWM:bindHotkeys({
    -- switch to a new focused window in tiled grid
    focus_left = {{"alt", "ctrl"}, "left"},
    focus_right = {{"alt", "ctrl"}, "right"},
    focus_up = {{"alt", "ctrl"}, "up"},
    focus_down = {{"alt", "ctrl"}, "down"},

    -- move windows around in tiled grid
    swap_left = {{"alt", "cmd", "ctrl"}, "left"},
    swap_right = {{"alt", "cmd", "ctrl"}, "right"},
    swap_up = {{"alt", "cmd", "ctrl"}, "up"},
    swap_down = {{"alt", "cmd", "ctrl"}, "down"},

    -- position and resize focused window
    center_window = {{"alt", "shift"}, "c"},
    full_width = {{"alt", "shift"}, "f"},
    cycle_width = {{"alt", "shift"}, "r"},
    reverse_cycle_width = {{"alt", "shift"}, "l"},
    cycle_height = {{"alt", "shift"}, "h"},
    reverse_cycle_height = {{"alt", "shift"}, "t"},

    -- move focused window into / out of a column
    slurp_in = {{"alt", "shift"}, "i"},
    barf_out = {{"alt", "shift"}, "o"},

    -- move the focused window into / out of the tiling layer
    toggle_floating = {{"alt", "shift"}, "n"},

    -- switch to a new Mission Control space
    switch_space_l = {{"alt", "cmd"}, ","},
    switch_space_r = {{"alt", "cmd"}, "."},
    switch_space_1 = {{"alt"}, "1"},
    switch_space_2 = {{"alt"}, "2"},
    switch_space_3 = {{"alt"}, "3"},
    switch_space_4 = {{"alt"}, "4"},
    switch_space_5 = {{"alt"}, "5"},
    switch_space_6 = {{"alt"}, "6"},
    switch_space_7 = {{"alt"}, "7"},
    switch_space_8 = {{"alt"}, "8"},
    switch_space_9 = {{"alt"}, "9"},

    -- move focused window to a new space and tile
    move_window_1 = {{"alt", "shift"}, "1"},
    move_window_2 = {{"alt", "shift"}, "2"},
    move_window_3 = {{"alt", "shift"}, "3"},
    move_window_4 = {{"alt", "shift"}, "4"},
    move_window_5 = {{"alt", "shift"}, "5"},
    move_window_6 = {{"alt", "shift"}, "6"},
    move_window_7 = {{"alt", "shift"}, "7"},
    move_window_8 = {{"alt", "shift"}, "8"},
    move_window_9 = {{"alt", "shift"}, "9"}
    })

    PaperWM.swipe_fingers = 3
    PaperWM.swipe_gain = 3.0

    PaperWM:start()