The software architecture of the X Windows consists of an X server to which a number of X application communicate including the window manager. The window manager is given special authority to receive window events and propagate them to other applications based on event location. The window manager is also responsible for the control of the layout for top-level windows of the applications. In X Windows, interface widgets are implemented as hierarchically nested windows, where the application is solely responsible for the layout of these lower level windows. Events are propagated to applications which determines how to process it for lower-level windows. The X Windows architecture is not responsible for propagating them to the appropriate window. All the communication among application is made through X library function calls which the X server receives from and replies to. These functions include server communication routines as well as windowing, graphics drawing, and event processing routines.
In the Microsoft Windows NT 4.0 architecture, the Win32 subsystem is responsible for all keyboard and mouse inputs and display output. The NT Executive subsystem has components such as the window manager (USER) and graphics device interfaces (GDI). Calls to the NT Executive functions are made via the Win32 subsystem which provides the user interface for the NT Executive. Applications define the general behavior and appearance of their windows by creating window classes and corresponding window procedures. Applications generate output for a window using the graphics device interface (GDI) functions. Mouse and keyboard input is received in the form of messages. Events such as mouse movement, mouse button clicks, and keystrokes are translated into input messages and they are placed into the message queue for the application. The application uses message functions to extract messages from the queue and to dispatch them to the appropriate window procedure for processing.