fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 1 | # monolith's built-in config, used when ~/.config/monolith/config.toml is |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 2 | # missing. Copy it there to change anything. |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 3 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 4 | # Programs started with the compositor, each an argv list. |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 5 | startup = [] |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 6 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 7 | [general] |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 8 | # What Mod means in binds. Use alt when nesting inside a compositor that |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 9 | # keeps super for itself. |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 10 | mod = "super" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 11 | gaps = { inner = 8, outer = 8 } |
86ef802692f5 | atagen | 2026-10-19 07:43 UTC | 12 | # A new window splits the one it opens beside along that window's longer side, |
86ef802692f5 | atagen | 2026-10-19 07:43 UTC | 13 | # so windows dwindle. When off it joins the container of that window instead. |
86ef802692f5 | atagen | 2026-10-19 07:43 UTC | 14 | autotile = true |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 15 | # What a window move does when it meets a neighbour. swap trades places, |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 16 | # merge joins its lane. invert-move does the other one for the next move. |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 17 | move = "swap" |
24fca1aad608 | atagen | 2026-10-17 09:56 UTC | 18 | # Focus whatever window the pointer moves onto. |
24fca1aad608 | atagen | 2026-10-17 09:56 UTC | 19 | focus_follows_mouse = false |
24fca1aad608 | atagen | 2026-10-17 09:56 UTC | 20 | # Put the pointer in the middle of a window focused from the keyboard, a |
24fca1aad608 | atagen | 2026-10-17 09:56 UTC | 21 | # rule or a new map. Bare metal only, a nested pointer belongs to the host. |
24fca1aad608 | atagen | 2026-10-17 09:56 UTC | 22 | mouse_follows_focus = false |
509842c1b6dc | atagen | 2026-10-28 04:05 UTC | 23 | # Hide the pointer on any key typed into a window, until it next moves. |
509842c1b6dc | atagen | 2026-10-28 04:05 UTC | 24 | hide_cursor_on_type = false |
c371f16816a5 | atagen | 2026-10-17 13:59 UTC | 25 | # A window landing on, or moved to, a tag or output where its tag is empty and |
c371f16816a5 | atagen | 2026-10-17 13:59 UTC | 26 | # not in view brings the tag into view there, alongside the tags already shown. |
47259c39793f | atagen | 2026-10-17 10:13 UTC | 27 | view_tag_on_first_window = true |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 28 | |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 29 | [decoration] |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 30 | # Borders sit in the gap around each window, so keep them under half the inner gap. |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 31 | border = 2 |
47259c39793f | atagen | 2026-10-17 10:13 UTC | 32 | # Corner radius, one number or [top left, top right, bottom right, bottom left]. |
47259c39793f | atagen | 2026-10-17 10:13 UTC | 33 | # Fullscreen windows stay square. |
47259c39793f | atagen | 2026-10-17 10:13 UTC | 34 | radius = 0 |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 35 | focused = "#88bfd1" |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 36 | unfocused = "#3b4252" |
1d62be4ff79c | atagen | 2026-10-19 07:37 UTC | 37 | # A window asking for attention that is not focused. |
1d62be4ff79c | atagen | 2026-10-19 07:37 UTC | 38 | urgent = "#ebcb8b" |
eacaaa02eca5 | atagen | 2026-10-22 05:38 UTC | 39 | # A window extended over others in its container. |
eacaaa02eca5 | atagen | 2026-10-22 05:38 UTC | 40 | extended = "#5e4b6e" |
eacaaa02eca5 | atagen | 2026-10-22 05:38 UTC | 41 | extended-focused = "#b48ead" |
7ce6ae4e5a85 | atagen | 2026-10-16 12:16 UTC | 42 | |
8e6f96f0a32d | atagen | 2026-10-16 22:17 UTC | 43 | [output] |
8e6f96f0a32d | atagen | 2026-10-16 22:17 UTC | 44 | # Variable refresh rate on outputs that support it, off, on, or fullscreen. |
8e6f96f0a32d | atagen | 2026-10-16 22:17 UTC | 45 | vrr = "fullscreen" |
8e6f96f0a32d | atagen | 2026-10-16 22:17 UTC | 46 | |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 47 | # Per connector. transform, position and scale follow a reload, mode needs a |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 48 | # replug. transform is normal, 90, 180, 270, flipped, flipped-90, flipped-180 or |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 49 | # flipped-270. Outputs without a position line up left to right. position is in |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 50 | # logical pixels, the size of the output divided by its scale. scale is 0.5 to |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 51 | # 4.0 and is rounded to the nearest 1/120. X11 clients are drawn at scale 1 and |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 52 | # stretched. The nested backend's window is [output.nested], where only scale |
15eeea605449 | atagen | 2026-10-19 08:15 UTC | 53 | # applies. |
9b87063809e1 | atagen | 2026-10-17 13:28 UTC | 54 | # [output.DP-1] |
9b87063809e1 | atagen | 2026-10-17 13:28 UTC | 55 | # transform = "90" |
9b87063809e1 | atagen | 2026-10-17 13:28 UTC | 56 | # position = [2560, 0] |
9b87063809e1 | atagen | 2026-10-17 13:28 UTC | 57 | # mode = "1920x1080@60" |
fc167134b65d | atagen | 2026-10-19 08:09 UTC | 58 | # scale = 1.5 |
9b87063809e1 | atagen | 2026-10-17 13:28 UTC | 59 | |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 60 | [animation] |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 61 | enabled = true |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 62 | # orthogonal moves each window along one axis per phase, direct allows both. |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 63 | style = "orthogonal" |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 64 | phase_ms = 160 |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 65 | curve = [0.45, 0.0, 0.2, 1.0] |
2af1d8c55876 | atagen | 2026-10-16 11:05 UTC | 66 | |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 67 | [idle] |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 68 | # Seconds without input before every output is switched off, any input |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 69 | # switches them back on. 0 never blanks. Windows holding an idle inhibitor |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 70 | # keep the screen on while they are shown. |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 71 | blank_after = 0 |
47b86d08d05a | atagen | 2026-10-19 07:37 UTC | 72 | |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 73 | [lid] |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 74 | # What closing the lid does, suspend, poweroff or ignore. The internal panel |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 75 | # (eDP, LVDS) switches off whenever the lid is closed and another output is |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 76 | # connected, and then neither suspend nor poweroff happens. Without a |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 77 | # handle-lid-switch inhibitor, logind still acts on the lid itself, so set |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 78 | # HandleLidSwitch=ignore there for ignore to mean anything. |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 79 | close = "suspend" |
5b8422a225da | atagen | 2026-10-19 07:45 UTC | 80 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 81 | [keyboard] |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 82 | layout = "" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 83 | repeat_delay = 200 |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 84 | repeat_rate = 25 |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 85 | |
1df9b00ad0fd | atagen | 2026-10-19 07:34 UTC | 86 | [xwayland] |
dd5b0783344d | atagen | 2026-10-19 10:51 UTC | 87 | # Which X11 clients may read the Wayland clipboard or primary selection, and |
dd5b0783344d | atagen | 2026-10-19 10:51 UTC | 88 | # set it. focused allows only the window holding keyboard focus, any allows |
dd5b0783344d | atagen | 2026-10-19 10:51 UTC | 89 | # every X11 client, which clipboard managers and headless xclip need. |
1df9b00ad0fd | atagen | 2026-10-19 07:34 UTC | 90 | selection_access = "focused" |
1df9b00ad0fd | atagen | 2026-10-19 07:34 UTC | 91 | |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 92 | # libinput settings, bare metal only. Anything left out keeps the device's |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 93 | # own default, and options a device lacks are skipped. Touchpads are devices |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 94 | # that can tap, every other pointing device takes [input.pointer]. |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 95 | # |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 96 | # accel_profile flat, adaptive or custom |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 97 | # accel_speed -1 to 1 |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 98 | # accel_points the custom profile's curve, pointer speed at 0, accel_step, |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 99 | # accel_step 2 * accel_step and so on, in device units per millisecond |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 100 | # natural_scroll, left_handed, tap, tap_drag, tap_drag_lock, dwt (disable |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 101 | # while typing), middle_emulation true or false |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 102 | # scroll_method none, two-finger, edge or on-button-down |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 103 | # scroll_button the evdev code of the on-button-down button, 274 for middle |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 104 | # click_method button-areas or clickfinger |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 105 | # scroll_factor multiplies scroll distance, applied by monolith |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 106 | [input.pointer] |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 107 | |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 108 | [input.touchpad] |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 109 | # tap = true |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 110 | # natural_scroll = true |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 111 | |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 112 | # Per device, by the name `libinput list-devices` shows, over its kind's settings. |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 113 | # Later entries win. |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 114 | # [[input.device]] |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 115 | # name = "Logitech G502" |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 116 | # accel_profile = "flat" |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 117 | # accel_speed = -0.3 |
9944e8618a62 | atagen | 2026-10-18 10:00 UTC | 118 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 119 | # Each value is a command in word form, or an argv-style list. |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 120 | [binds] |
3b180fd69834 | atagen | 2026-10-17 10:40 UTC | 121 | "Mod+Return" = "spawn beer" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 122 | "Mod+q" = "close" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 123 | "Mod+Shift+e" = "quit" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 124 | "Mod+Shift+r" = "reload" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 125 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 126 | "Mod+h" = "focus left" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 127 | "Mod+j" = "focus down" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 128 | "Mod+k" = "focus up" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 129 | "Mod+l" = "focus right" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 130 | "Mod+Shift+h" = "move left" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 131 | "Mod+Shift+j" = "move down" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 132 | "Mod+Shift+k" = "move up" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 133 | "Mod+Shift+l" = "move right" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 134 | "Mod+Ctrl+h" = "move-container left" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 135 | "Mod+Ctrl+j" = "move-container down" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 136 | "Mod+Ctrl+k" = "move-container up" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 137 | "Mod+Ctrl+l" = "move-container right" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 138 | "Mod+m" = "invert-move" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 139 | "Mod+Alt+h" = "resize horizontal -0.05" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 140 | "Mod+Alt+l" = "resize horizontal 0.05" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 141 | "Mod+Alt+k" = "resize vertical -0.05" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 142 | "Mod+Alt+j" = "resize vertical 0.05" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 143 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 144 | "Mod+e" = "expand window" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 145 | "Mod+Shift+w" = "expand container" |
4444c779eb48 | atagen | 2026-10-16 12:07 UTC | 146 | "Mod+w" = "maximize" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 147 | "Mod+o" = "flip" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 148 | "Mod+f" = "fullscreen" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 149 | "Mod+Shift+space" = "float" |
af095d8ce0fc | atagen | 2026-10-28 04:02 UTC | 150 | "Mod+space" = "focus-layer" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 151 | "Mod+s" = "sticky" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 152 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 153 | "Mod+comma" = "focus-output left" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 154 | "Mod+period" = "focus-output right" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 155 | "Mod+Shift+comma" = "send-to-output left" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 156 | "Mod+Shift+period" = "send-to-output right" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 157 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 158 | "Mod+grave" = "summon term" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 159 | "Mod+Shift+grave" = "scratchpad term" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 160 | "Mod+Escape" = "dismiss" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 161 | |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 162 | "Mod+1" = "view 1" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 163 | "Mod+2" = "view 2" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 164 | "Mod+3" = "view 3" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 165 | "Mod+4" = "view 4" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 166 | "Mod+5" = "view 5" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 167 | "Mod+6" = "view 6" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 168 | "Mod+7" = "view 7" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 169 | "Mod+8" = "view 8" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 170 | "Mod+9" = "view 9" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 171 | "Mod+Ctrl+1" = "toggle-view 1" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 172 | "Mod+Ctrl+2" = "toggle-view 2" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 173 | "Mod+Ctrl+3" = "toggle-view 3" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 174 | "Mod+Ctrl+4" = "toggle-view 4" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 175 | "Mod+Ctrl+5" = "toggle-view 5" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 176 | "Mod+Ctrl+6" = "toggle-view 6" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 177 | "Mod+Ctrl+7" = "toggle-view 7" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 178 | "Mod+Ctrl+8" = "toggle-view 8" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 179 | "Mod+Ctrl+9" = "toggle-view 9" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 180 | "Mod+Shift+1" = "tag 1" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 181 | "Mod+Shift+2" = "tag 2" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 182 | "Mod+Shift+3" = "tag 3" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 183 | "Mod+Shift+4" = "tag 4" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 184 | "Mod+Shift+5" = "tag 5" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 185 | "Mod+Shift+6" = "tag 6" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 186 | "Mod+Shift+7" = "tag 7" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 187 | "Mod+Shift+8" = "tag 8" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 188 | "Mod+Shift+9" = "tag 9" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 189 | |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 190 | # Every rule matcher given must hit, later rules overriding earlier ones. Rules |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 191 | # are matched when a window maps and again when its title or app_id changes |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 192 | # before it has drawn, since many apps only set the real ones after their first |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 193 | # commit. A pattern that does not compile leaves the rule out. |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 194 | # |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 195 | # Matchers, all optional. Patterns are regexes searched anywhere in the text. |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 196 | # app_id the Wayland app_id, or the X11 class |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 197 | # title the current title |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 198 | # initial_title the title the window had when it mapped, which never changes |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 199 | # class the X11 WM_CLASS class, never hits a Wayland window |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 200 | # instance the X11 WM_CLASS instance, never hits a Wayland window |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 201 | # xwayland true for X11 windows, false for Wayland ones |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 202 | # dialog true for a window with a parent or transient, or an X11 |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 203 | # dialog, false for any other |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 204 | # parent_app_id the app_id of the window it is a dialog of, never hits a |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 205 | # window without a parent |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 206 | # |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 207 | # Placement, fixed when the window maps or when its rules change before it has |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 208 | # drawn. |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 209 | # tag tag name to open on |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 210 | # output connector name to open on |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 211 | # floating open floating or tiled, whatever the window would be |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 212 | # sticky show on every tag |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 213 | # scratchpad name of the scratchpad to join |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 214 | # fullscreen open fullscreen or not, over what the client asks |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 215 | # focus false keeps the focus where it is when the window maps |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 216 | # size [width, height] of a floating window |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 217 | # position [x, y] of a floating window from its output top left |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 218 | # center true centres a floating window, over position |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 219 | # min_size [width, height] lower bound for floating sizes, 0 for none |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 220 | # max_size [width, height] upper bound for floating sizes, 0 for none |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 221 | # size, position, center and the bounds only touch windows that float, so |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 222 | # pair them with floating = true unless the window floats anyway. |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 223 | # |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 224 | # Effects, following the latest rules that hit for the window's lifetime. |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 225 | # opacity 0.0 to 1.0, multiplies how opaque the window is drawn |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 226 | # idle_inhibit visible keeps the screen on while the window is shown, |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 227 | # fullscreen only while it is also fullscreen |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 228 | # vrr true or false forces adaptive sync on or off for the output |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 229 | # while this window is fullscreen on it |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 230 | # tearing reserved, tearing presentation is not implemented yet |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 231 | # |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 232 | # [[rules]] |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 233 | # app_id = "^pavucontrol$" |
fe835aed6c8d | atagen | 2026-10-16 10:05 UTC | 234 | # floating = true |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 235 | # size = [900, 600] |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 236 | # center = true |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 237 | # |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 238 | # [[rules]] |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 239 | # app_id = "^mpv$" |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 240 | # idle_inhibit = "fullscreen" |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 241 | # vrr = true |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 242 | # |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 243 | # [[rules]] |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 244 | # app_id = "^firefox$" |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 245 | # title = "^Picture-in-Picture$" |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 246 | # floating = true |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 247 | # opacity = 0.9 |
f4c93ddeb08f | atagen | 2026-10-19 08:41 UTC | 248 | # focus = false |