Xlib And higher-Level Libraries The low-level library used by all X clients is called 'Xlib'. It supports primitive operations (receiving events, drawing top-level windows and child windows, drawing graphics primitives, handling fonts, pixmaps, and so on). Since Xlib does not support widgets, writing an entire application using Xlib takes too much effort, and thus graphical toolkits are used on top of Xlib. Because Xlib is common to all toolkits running on X, it allows to add various features to all of them - e.g. support for data compression, support for drawing inside a web browser (instead of using a real X server), etc.