In the X Window System, the program xwd (X Window dump) captures the content of a screen or of a window and optionally saves it into a file.
xwd runs in one of two ways: if a user specifies the whole screen or the name or identifier of a window as an argument, the program captures the content of the window; otherwise, it changes the shape of the cursor and waits for the user to click in a window, whose content is then captured.
At the X Window core protocol level, xwd uses the fact that any X client can request the content of an arbitrary window, including ones it did not create, using the
GetImage request (this is done by the
XGetImage function in the Xlib library). The content of the whole screen is obtained by requesting the content of the root window.
The file generated by xwd can then be read by various other X utilities such as xwud, sxwd, xv, and the GIMP, or converted to other formats; the netpbm suite allows the construction of a useful pipeline:
$ xwd | xwdtopnm | pnmtopng > Screenshot.png
The dumps are larger in size than files in most image file formats – not only compressed formats such as PNG, but also uncompressed bitmap formats like BMP.
|Developed by||X Window System|
|Initial release||X10 / 1985|
(September 1987 )
|Type of format||Image file formats|
|Open format?||MIT license|
Various image viewers and tools support the X11
.xwd format, among others the GIMP, ImageMagick, Netpbm, and XnView. In version 2.1.4 FFmpeg supported pixel formats bgra, rgba, argb, abgr, rgb24, bgr24, rgb565be, rgb565le, bgr565be, bgr565le, rgb555be, rgb555le, bgr555be, bgr555le, rgb8, bgr8, rgb4_byte, bgr4_byte, pal8, gray, and monow. In these abbreviations 555 means 32768=32×32×32 colors, 565 means 65536 colors (6 bits for green), rgba is red-green-blue-alpha, 4 or 8 stands for 16 or 256 colors, le or be is the endianness, pal is an input palette, etc. as listed by
Details of the
.xwd format in
xwdfile.h depend on the platform, therefore it is unsuited for cross-platform applications and has no MIME image type.
The X window dump (xwd) tool takes a snapshot of the current screen, a manually selected window or a window designated by its numeric ID, and outputs the image to standard output or to a file.