XWININFO(1)
๐ NAME ๐
okay so the manual name is xwininfo and it's a General Commands Manual page (section 1) ๐ xwininfo is a window information utility for X โจ
๐ SYNOPSIS ๐
xwininfo [-help] [-id wdid] [-root] [-name wdname] [-int] [-children]
[-tree] [-stats] [-bits] [-events] [-size] [-wm] [-shape] [-frame]
[-all] [-english] [-metric] [-display host:dpy] [-version]
โจ DESCRIPTION โจ
bestie, xwininfo is a utility for showing you info about windows ๐ช What you get back depends on which options you pick. If you don't choose any options at all, it assumes -stats ๐ฅฐ
you've got a few ways to pick your target window. You can click any mouse button inside the window you want ๐ฑ๏ธ, or you can hand it a window id on the command line with -id. Or, if ids aren't your thing, the -name option lets you pick a window by its name ๐ซถ And there's a special -root option that instantly gets you info on the screen's root window ๐
๐ OPTIONS ๐
-helpโ prints out theUsage:command syntax summary ๐-id wdidโ lets you name a target windowwdidon the command line so you don't have to use the mouse. This is super useful when you're debugging X applications where the target window isn't mapped to the screen, or where using the mouse might be impossible or mess with the app ๐-name wdnameโ lets you say the window calledwdnameis your target on the command line, instead of clicking it with the mouse ๐-rootโ makes X's root window your target ๐ธ This comes in clutch when the root window is totally covered up by other stuff-intโ shows all X window ids as integer values. The default is hexadecimal values, so this is for when you want decimal vibes instead ๐ข-childrenโ shows the ids and names of the selected window's root, parent, and children windows ๐จโ๐ฉโ๐ง-treeโ basically-children, but it shows all the children recursively, like a whole family tree ๐ณ-statsโ shows a bunch of attributes about where the selected window is and how it looks โจ That includes its location, width and height, depth, border width, visual id and class, colormap id if it has one, map state, backing-store hint, and the location of its corners ๐-bitsโ shows attributes about the window's raw bits and how it gets stored ๐ง You'll see its bit gravity, window gravity, backing-store hint, backing-planes value, backing pixel, and whether or not save-under is set-eventsโ shows the selected window's event masks ๐ฎ You get both the mask of events some client wants, and the mask of events that are not supposed to propagate-sizeโ shows the selected window's sizing hints ๐ For both the normal size hints and the zoom size hints, you'll see: the user supplied location if there is one; the program supplied location if there is one; the user supplied size if there is one; the program supplied size if there is one; the minimum size if there is one; the maximum size if there is one; the resize increments if there are any; and the minimum and maximum aspect ratios if there are any ๐ซง-wmโ shows the selected window's window manager hints ๐ช This might include whether or not the app accepts input, what the window's icon window # and name are, where the icon should go, and what the window's initial state should be-shapeโ shows the selected window's window and border shape extents ๐ฆ-frameโ makes window manager frames count when you're manually selecting windows ๐ผ๏ธ-metricโ shows all the individual heights, widths, and x and y positions in millimeters too, along with the pixel count. This is based on what the server thinks the resolution is ๐ Geometry specs written in+x+yform stay exactly the same-englishโ shows all the individual heights, widths, and x and y positions in inches (and feet, yards, and miles if needed) along with the pixel count ๐บ๐ธ-metricand-englishcan both be turned on at the same time, so go wild ๐-allโ the lazy-girl shortcut to ask for all the info possible ๐-d,-display host:dpyโ lets you pick which server to connect to. See X(7) for more deets ๐ฅ๏ธ-versionโ prints out xwininfo's version info and then exits ๐
๐ง EXAMPLE ๐ง
okay so this is what a sample summary looks like when you don't pass any options:
xwininfo: Window id: 0x60000f "xterm"
Absolute upper-left X: 2
Absolute upper-left Y: 85
Relative upper-left X: 0
Relative upper-left Y: 25
Width: 579
Height: 316
Depth: 8
Visual: 0x1e
Visual Class: PseudoColor
Border width: 0
Class: InputOutput
Colormap: 0x27 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +2+85 -699+85 -699-623 +2-623
-geometry 80x24+0+58
๐ท ENVIRONMENT ๐ท
DISPLAYโ this is how it finds the default host and display number ๐ซถ
๐ SEE ALSO ๐
X(7), xprop(1), xdpyinfo(1), xdriinfo(1), xvinfo(1), glxinfo(1) ๐ซ
๐ BUGS ๐
using -stats -bits shows some redundant information, so you'll see some repeats ๐ญ
the -geometry string that gets displayed has to make some assumptions about the window's border width and how the application and window manager behave. Because of that, the location it gives isn't always correct ๐
๐ฉโ๐ป AUTHOR ๐ฉโ๐ป
Mark Lillibridge, MIT Project Athena ๐
bestie that's the whole page ๐ซถ It's the X Version 11 manual, xwininfo 1.1.6, XWININFO(1) ๐ now go be a window detective ๐ต๏ธโโ๏ธโจ
๐ฆ where this page comes from
- alpine 3.24: xwininfo-doc 1.1.6-r0 ยท MIT
- debian trixie: x11-utils 7.7+7
- fedora 43: xwininfo 1.1.6-3.fc43 ยท MIT
- fedora 44: xwininfo 1.1.6-4.fc44 ยท MIT
- nixos 26.05: xwininfo 1.1.6
- nixpkgs unstable: xwininfo 1.1.6
- opensuse-leap 16.0: xwininfo 1.1.6-bp160.1.12 ยท MIT
- opensuse-leap 16.0: xwininfo 1.1.6-bp160.1.12 ยท MIT
- opensuse-leap 16.0: xwininfo 1.1.6-bp160.1.12 ยท MIT
- opensuse-leap 16.0: xwininfo 1.1.6-bp160.1.12 ยท MIT
- ubuntu noble: x11-utils 7.7+6build2
- ubuntu questing: x11-utils 7.7+7
- ubuntu resolute: x11-utils 7.7+7build1
- ubuntu stonking: x11-utils 7.7+7build1
- Copyright 1988, 1998 The Open Group
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms