JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
manpage fixes from Andrea Bolognani <eof@kiyuko.org>
[spectrwm.git] / scrotwm.1
1 .\"     $scrotwm$
2 .\"
3 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
4 .\" Copyright (c) 2009 Darrin Chandler <dwchandler@stilyagin.com>
5 .\"
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
9 .\"
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\"
18 .Dd $Mdocdate$
19 .Dt SCROTWM 1
20 .Os
21 .Sh NAME
22 .Nm scrotwm
23 .Nd window manager for X11
24 .Sh SYNOPSIS
25 .Nm scrotwm
26 .Sh DESCRIPTION
27 .Nm
28 is a minimalistic window manager that tries to stay out of the way so that
29 valuable screen real estate can be used for much more important stuff.
30 It has sane defaults and does not require one to learn a language to do any
31 configuration.
32 It was written by hackers for hackers and it strives to be small, compact and
33 fast.
34 .Pp
35 When
36 .Nm
37 starts up, it reads settings from its configuration file,
38 .Pa scrotwm.conf .
39 See the
40 .Sx CONFIGURATION FILES
41 section below.
42 .Pp
43 The following notation is used throughout this page:
44 .Pp
45 .Bl -tag -width Ds -offset indent -compact
46 .It Cm M
47 Meta
48 .It Cm S
49 Shift
50 .It Aq Cm Name
51 Named key
52 .It Cm M1
53 Mouse button 1
54 .It Cm M3
55 Mouse button 3
56 .El
57 .Pp
58 .Nm
59 is very simple in its use.
60 Most of the actions are initiated via key or mouse bindings.
61 See the
62 .Sx BINDINGS
63 section below for defaults and customizations.
64 .Sh CONFIGURATION FILES
65 .Nm
66 first tries to open the user specific file,
67 .Pa ~/.scrotwm.conf .
68 If that file is unavailable,
69 it then tries to open the global configuration file
70 .Pa /etc/scrotwm.conf .
71 .Pp
72 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
73 For example:
74 .Pp
75 .Dl color_focus = red
76 .Pp
77 Enabling or disabling an option is done by using 1 or 0 respectively.
78 .Pp
79 The file supports the following keywords:
80 .Pp
81 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
82 .It Cm autorun
83 Launch an application in a specified workspace at start-of-day.
84 Defined in the format ws[<idx>]:application, e.g. ws[2]:xterm launches an
85 xterm in workspace 2.
86 .It Cm color_focus
87 Border color of the currently focussed window.
88 .It Cm color_unfocus
89 Border color of unfocussed windows.
90 .It Cm bar_enabled
91 Enable or disable status bar.
92 .It Cm bar_border Ns Bq Ar x
93 Color of the status bar border in screen
94 .Ar x .
95 .It Cm bar_border_width
96 Set status bar border thickness in pixels.
97 Disable border by setting to 0.
98 .It Cm bar_color Ns Bq Ar x
99 Color of the status bar window in screen
100 .Ar x .
101 .It Cm bar_font_color Ns Bq Ar x
102 Color of the font in status bar in screen
103 .Ar x .
104 .It Cm bar_font
105 Status bar font.
106 .It Cm bar_action
107 External script that populates additional information in the status bar,
108 such as battery life.
109 .It Cm bar_delay
110 Update frequency, in seconds, of external script that populates the status bar.
111 .It Cm bar_at_bottom
112 Place the statusbar at the bottom of each region instead of the top.
113 .It Cm stack_enabled
114 Enable or disable displaying the current stacking algorithm in the status bar.
115 .It Cm clock_enabled
116 Enable or disable displaying the clock in the status bar.
117 Disable by setting to 0
118 so a custom clock could be used in the
119 .Pa bar_action
120 script.
121 .It Cm dialog_ratio
122 Some applications have dialogue windows that are too small to be useful.
123 This ratio is the screen size to what they will be resized.
124 For example, 0.6 is 60% of the physical screen size.
125 .It Cm layout
126 Select layout to use at start-of-day.
127 Defined in the format
128 ws[idx]:master_grow:master_add:stack_inc:layout:always_raise:stack_mode, e.g.
129 ws[2]:-4:0:1:0:horizontal sets worskspace 2 to the horizontal stack mode and
130 shrinks the master area by 4 ticks and adds one window to the stack, while
131 maintaining default floating window behavior.
132 Possible stack_mode values are
133 .Pa vertical ,
134 .Pa horizontal
135 and
136 .Pa fullscreen .
137 .Pp
138 See
139 .Pa master_grow ,
140 .Pa master_shrink ,
141 .Pa master_add ,
142 .Pa master_del ,
143 .Pa stack_inc ,
144 .Pa stack_del ,
145 and
146 .Pa always_raise
147 for more information.
148 Note that the stacking options are complicated and have side-effects.
149 One should familiarize oneself with these commands before experimenting with the
150 .Pa layout
151 option.
152 .Pp
153 This setting is not retained at restart.
154 .It Cm region
155 Allocates a custom region, removing any autodetected regions which occupy the same
156 space on the screen.
157 Defined in the format screen[<idx>]:WIDTHxHEIGHT+X+Y,
158 e.g.\& screen[1]:800x1200+0+0.
159 .Pp
160 To make a screen span multiple monitors, create a region big enough to cover
161 them all, e.g. screen[1]:2048x768+0+0 makes the screen span two monitors with
162 1024x768 resolution sitting one next to the other.
163 .It Cm term_width
164 Set a preferred minimum width for the terminal.
165 If this value is greater than 0,
166 .Nm
167 will attempt to adjust the font sizes in the terminal to keep the terminal
168 width above this number as the window is resized.
169 Only
170 .Xr xterm 1
171 is currently supported.
172 The
173 .Xr xterm 1
174 binary must not be setuid or setgid, which it is by default on most systems.
175 Users may need to set program[term] (see the
176 .Sx PROGRAMS
177 section) to use an alternate copy of the
178 .Xr xterm 1
179 binary without the setgid bit set.
180 .It Cm title_class_enabled
181 Enable or disable displaying the window class in the status bar.
182 Enable by setting to 1.
183 .It Cm title_name_enabled
184 Enable or disable displaying the window title in the status bar.
185 Enable by setting to 1.
186 .It Cm urgent_enabled
187 Enable or disable the urgency hint.
188 Note that many terminal emulators require this to be enabled for it to
189 propagate.  In xterm, for example, one needs to add the following line
190 .Pa xterm.urgentOnBell: true
191 to
192 .Pa .Xdefaults .
193 .It Cm window_name_enabled
194 Enable or disable displaying the window name in the status bar.
195 Enable by setting to 1.
196 .It Cm verbose_layout
197 Enable or disable displaying the current master and stack values in the status
198 bar.
199 Enable by setting to 1.
200 .It Cm modkey
201 Change mod key.
202 Mod1 is generally the ALT key and Mod4 is the windows key on a PC.
203 .It Cm focus_mode
204 Using a value of
205 .Pa follow_cursor
206 will make the window manager focus the window
207 under the mouse when switching workspaces and creating windows.
208 .It Cm disable_border
209 Remove border when bar is disabled and there is only one window on the screen.
210 .It Cm border_width
211 Set window border thickness in pixels.
212 Disable all borders by setting to 0.
213 .It Cm program Ns Bq Ar p
214 Define new action to spawn a program
215 .Ar p .
216 See the
217 .Sx PROGRAMS
218 section below.
219 .It Cm bind Ns Bq Ar x
220 Bind key combo to action
221 .Ar x .
222 See the
223 .Sx BINDINGS
224 section below.
225 .It Cm quirk Ns Bq Ar c:n
226 Add "quirk" for windows with class
227 .Ar c
228 and name
229 .Ar n .
230 See the
231 .Sx QUIRKS
232 section below.
233 .El
234 .Pp
235 Colors need to be specified per the
236 .Xr XQueryColor 3
237 specification and fonts need to be specified per the
238 .Xr XQueryFont 3
239 specification.
240 .Pp
241 To list the available fonts in your system see
242 .Xr fc-list 1
243 or
244 .Xr xlsfonts 1
245 manpages.
246 The 
247 .Xr xfontsel 1
248 application can help you to show the X Logical Font Description ("XLFD") used
249 as setting in the keyword
250 .Pa bar_font .
251 .Sh PROGRAMS
252 .Nm
253 allows you to define custom actions to launch programs of your choice and then
254 bind them the same as with built-in actions.
255 See the
256 .Sx BINDINGS
257 section below.
258 .Pp
259 The default programs are described below:
260 .Pp
261 .Bl -tag -width "screenshot_wind" -offset indent -compact
262 .It Cm term
263 xterm
264 .It Cm screenshot_all
265 screenshot.sh full
266 .It Cm screenshot_wind
267 screenshot.sh window
268 .It Cm lock
269 xlock
270 .It Cm initscr
271 initscreen.sh
272 .It Cm menu
273 dmenu_run \-fn $bar_font \-nb $bar_color \-nf $bar_font_color \-sb $bar_border \-sf $bar_color
274 .El
275 .Pp
276 Custom programs in the configuration file are specified as follows:
277 .Pp
278 .Dl program[<name>] = <progpath> [<arg> [... <arg>]]
279 .Pp
280 .Aq name
281 is any identifier that does not conflict with a built-in action or keyword,
282 .Aq progpath
283 is the desired program, and
284 .Aq arg
285 is zero or more arguments to the program.
286 .Pp
287 The following variables represent settable values in
288 .Nm
289 (see the
290 .Sx CONFIGURATION FILES
291 section above),
292 and may be used in the
293 .Aq arg
294 fields and will be substituted for values at the time the program is spawned:
295 .Pp
296 .Bl -tag -width "$bar_font_color" -offset indent -compact
297 .It Cm $bar_border
298 .It Cm $bar_color
299 .It Cm $bar_font
300 .It Cm $bar_font_color
301 .It Cm $color_focus
302 .It Cm $color_unfocus
303 .El
304 .Pp
305 Example:
306 .Bd -literal -offset indent
307 program[ff] = /usr/local/bin/firefox http://scrotwm.org/
308 bind[ff] = Mod+f # Now Mod+F launched firefox
309 .Ed
310 .Pp
311 To undo the previous:
312 .Bd -literal -offset indent
313 bind[] = Mod+f
314 program[ff] =
315 .Ed
316 .Pp
317 .Sh BINDINGS
318 .Nm
319 provides many functions (or actions) accessed via key or mouse bindings.
320 .Pp
321 The current mouse bindings are described below:
322 .Pp
323 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
324 .It Cm M1
325 Focus window
326 .It Cm M-M1
327 Move window
328 .It Cm M-M3
329 Resize window
330 .It Cm M-S-M3
331 Resize window while maintaining it centered
332 .El
333 .Pp
334 The default key bindings are described below:
335 .Pp
336 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
337 .It Cm M-S- Ns Aq Cm Return
338 term
339 .It Cm M-p
340 menu
341 .It Cm M-S-q
342 quit
343 .It Cm M-q
344 restart
345 .It Cm M- Ns Aq Cm Space
346 cycle_layout
347 .It Cm M-S- Ns Aq Cm Space
348 reset_layout
349 .It Cm M-h
350 master_shrink
351 .It Cm M-l
352 master_grow
353 .It Cm M-,
354 master_add
355 .It Cm M-.
356 master_del
357 .It Cm M-S-,
358 stack_inc
359 .It Cm M-S-.
360 stack_del
361 .It Cm M- Ns Aq Cm Return
362 swap_main
363 .It Xo
364 .Cm M-j ,
365 .Cm M- Ns Aq Cm TAB
366 .Xc
367 focus_next
368 .It Xo
369 .Cm M-k ,
370 .Cm M-S- Ns Aq Cm TAB
371 .Xc
372 focus_prev
373 .It Cm M-m
374 focus_main
375 .It Cm M-S-j
376 swap_next
377 .It Cm M-S-k
378 swap_prev
379 .It Cm M-b
380 bar_toggle
381 .It Cm M-x
382 wind_del
383 .It Cm M-S-x
384 wind_kill
385 .It Cm M- Ns Aq Ar n
386 .Ns ws_ Ns Ar n
387 .It Cm M-S- Ns Aq Ar n
388 .Ns mvws_ Ns Ar n
389 .It Cm M- Ns Aq Cm Right
390 ws_next
391 .It Cm M- Ns Aq Cm Left
392 ws_prev
393 .It Cm M-a
394 ws_prior
395 .It Cm M-S- Ns Aq Cm Right
396 screen_next
397 .It Cm M-S- Ns Aq Cm Left
398 screen_prev
399 .It Cm M-s
400 screenshot_all
401 .It Cm M-S-s
402 screenshot_wind
403 .It Cm M-S-v
404 version
405 .It Cm M-t
406 float_toggle
407 .It Cm M-S- Ns Aq Cm Delete
408 lock
409 .It Cm M-S-i
410 initscr
411 .It Cm M-w
412 iconify
413 .It Cm M-S-w
414 uniconify
415 .It Cm M-S-r
416 always_raise
417 .It Cm M-v
418 button2
419 .El
420 .Pp
421 The action names and descriptions are listed below:
422 .Pp
423 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
424 .It Cm term
425 Spawn a new terminal
426 (see
427 .Sx PROGRAMS
428 above).
429 .It Cm menu
430 Menu
431 (see
432 .Sx PROGRAMS
433 above).
434 .It Cm quit
435 Quit
436 .Nm .
437 .It Cm restart
438 Restart
439 .Nm .
440 .It Cm cycle_layout
441 Cycle layout.
442 .It Cm reset_layout
443 Reset layout.
444 .It Cm master_shrink
445 Shrink master area.
446 .It Cm master_grow
447 Grow master area.
448 .It Cm master_add
449 Add windows to master area.
450 .It Cm master_del
451 Remove windows from master area.
452 .It Cm stack_inc
453 Add columns/rows to stacking area.
454 .It Cm stack_del
455 Remove columns/rows from stacking area.
456 .It Cm swap_main
457 Move current window to master area.
458 .It Cm focus_next
459 Focus next window in workspace.
460 .It Cm focus_prev
461 Focus previous window in workspace.
462 .It Cm focus_main
463 Focus on main window in workspace.
464 .It Cm swap_next
465 Swap with next window in workspace.
466 .It Cm swap_prev
467 Swap with previous window in workspace.
468 .It Cm bar_toggle
469 Toggle status bar in all workspaces.
470 .It Cm wind_del
471 Delete current window in workspace.
472 .It Cm wind_kill
473 Destroy current window in workspace.
474 .It Cm ws_ Ns Ar n
475 Switch to workspace
476 .Ar n ,
477 where
478 .Ar n
479 is 1 through 10.
480 .It Cm mvws_ Ns Ar n
481 Move current window to workspace
482 .Ar n ,
483 where
484 .Ar n
485 is 1 through 10.
486 .It Cm ws_next
487 Switch to next workspace with a window in it.
488 .It Cm ws_prev
489 Switch to previous workspace with a window in it.
490 .It Cm ws_prior
491 Switch to last visited workspace.
492 .It Cm screen_next
493 Move pointer to next region.
494 .It Cm screen_prev
495 Move pointer to previous region.
496 .It Cm screenshot_all
497 Take screenshot of entire screen (if enabled)
498 (see
499 .Sx PROGRAMS
500 above).
501 .It Cm screenshot_wind
502 Take screenshot of selected window (if enabled)
503 (see
504 .Sx PROGRAMS
505 above).
506 .It Cm version
507 Toggle version in status bar.
508 .It Cm float_toggle
509 Toggle focused window between tiled and floating.
510 .It Cm lock
511 Lock screen
512 (see
513 .Sx PROGRAMS
514 above).
515 .It Cm initscr
516 Reinitialize physical screens
517 (see
518 .Sx PROGRAMS
519 above).
520 .It Cm iconify
521 Minimize (unmap) currently focused window.
522 .It Cm uniconify
523 Maximize (map) window returned by dmenu selection.
524 .It Cm always_raise
525 When set tiled windows are allowed to obscure floating windows.
526 .It Cm button2
527 Fake a middle mouse button click (mouse button 2).
528 .El
529 .Pp
530 Custom bindings in the configuration file are specified as follows:
531 .Pp
532 .Dl bind[<action>] = <keys>
533 .Pp
534 .Aq action
535 is one of the actions listed above (or empty) and
536 .Aq keys
537 is in the form of zero or more modifier keys
538 (MOD, Mod1, Shift, etc.) and one or more normal keys
539 (b, space, etc.), separated by "+".
540 For example:
541 .Bd -literal -offset indent
542 bind[reset] = Mod4+q # bind Windows-key + q to reset
543 bind[] = Mod1+q # unbind Alt + q
544 .Ed
545 .Pp
546 Multiple key combinations may be bound to the same action.
547 .Sh QUIRKS
548 .Nm
549 provides "quirks" which handle windows that must be treated specially
550 in a tiling window manager, such as some dialogs and fullscreen apps.
551 .Pp
552 The default quirks are described below:
553 .Pp
554 .Bl -tag -width "OpenOffice.org N.M:VCLSalFrame<TAB>XXX" -offset indent -compact
555 .It Firefox\-bin:firefox\-bin
556 TRANSSZ
557 .It Firefox:Dialog
558 FLOAT
559 .It Gimp:gimp
560 FLOAT + ANYWHERE
561 .It MPlayer:xv
562 FLOAT + FULLSCREEN + FOCUSPREV
563 .It OpenOffice.org 2.4:VCLSalFrame
564 FLOAT
565 .It OpenOffice.org 3.1:VCLSalFrame
566 FLOAT
567 .It pcb:pcb
568 FLOAT
569 .It xine:Xine Window
570 FLOAT + ANYWHERE
571 .It xine:xine Panel
572 FLOAT + ANYWHERE
573 .It xine:xine Video Fullscreen Window
574 FULLSCREEN + FLOAT
575 .It Xitk:Xitk Combo
576 FLOAT + ANYWHERE
577 .It Xitk:Xine Window
578 FLOAT + ANYWHERE
579 .It XTerm:xterm
580 XTERM_FONTADJ
581 .El
582 .Pp
583 The quirks themselves are described below:
584 .Pp
585 .Bl -tag -width "XTERM_FONTADJ<TAB>XXX" -offset indent -compact
586 .It FLOAT
587 This window should not be tiled, but allowed to float freely.
588 .It TRANSSZ
589 Adjusts size on transient windows that are too small using dialog_ratio
590 (see
591 .Sx CONFIGURATION FILES ) .
592 .It ANYWHERE
593 Allow window to position itself, uncentered.
594 .It XTERM_FONTADJ
595 Adjust xterm fonts when resizing.
596 .It FULLSCREEN
597 Remove border to allow window to use full screen size.
598 .It FOCUSPREV
599 On exit force focus on previously focused application not previous application
600 in the stack.
601 .El
602 .Pp
603 Custom quirks in the configuration file are specified as follows:
604 .Pp
605 .Dl quirk[<class>:<name>] = <quirk> [ + <quirk> ... ]
606 .Pp
607 .Aq class
608 and
609 .Aq name
610 specify the window to which the quirk(s) apply, and
611 .Aq quirk
612 is one of the quirks from the list above.
613 For example:
614 .Bd -literal -offset indent
615 quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
616 quirk[pcb:pcb] = NONE  # remove existing quirk
617 .Ed
618 .Pp
619 You can obtain
620 .Aq class
621 and
622 .Aq name
623 by running xprop(1) and then clicking on the desired window.
624 In the following example the main window of Firefox was clicked:
625 .Bd -literal -offset indent
626 $ xprop | grep WM_CLASS
627 WM_CLASS(STRING) = "Navigator", "Firefox"
628 .Ed
629 .Pp
630 Note that grepping for WM_CLASS flips class and name.
631 In the example above the quirk entry would be:
632 .Bd -literal -offset indent
633 quirk[Firefox:Navigator] = FLOAT
634 .Ed
635 .Pp
636 .Nm
637 also automatically assigns quirks to windows based on the value 
638 of the window's _NET_WM_WINDOW_TYPE property as follows:
639 .Pp
640 .Bl -tag -width "_NET_WM_WINDOW_TYPE_TOOLBAR<TAB>XXX" -offset indent -compact
641 .It _NET_WM_WINDOW_TYPE_DOCK
642 FLOAT + ANYWHERE
643 .It _NET_WM_WINDOW_TYPE_TOOLBAR
644 FLOAT + ANYWHERE
645 .It _NET_WM_WINDOW_TYPE_UTILITY
646 FLOAT + ANYWHERE
647 .It _NET_WM_WINDOW_TYPE_SPLASH
648 FLOAT
649 .It _NET_WM_WINDOW_TYPE_DIALOG
650 FLOAT
651 .El
652 .Pp
653 In all other cases, no automatic quirks are assigned to the window. 
654 Quirks specified in the configuration file override the automatic quirks.
655 .Sh EWMH
656 .Nm
657 partially implements the Extended Window Manager Hints (EWMH) specification. 
658 This enables controlling windows as well as
659 .Nm
660 itself from external scripts and programs. This is achieved by 
661 .Nm
662 responding to certain ClientMessage events. From the terminal these events 
663 can be conveniently sent using tools such as
664 .Xr wmctrl 1
665 and
666 .Xr xdotool 1 .
667 For the
668 actual format of these ClientMessage events, see the EWMH specification.
669 .Pp
670 The id of the currently focused window is stored in the _NET_ACTIVE_WINDOW 
671 property of the root window. This can be used for example to retrieve the 
672 title of the currently active window with
673 .Xr xprop 1
674 and
675 .Xr grep 1 :
676 .Bd -literal -offset indent
677 $ WINDOWID=`xprop \-root _NET_ACTIVE_WINDOW | grep \-o "0x.*"`
678 $ xprop \-id $WINDOWID WM_NAME | grep \-o "\\".*\\""
679 .Ed
680 .Pp
681 A window can be focused by sending a _NET_ACTIVE_WINDOW client message 
682 to the root window. For example, using
683 .Xr wmctrl 1
684 to send the message
685 (assuming 0x4a0000b is the id of the window to be focused):
686 .Bd -literal -offset indent
687 $ wmctrl \-i \-a 0x4a0000b
688 .Ed
689 .Pp
690 Windows can be closed by sending a _NET_CLOSE_WINDOW client message 
691 to the root window. For example, using
692 .Xr wmctrl 1
693 to send the message
694 (assuming 0x4a0000b is the id of the window to be closed):
695 .Bd -literal -offset indent
696 $ wmctrl \-i \-c 0x4a0000b
697 .Ed
698 .Pp
699 Windows can be floated and un-floated by adding or removing the 
700 _NET_WM_STATE_ABOVE atom from the _NET_WM_STATE property of the window. 
701 This can be achieved by sending a _NET_WM_STATE client message to the 
702 root window. For example, the following toggles the floating state of 
703 a window using
704 .Xr wmctrl 1
705 to send the message (assuming 0x4a0000b is the  id of the window floated
706 or un-floated):
707 .Bd -literal -offset indent
708 $ wmctrl \-i \-r 0x4a0000b \-b toggle,_NET_WM_STATE_ABOVE
709 .Ed
710 .Pp
711 Floating windows can also be resized and moved by sending a 
712 _NET_MOVERESIZE_WINDOW client message to the root window. For example, 
713 using
714 .Xr wmctrl 1
715 to send the message (assuming 0x4a0000b is the id of
716 the window to be resize/moved):
717 .Bd -literal -offset indent
718 $ wmctrl \-i \-r 0x4a0000b \-e 0,100,50,640,480
719 .Ed
720 .Pp
721 This moves the window to (100,50) and resizes it to 640x480.
722 .Pp
723 Any _NET_MOVERESIZE_WINDOW events received for stacked windows are ignored.
724 .Pp
725 .Sh SIGNALS
726 Sending
727 .Nm
728 a HUP signal will restart it.
729 .Sh FILES
730 .Bl -tag -width "/etc/scrotwm.confXXX" -compact
731 .It Pa ~/.scrotwm.conf
732 .Nm
733 user specific settings.
734 .It Pa /etc/scrotwm.conf
735 .Nm
736 global settings.
737 .El
738 .Sh HISTORY
739 .Nm
740 was inspired by xmonad & dwm.
741 .Sh AUTHORS
742 .An -nosplit
743 .Nm
744 was written by:
745 .Pp
746 .Bl -tag -width "Ryan Thomas McBride Aq mcbride@countersiege.com " -offset indent -compact
747 .It Cm Marco Peereboom Aq marco@peereboom.us
748 .It Cm Ryan Thomas McBride Aq mcbride@countersiege.com
749 .It Cm Darrin Chandler Aq dwchandler@stilyagin.com
750 .It Cm Pierre-Yves Ritschard Aq pyr@spootnik.org
751 .It Cm Tuukka Kataja Aq stuge@xor.fi
752 .It Cm Jason L. Wright Aq jason@thought.net
753 .El
754 .Sh BUGS
755 Currently the menu, invoked with
756 .Cm M-p ,
757 depends on dmenu.