oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git
4,168 bytes raw
1
.TH OXWM 1 "2025-10-30" "oxwm 0.4.0" "User Commands"
2
.SH NAME
3
oxwm \- a dynamic tiling window manager for X11 written in Rust
4
.SH SYNOPSIS
5
.B oxwm
6
[\fIOPTIONS\fR]
7
.SH DESCRIPTION
8
.B oxwm
9
is a lightweight, dynamic tiling window manager for X11 inspired by dwm but ditching the suckless philosophy. Configuration is done via a runtime-loadable config file in RON format, allowing instant hot-reload without recompilation.
10
.PP
11
Features include tag-based workspaces, configurable gaps, a modular status bar, keychord support, and persistent window state across restarts.
12
.SH OPTIONS
13
.TP
14
.B \-\-init
15
Create default config file at
16
.IR ~/.config/oxwm/config.ron
17
.TP
18
.B \-\-config \fIPATH\fR
19
Use a custom config file at the specified path
20
.TP
21
.B \-\-version
22
Print version information and exit
23
.TP
24
.B \-\-help
25
Print help message and exit
26
.SH CONFIGURATION
27
.B oxwm
28
reads its configuration from
29
.IR ~/.config/oxwm/config.ron .
30
If no config exists on first launch, a default template will be created automatically.
31
.PP
32
The config file uses RON (Rusty Object Notation) format and supports:
33
.IP \(bu 2
34
Keybindings (including multi-key keychords)
35
.IP \(bu 2
36
Colors and appearance
37
.IP \(bu 2
38
Status bar blocks (battery, RAM, datetime, shell commands)
39
.IP \(bu 2
40
Gaps and borders
41
.IP \(bu 2
42
Terminal and application settings
43
.IP \(bu 2
44
Variable definitions with #DEFINE
45
.PP
46
After editing the config, reload with
47
.B Mod+Shift+R
48
\(en no compilation required.
49
.SH DEFAULT KEYBINDINGS
50
The default modifier key is
51
.B Super
52
(Mod4). All bindings are customizable in config.ron.
53
.SS Window Management
54
.TP
55
.B Super+Return
56
Spawn terminal (default: st)
57
.TP
58
.B Super+Q
59
Kill focused window
60
.TP
61
.B Super+J, Super+K
62
Cycle focus down/up through windows
63
.TP
64
.B Super+Shift+Space
65
Toggle floating mode for focused window
66
.TP
67
.B Super+Shift+F
68
Toggle fullscreen for focused window
69
.TP
70
.B Super+Control+H/J/K/L
71
Move floating window left/down/up/right
72
.TP
73
.B Super+Shift+H/J/K/L
74
Exchange focused window with neighbor in direction
75
.SS Layouts
76
.TP
77
.B Super+F
78
Switch to floating layout
79
.TP
80
.B Super+C
81
Switch to tiling layout
82
.TP
83
.B Super+A
84
Toggle gaps on/off
85
.TP
86
.B Alt+N
87
Cycle through available layouts
88
.SS Tags (Workspaces)
89
.TP
90
.B Super+1..9
91
View tag 1-9
92
.TP
93
.B Super+Shift+1..9
94
Move focused window to tag 1-9
95
.SS Monitors
96
.TP
97
.B Super+Comma
98
Focus previous monitor
99
.TP
100
.B Super+Period
101
Focus next monitor
102
.SS Launchers
103
.TP
104
.B Super+D
105
Launch dmenu
106
.TP
107
.B Super+S
108
Take screenshot with maim (selection to clipboard)
109
.SS Window Manager
110
.TP
111
.B Super+Shift+Q
112
Quit oxwm
113
.TP
114
.B Super+Shift+R
115
Hot reload oxwm (reload config without restarting X)
116
.SS Keychord Example
117
.TP
118
.B Super+Space, T
119
Spawn terminal (example keychord: two-key sequence)
120
.PP
121
Press
122
.B Escape
123
to cancel any in-progress keychord sequence.
124
.SH KEYCHORDS
125
.B oxwm
126
supports multi-key sequences called keychords. These allow binding complex commands to sequences like "Super+a then f".
127
.PP
128
Example keychord in config.ron:
129
.PP
130
.EX
131
    (keys: [
132
        (modifiers: [Mod4], key: A),
133
        (modifiers: [], key: F),
134
    ], action: ToggleFloating),
135
.EE
136
.PP
137
This binds "Super+a followed by f" to toggle floating mode.
138
.SH FILES
139
.TP
140
.I ~/.config/oxwm/config.ron
141
Main configuration file
142
.TP
143
.I /usr/share/xsessions/oxwm.desktop
144
X session desktop entry (if installed via package manager)
145
.SH ENVIRONMENT
146
.TP
147
.B DISPLAY
148
X11 display to connect to (standard X11 variable)
149
.SH EXAMPLES
150
.TP
151
Start oxwm normally:
152
.EX
153
    oxwm
154
.EE
155
.TP
156
Initialize config file:
157
.EX
158
    oxwm --init
159
.EE
160
.TP
161
Use custom config:
162
.EX
163
    oxwm --config ~/my-oxwm-config.ron
164
.EE
165
.TP
166
Test in Xephyr (nested X server):
167
.EX
168
    Xephyr -screen 1280x800 :1 &
169
    DISPLAY=:1 oxwm
170
.EE
171
.SH TESTING
172
Test oxwm without affecting your current session using Xephyr:
173
.PP
174
.EX
175
    # Start nested X server
176
    Xephyr -screen 1280x800 :1 &
177
178
    # Run oxwm in it
179
    DISPLAY=:1 oxwm
180
.EE
181
.SH BUGS
182
Report bugs at: https://github.com/tonybanters/oxwm/issues
183
.SH SEE ALSO
184
.BR X (7),
185
.BR dwm (1),
186
.BR dmenu (1),
187
.BR xrandr (1)
188
.SH AUTHORS
189
Written by Tony (tonybtw).
190
.PP
191
Inspired by dwm but designed to be user-friendly and eliminate arbitrary elitism.
192
.SH LICENSE
193
GPL v3 - see https://www.gnu.org/licenses/gpl-3.0.en.html