1.\" generated with Ronn-NG/v0.10.1
2.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3.TH "HOWLC" "1" "May 2026" ""
4.SH "NAME"
5\fBhowlc\fR \- client to control the howl compositor
6.SH "SYNOPSIS"
7\fBhowlc\fR \fIcmd\fR [\fIargs\fR\|\.\|\.\|\.]
8.SH "DESCRIPTION"
9\fBhowlc\fR is a client that controls the howl(1) compositor\.
10.SH "COMMANDS"
11Most of the following (can be deduced logically) can take an optional window ID argument, e\.g\.: \fBmove 20 20 4\fR, where the first 2 arguments given to \fBmove\fR are the coordinates and the third one is the window ID\. If no window ID is given, then the currently focused window will be targeted (if it exists)\.
12.TP
13\fBmove\fR, \fBmove_absolute\fR
14Will move the window relative to either its current position or to the top left corner of the screen\. Arguments are in the form of pairs of x and y integer coordinates\.
15.IP
16Example:
17.IP
18$ howlc move 20 \-40
19.IP
20$ howlc move_absolute 300 300
21.TP
22\fBresize\fR, \fBresize_absolute\fR
23Will resize the window relative to either its current position or the top left corner of the screen\. Arguments are in the form of pairs of w and h integers\.
24.IP
25Example:
26.IP
27$ howlc resize 20 \-40
28.IP
29$ howlc resize_absolute 300 300
30.TP
31\fBteleport\fR
32Will "teleport" (move and resize) the window to the coordinates specified, in the format of x, y, w and h\.
33.IP
34Example:
35.IP
36$ howlc teleport 50 25 200 250
37.TP
38\fBcenter\fR
39Will position the window in the center of the screen\.
40.IP
41Example:
42.IP
43$ howlc center
44.TP
45\fBfullscreen\fR
46Will resize the window to the screen size\.
47.IP
48Example:
49.IP
50$ howlc fullscreen
51.TP
52\fBhide\fR, \fBshow\fR
53Hide/show the window\.
54.IP
55Example:
56.IP
57$ howlc hide
58.IP
59$ howlc show
60.TP
61\fBfocus_prev\fR, \fBfocus_next\fR
62Focus the previous/next window\.
63.IP
64Example:
65.IP
66$ howlc focus_prev
67.IP
68$ howlc focus_next
69.TP
70\fBlower\fR, \fBraise\fR
71Lower/raise the window's stack order\.
72.IP
73Example:
74.IP
75$ howlc lower
76.IP
77$ howlc raise
78.TP
79\fBclose\fR
80Closes the window\.
81.IP
82Example:
83.IP
84$ howlc close
85.TP
86\fBworkspace\fR, \fBmove_workspace\fR
87Switch, or move the window, to the specified workspace\. Argument is a single integer representing the workspace number\.
88.IP
89Example:
90.IP
91$ howlc workspace 3
92.IP
93$ howlc move_workspace 6
94.TP
95\fBget_geometry\fR, \fBget_pid\fR, \fBget_title\fR, \fBget_app_id\fR
96Print the window's geometry (in x, y, w and h), process ID, title or app ID\.
97.IP
98Example:
99.IP
100$ howlc get_geometry
101.br
102327 148 620 620
103.IP
104$ howlc get_pid
105.br
10612345
107.IP
108$ howlc get_title
109.br
110Example
111.IP
112$ howlc get_app_id
113.br
114example
115.TP
116\fBget_screen_geometry\fR
117Print the current screen's width and height\.
118.IP
119Example:
120.IP
121$ howlc get_screen_geometry
122.br
1231920 1080
124.TP
125\fBlist_windows\fR
126Print a list of currently open windows\. By default only mapped windows are listed, but \fB\-u\fR can be specified as an option to list only unmapped windows, and \fB\-a\fR can be specified to list all windows\.
127.IP
128Example:
129.IP
130$ howlc list_windows \-u
131.br
1320
133.br
13421
135.br
13625
137.TP
138\fBbind\fR
139Create a key binding\. Arguments are in the form of a list of keys and the command to execute, see the \fIBINDINGS\fR section for more info\.
140.IP
141Example:
142.IP
143# Bind modkey+Shift+g to execute "example_command"
144.br
145$ howlc bind mod+shift+g "example_command"
146.IP
147# Bind Win+4 to switch to the 4th workspace
148.br
149$ howlc bind win+4 "howlc workspace 4"
150.TP
151\fBunbind\fR
152Remove a previously registered key binding\.
153.IP
154Example:
155.IP
156$ howlc unbind mod+shift+g
157.TP
158\fBmodkey\fR
159Configure the modifier key\. This can be then used as an alias in keybindings, like so: \fBmod+key\fR\. See the \fIBINDINGS\fR section for allowed values\.
160.IP
161Example:
162.IP
163$ howlc modkey alt
164.IP
165$ howlc modkey win+ctrl
166.TP
167\fBinner_focus_color\fR, \fBinner_unfocus_color\fR, \fBinner_unfocus_color\fR, \fBouter_unfocus_color\fR
168Set the inner/outer focused and unfocused colors of the window borders\. Arguments are in the format of #RRGGBB, where the leading pound sign is optional\. Note that in the format of #RRGGBB, the argument needs to be quoted, since the pound sign (#) is a special one in most shells\.
169.IP
170Example:
171.IP
172$ howlc outer_focus_color "#f03937"
173.IP
174$ howlc inner_unfocus_color eeeeee
175.TP
176\fBinner_border_width\fR, \fBouter_border_width\fR
177Set the inner/outer border widths of the window borders\. Argument is a single integer representing the new border width\.
178.IP
179Example:
180.IP
181$ howlc inner_border_width 4
182.IP
183$ howlc outer_border_width 0
184.TP
185\fBtitle_format\fR
186Set the format for the text displayed in window titlebars\. Currently accepted specifiers are:
187.IP
188\fB%t\fR \- window title
189.br
190\fB%a\fR \- window app ID
191.br
192\fB%p\fR \- window PID
193.IP
194Example:
195.IP
196$ howlc title_format '%t %p'
197.TP
198\fBset_decor\fR
199Set the current window decoration theme\. Argument is a path (absolute or relative) to the directory containing the theme\. See decor\.c on the format of themes\.
200.IP
201Example:
202.IP
203$ howlc set_decor ~/etc/decorations/theme
204.TP
205\fBquit\fR
206Quit the compositor\.
207.IP
208Example:
209.IP
210$ howlc quit
211.SH "BINDINGS"
212The format for keybindings is the following:
213.P
214Each key/modifier in the binding string is separated by a plus (+) sign\. There can be multiple modifiers, but only one key\. The accepted modifiers are:
215.IP "\(bu" 4
216\fBmod\fR: Corresponds to the modifier key
217.IP "\(bu" 4
218\fBalt\fR: The Alt key
219.IP "\(bu" 4
220\fBwin\fR: The Win key, sometimes the logo
221.IP "\(bu" 4
222\fBctrl\fR: The Ctrl key
223.IP "\(bu" 4
224\fBshift\fR: The Shift key
225.IP "\(bu" 4
226\fBany\fR: Any, (and) no modifiers
227.IP "" 0
228.P
229The accepted key strings are as specified in \fB<xkbcommon/xkbcommon\-keysyms\.h>\fR\.
230.SH "BUGS"
231The manual does not specify the names for modifiers on other platforms\.
232.P
233Please report any other ones, which there are probably many of\.
234.SH "COPYRIGHT"
235\fBhowl\fR and \fBhowlc\fR are (C) wf 2026 \fIhttps://sr\.ht/~wf\fR\.
236.SH "SEE ALSO"
237README\.md, howl(1)