Window interface tool: pop or iconify this xterm window or named windows
xwit [-display display] [-sync] [-pop] [-focus] [-iconify] [-unmap]
[-raise] [-lower] [-opposite] [-[un]circulate]
[-resize wh] [-rows r] [-columns c] [-[r]move xy]
[-[r]warp xy] [-colormap colormapid] [-[no]save]
[-name name] [-iconname name]
[-bitmap file] [-mask file] [-[r]iconmove xy]
[-[no]backingstore] [-[no]saveunder]
[-[no]keyrepeat keycode ... keycode - keycode ...]
[-id windowid] [-root] [-current] [-select] [-all] [-names initialsubstring...]
xwit is an X window interface tool. By default when used with no arguments in an xterm it de-iconifies and raises the window. You can specify a different function to do, such as iconifying the window, and apply it to several windows whose name begins with one of the given strings, or a particular window id given, or the window id found in the environment variable WINDOWID (which is set by xterm for the program it runs), or the window under the mouse cursor.
-display
is followed by the display to open.
-sync
causes all X requests to be performed synchronously.
-property property
causes the specified property to be used instead of the windows name (which is WM_NAME). Some possible values are: WM_CLASS, WM_COMMAND, WM_ICON_NAME, WM_CLIENT_MACHINE.
-pop
is the default action. It need only be given if it is wanted as well as some other function.
-focus
will give the input focus to the specified window.
-iconify
will iconify the windows instead of popping them.
-unmap
will iconify windows by unmapping with a non ICCCM compliant window manager. (Beware, this option is not usually what you want).
-raise
raise windows (but do not map them if unmapped).
-lower
lower windows.
-opposite
toggle the stacking of windows from top to bottom among any overlapping windows.
-circulate
circulate a window's subwindows forward. Use this with -root.
-uncirculate
circulate a window's subwindows backward. Use this with -root.
-resize w h
resize windows to the given pixel size.
-rows r
resize windows to the given number of rows.
-columns c
resize windows to the given number of columns.
-move x y
move windows to the given absolute position relative to its parent. (If the x or y value is negative it is taken relative to the right or bottom edge of the parent.)
-rmove x y
move windows by the given relative amount.
-warp x y
move the cursor to the given position relative to the specified window. Add -root to warp to an absolute position.
-rwarp x y
move the cursor by the given relative amount.
-colormap colormapid
install the given colormap into the given window. -save -nosave immediately enable or disable the screen saver.
-name name
set the WM_NAME property to the given string.
-iconname name
set the WM_ICON_NAME property to the given string.
-bitmap file
use the given bitmap file as the icon bitmap for the window.
-mask file
use the given bitmap file as the icon mask for the window.
-iconmove x y
move icons to the given absolute position. (Will not work with some window managers.)
-riconmove x y
move icons by the given relative amount. (Will not work with some window managers.)
-backingstore -bs -nobackingstore -nobs
enable or disable backing store for the window.
-saveunder -su -nosaveunder -nosu
enable or disable saveunders for the window.
-keyrepeat -nokeyrepeat
is followed by a list of keycodes (decimal numbers, see xmodmap(1)). A range can be specified as a lower number, ``-'', and upper number as three separate arguments. The individual setting of auto-repeat for those keycodes is set on or off. The global setting of auto-repeat can be set with xset(1). When off, no keys will repeat.
will print the id, the coordinates, the depth and the name of all selected windows. If -property is given, that one will be printed instead of the name.
Window Selection
If no window is specified, $WINDOWID will be used if set; otherwise the window under the cursor will be selected.
-id
is followed by a single window number, in decimal; or, if it begins with 0x, in hexadecimal.
-root
selects the root window.
-current
selects the window under the cursor (default if no window specified and $WINDOWID not set).
-select
allows the user to interactively select a window with the mouse.
-all
is equivalent to -names '', as easier to remember.
-names
if given must be the last option and is followed by a list of strings. All windows that have a name that begins exactly like one of the strings will be acted upon. If -property is given, this property is used instead of the name. By using a null string (-names ''), all names will be matched.
To de-iconify and pop ``this'' xterm and warp the cursor into it:
xwit -pop -warp 50 50
To interactively select an xterm, and resize it to 34 rows and 80 columns:
xwit -select -rows 34 -columns 80
To gently agitate your oclock on the screen:
while xwit -rmove 0 10 -names oclock do xwit -rmove 0 -10 -names oclock done
Exit status is 0 if any action is taken, 1 if no window matches the list supplied to -names, 2 if an error occurs.
Since each application is supposed to request these functions of the window manager, some of them may not like other clients mapping and unmapping them behind their backs. Iconification is requested of the window manager using the ICCCM. Non ICCCM compliant window managers may not react correctly.
Mark M Martin, CETIA France, [email protected]
David DiGiacomo, [email protected]
Thanks to Andre Delafontaine, Norman R. McBride, Keith Thompson, Glen R. Walker, Michael Mauch, Dima Barsky and Decklin Foster for bug reports, suggestions and/or patches.