| 1 | # monolith's built-in config, used when ~/.config/monolith/config.toml is |
| 2 | # missing. Copy it there to change anything. |
| 3 | |
| 4 | # Programs started with the compositor, each an argv list. |
| 5 | startup = [] |
| 6 | |
| 7 | [general] |
| 8 | # What Mod means in binds. Use alt when nesting inside a compositor that |
| 9 | # keeps super for itself. |
| 10 | mod = "super" |
| 11 | gaps = { inner = 8, outer = 8 } |
| 12 | # What a window move does when it meets a neighbour. swap trades places, |
| 13 | # merge joins its lane. invert-move does the other one for the next move. |
| 14 | move = "swap" |
| 15 | |
| 16 | [decoration] |
| 17 | # Borders sit in the gap around each window, so keep them under half the inner gap. |
| 18 | border = 2 |
| 19 | focused = "#88bfd1" |
| 20 | unfocused = "#3b4252" |
| 21 | |
| 22 | [output] |
| 23 | # Variable refresh rate on outputs that support it, off, on, or fullscreen. |
| 24 | vrr = "fullscreen" |
| 25 | |
| 26 | [animation] |
| 27 | enabled = true |
| 28 | # orthogonal moves each window along one axis per phase, direct allows both. |
| 29 | style = "orthogonal" |
| 30 | phase_ms = 160 |
| 31 | curve = [0.45, 0.0, 0.2, 1.0] |
| 32 | |
| 33 | [keyboard] |
| 34 | layout = "" |
| 35 | repeat_delay = 200 |
| 36 | repeat_rate = 25 |
| 37 | |
| 38 | # Each value is a command in word form, or an argv-style list. |
| 39 | [binds] |
| 40 | "Mod+Return" = "spawn foot" |
| 41 | "Mod+q" = "close" |
| 42 | "Mod+Shift+e" = "quit" |
| 43 | "Mod+Shift+r" = "reload" |
| 44 | |
| 45 | "Mod+h" = "focus left" |
| 46 | "Mod+j" = "focus down" |
| 47 | "Mod+k" = "focus up" |
| 48 | "Mod+l" = "focus right" |
| 49 | "Mod+Shift+h" = "move left" |
| 50 | "Mod+Shift+j" = "move down" |
| 51 | "Mod+Shift+k" = "move up" |
| 52 | "Mod+Shift+l" = "move right" |
| 53 | "Mod+Ctrl+h" = "move-container left" |
| 54 | "Mod+Ctrl+j" = "move-container down" |
| 55 | "Mod+Ctrl+k" = "move-container up" |
| 56 | "Mod+Ctrl+l" = "move-container right" |
| 57 | "Mod+m" = "invert-move" |
| 58 | "Mod+Alt+h" = "resize horizontal -0.05" |
| 59 | "Mod+Alt+l" = "resize horizontal 0.05" |
| 60 | "Mod+Alt+k" = "resize vertical -0.05" |
| 61 | "Mod+Alt+j" = "resize vertical 0.05" |
| 62 | |
| 63 | "Mod+e" = "expand window" |
| 64 | "Mod+Shift+w" = "expand container" |
| 65 | "Mod+w" = "maximize" |
| 66 | "Mod+o" = "flip" |
| 67 | "Mod+f" = "fullscreen" |
| 68 | "Mod+Shift+space" = "float" |
| 69 | "Mod+s" = "sticky" |
| 70 | |
| 71 | "Mod+comma" = "focus-output left" |
| 72 | "Mod+period" = "focus-output right" |
| 73 | "Mod+Shift+comma" = "send-to-output left" |
| 74 | "Mod+Shift+period" = "send-to-output right" |
| 75 | |
| 76 | "Mod+grave" = "summon term" |
| 77 | "Mod+Shift+grave" = "scratchpad term" |
| 78 | "Mod+Escape" = "dismiss" |
| 79 | |
| 80 | "Mod+1" = "view 1" |
| 81 | "Mod+2" = "view 2" |
| 82 | "Mod+3" = "view 3" |
| 83 | "Mod+4" = "view 4" |
| 84 | "Mod+5" = "view 5" |
| 85 | "Mod+6" = "view 6" |
| 86 | "Mod+7" = "view 7" |
| 87 | "Mod+8" = "view 8" |
| 88 | "Mod+9" = "view 9" |
| 89 | "Mod+Ctrl+1" = "toggle-view 1" |
| 90 | "Mod+Ctrl+2" = "toggle-view 2" |
| 91 | "Mod+Ctrl+3" = "toggle-view 3" |
| 92 | "Mod+Ctrl+4" = "toggle-view 4" |
| 93 | "Mod+Ctrl+5" = "toggle-view 5" |
| 94 | "Mod+Ctrl+6" = "toggle-view 6" |
| 95 | "Mod+Ctrl+7" = "toggle-view 7" |
| 96 | "Mod+Ctrl+8" = "toggle-view 8" |
| 97 | "Mod+Ctrl+9" = "toggle-view 9" |
| 98 | "Mod+Shift+1" = "tag 1" |
| 99 | "Mod+Shift+2" = "tag 2" |
| 100 | "Mod+Shift+3" = "tag 3" |
| 101 | "Mod+Shift+4" = "tag 4" |
| 102 | "Mod+Shift+5" = "tag 5" |
| 103 | "Mod+Shift+6" = "tag 6" |
| 104 | "Mod+Shift+7" = "tag 7" |
| 105 | "Mod+Shift+8" = "tag 8" |
| 106 | "Mod+Shift+9" = "tag 9" |
| 107 | |
| 108 | # Rules match app_id and title by regex, later rules overriding earlier ones. |
| 109 | # [[rules]] |
| 110 | # app_id = "^pavucontrol$" |
| 111 | # floating = true |