XWIT(1)

NAME
xwit - window interface tool: pop or iconify this xterm window or named windows

SYNOPSIS
xwit
[-display display] [-sync] [-pop] [-focus] [-iconify] [-unmap]
[-raise] [-lower] [-opposite] [-[un]circulate]
[-resize w h] [-rows r] [-columns c] [-[r]move x y]
[-[r]warp x y] [-colormap colormapid] [-[no]save]
[-name name] [-iconname name]
[-bitmap file] [-mask file] [-[r]iconmove x y]
[-[no]backingstore] [-[no]saveunder]
[-[no]keyrepeat keycode ... keycode - keycode ...]
[-keyboard deviceid] [-pointer deviceid] [-xi[r]warp x y]
[-xifocus] [-xisetpointer]
[-id windowid] [-root] [-current] [-select] [-all] [-names initialsubstring...]

DESCRIPTION
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.

OPTIONS

-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.

-print
    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.

-keyboard n
    use keyboard n with xifocus

-pointer n
    use pointer n with xiwarp, xirwarp and xifocus

-xiwarp x y
    warp the specified pointer to the given position relative to the specified window. Add -root to warp to an absolute position.

-xirwarp x y
    move the specified pointer by the given relative amount.

-xifocus
    will give the input focus of the specified keyboard to the specified window

-xisetpointer
    calls XISetClientPointer on the specified window with the specified pointer

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.

EXAMPLES
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

DIAGNOSTICS
Exit status is 0 if any action is taken, 1 if no window matches the list supplied to -names, 2 if an error occurs.

LIMITATIONS
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.

AUTHORS
Mark M Martin, CETIA France, mmm@cetia.fr
David DiGiacomo, david@slack.com

ACKNOWLEDGEMENTS
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.