The X Window System allows windows to nest inside each other, creating a tree-like structure, which enables features like automatic cursor changes and input events tied to sub-windows without client intervention. However, this approach has fallen out of favor due to rendering issues on the server side and the need to ship extra data over the network for client-side rendering. Modern toolkits use a single X window with no nested sub-windows, and all UI elements are drawn directly into that window by the client. The client tracks the mouse pointer and sends requests to the server for changing cursors as needed, and when events occur, the client searches its own widget hierarchy to determine what should handle them. Some old-fashioned X window managers still use this many-window style, including fvwm, which creates separate X sub-windows for frame elements such as title bars and buttons.