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
ImageMagick suite allows the construction of a useful
pipeline: $ xwd | convert xwd:- 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. == Image format ==