atagen

monolith

public
Star0
Watch0
1db12095f6d7913a9ea85e4c95a05b2c4cdc8d25
1
ssh://brewery@pls.lobotomise.me:33/atagen/monolith.git
crates/config/default.tomlToml157 lines4.8 KB
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
# Focus whatever window the pointer moves onto.
16
focus_follows_mouse = false
17
# Put the pointer in the middle of a window focused from the keyboard, a
18
# rule or a new map. Bare metal only, a nested pointer belongs to the host.
19
mouse_follows_focus = false
20
# A window landing on, or moved to, a tag or output where its tag is empty and
21
# not in view brings the tag into view there, alongside the tags already shown.
22
view_tag_on_first_window = true
23
24
[decoration]
25
# Borders sit in the gap around each window, so keep them under half the inner gap.
26
border = 2
27
# Corner radius, one number or [top left, top right, bottom right, bottom left].
28
# Fullscreen windows stay square.
29
radius = 0
30
focused = "#88bfd1"
31
unfocused = "#3b4252"
32
33
[output]
34
# Variable refresh rate on outputs that support it, off, on, or fullscreen.
35
vrr = "fullscreen"
36
37
# Per connector. transform and position follow a reload, mode needs a replug.
38
# transform is normal, 90, 180, 270, flipped, flipped-90, flipped-180 or
39
# flipped-270. Outputs without a position line up left to right.
40
# [output.DP-1]
41
# transform = "90"
42
# position = [2560, 0]
43
# mode = "1920x1080@60"
44
45
[animation]
46
enabled = true
47
# orthogonal moves each window along one axis per phase, direct allows both.
48
style = "orthogonal"
49
phase_ms = 160
50
curve = [0.45, 0.0, 0.2, 1.0]
51
52
[keyboard]
53
layout = ""
54
repeat_delay = 200
55
repeat_rate = 25
56
57
# libinput settings, bare metal only. Anything left out keeps the device's
58
# own default, and options a device lacks are skipped. Touchpads are devices
59
# that can tap, every other pointing device takes [input.pointer].
60
#
61
# accel_profile    flat, adaptive or custom
62
# accel_speed      -1 to 1
63
# accel_points     the custom profile's curve, pointer speed at 0, accel_step,
64
# accel_step       2 * accel_step and so on, in device units per millisecond
65
# natural_scroll, left_handed, tap, tap_drag, tap_drag_lock, dwt (disable
66
# while typing), middle_emulation   true or false
67
# scroll_method    none, two-finger, edge or on-button-down
68
# scroll_button    the evdev code of the on-button-down button, 274 for middle
69
# click_method     button-areas or clickfinger
70
# scroll_factor    multiplies scroll distance, applied by monolith
71
[input.pointer]
72
73
[input.touchpad]
74
# tap = true
75
# natural_scroll = true
76
77
# Per device, by the name `libinput list-devices` shows, over its kind's settings.
78
# Later entries win.
79
# [[input.device]]
80
# name = "Logitech G502"
81
# accel_profile = "flat"
82
# accel_speed = -0.3
83
84
# Each value is a command in word form, or an argv-style list.
85
[binds]
86
"Mod+Return" = "spawn beer"
87
"Mod+q" = "close"
88
"Mod+Shift+e" = "quit"
89
"Mod+Shift+r" = "reload"
90
91
"Mod+h" = "focus left"
92
"Mod+j" = "focus down"
93
"Mod+k" = "focus up"
94
"Mod+l" = "focus right"
95
"Mod+Shift+h" = "move left"
96
"Mod+Shift+j" = "move down"
97
"Mod+Shift+k" = "move up"
98
"Mod+Shift+l" = "move right"
99
"Mod+Ctrl+h" = "move-container left"
100
"Mod+Ctrl+j" = "move-container down"
101
"Mod+Ctrl+k" = "move-container up"
102
"Mod+Ctrl+l" = "move-container right"
103
"Mod+m" = "invert-move"
104
"Mod+Alt+h" = "resize horizontal -0.05"
105
"Mod+Alt+l" = "resize horizontal 0.05"
106
"Mod+Alt+k" = "resize vertical -0.05"
107
"Mod+Alt+j" = "resize vertical 0.05"
108
109
"Mod+e" = "expand window"
110
"Mod+Shift+w" = "expand container"
111
"Mod+w" = "maximize"
112
"Mod+o" = "flip"
113
"Mod+f" = "fullscreen"
114
"Mod+Shift+space" = "float"
115
"Mod+s" = "sticky"
116
117
"Mod+comma" = "focus-output left"
118
"Mod+period" = "focus-output right"
119
"Mod+Shift+comma" = "send-to-output left"
120
"Mod+Shift+period" = "send-to-output right"
121
122
"Mod+grave" = "summon term"
123
"Mod+Shift+grave" = "scratchpad term"
124
"Mod+Escape" = "dismiss"
125
126
"Mod+1" = "view 1"
127
"Mod+2" = "view 2"
128
"Mod+3" = "view 3"
129
"Mod+4" = "view 4"
130
"Mod+5" = "view 5"
131
"Mod+6" = "view 6"
132
"Mod+7" = "view 7"
133
"Mod+8" = "view 8"
134
"Mod+9" = "view 9"
135
"Mod+Ctrl+1" = "toggle-view 1"
136
"Mod+Ctrl+2" = "toggle-view 2"
137
"Mod+Ctrl+3" = "toggle-view 3"
138
"Mod+Ctrl+4" = "toggle-view 4"
139
"Mod+Ctrl+5" = "toggle-view 5"
140
"Mod+Ctrl+6" = "toggle-view 6"
141
"Mod+Ctrl+7" = "toggle-view 7"
142
"Mod+Ctrl+8" = "toggle-view 8"
143
"Mod+Ctrl+9" = "toggle-view 9"
144
"Mod+Shift+1" = "tag 1"
145
"Mod+Shift+2" = "tag 2"
146
"Mod+Shift+3" = "tag 3"
147
"Mod+Shift+4" = "tag 4"
148
"Mod+Shift+5" = "tag 5"
149
"Mod+Shift+6" = "tag 6"
150
"Mod+Shift+7" = "tag 7"
151
"Mod+Shift+8" = "tag 8"
152
"Mod+Shift+9" = "tag 9"
153
154
# Rules match app_id and title by regex, later rules overriding earlier ones.
155
# [[rules]]
156
# app_id = "^pavucontrol$"
157
# floating = true