XWIT(1)

πŸ“¦
version 3.4 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing

🌸 XWIT(1) β€” General Commands Manual 🌸

hiii bestie welcome to the xwit page, it's from the General Commands Manual section and honestly it's a whole vibe πŸ’… it's a lil X window manipulation tool and by the end of this you're gonna be popping and iconifying windows like it's nothing, no cap ✨


πŸŽ€ 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 ...]
     [-id windowid] [-root] [-current] [-select] [-all] [-names
     initialsubstring...]

✨ DESCRIPTION ✨

okay so xwit is an X window interface tool. That's the whole thing, that's the job πŸ’–

By default, if you run it with no arguments inside an xterm, it de-iconifies and raises the window. Like, it un-minimizes your terminal and yanks it to the front, main character energy fr fr πŸ‘‘

But you can also tell it to do something different β€” iconifying the window, for example β€” and then apply that action to:

  • several windows whose name begins with one of the strings you give it 🫢
  • a particular window id you hand over
  • 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 πŸ–±οΈ

So many options, so much power, we love to see it.


πŸ’… 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 window's 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 only needs to be given if you want it as well as some other function. (yes bestie, popping is the factory setting πŸ’–)
  • -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. Like, seriously, look away πŸ™ˆ
  • -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.

πŸ–±οΈ Window Selection πŸ–±οΈ

If no window is specified, $WINDOWID will be used if set; otherwise the window under the cursor will be selected. (automatic queen behavior πŸ’…)

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

(that last one is honestly so unserious and I'm obsessed with it πŸ•βœ¨)


πŸ’€ DIAGNOSTICS πŸ’€

Exit status is:

  1. 0 if any action is taken πŸŽ‰
  2. 1 if no window matches the list supplied to -names 😭
  3. 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. (drama 😳)

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. absolute legends, every single one πŸ’œ


okay that's the whole page bestie!! this version dropped 2 Dec 2005 and it lives in section XWIT(1) of the General Commands Manual β€” now go forth and pop some windows, you've got this πŸŒŸπŸ’–

πŸ“¦ where this page comes from