Fact-checked by Grok 2 weeks ago

Window manager

A window manager is that controls the placement, appearance, and behavior of windows within a of a (). It manages tasks such as drawing window frames, handling resizing and movement, directing user input focus, and adding decorative elements like title bars, borders, and icons. In systems like operating environments, window managers function as clients of the underlying , such as the , which provides basic graphics and input handling but delegates layout control to the manager. Similarly, in Windows, the () serves as a manager, enabling like transparency and animations while overseeing window rendering. In Apple's macOS, the Aqua interface uses an integrated window manager for window and effects. The origins of window managers trace back to early human-computer interaction research in the late 1960s, with Doug Engelbart's NLS system (1968) introducing tiled windows and mouse-driven manipulation on a display. Alan Kay's 1969 doctoral thesis proposed overlapping windows, which were realized in 1974 by Xerox PARC's Smalltalk and InterLisp systems, featuring basic management for multitasking on shared screens. The (1981) commercialized these ideas with a full widget set, including scrollbars and menus, influencing subsequent GUIs. By the mid-1980s, the —initially developed at in 1984 and standardized as X11 in 1987—formalized window managers as independent programs, allowing customizable layouts like overlapping or tiled arrangements. Contemporary window managers are categorized by their layout philosophies: stacking managers permit overlapping windows with manual positioning (e.g., or ), tiling managers automatically arrange non-overlapping windows to maximize screen use (e.g., i3 or ), and dynamic or variants blend these with effects like blurring. They often integrate into desktop environments, such as 's Mutter or KDE's , which extend management with workspaces, theming, and accessibility features. Proposed innovations as of 2023, including adaptive "mosaic" modes and app-specific sizing metadata in , aim to address longstanding challenges like visual clutter and hidden windows in multi-tasking scenarios, though core implementation remains ongoing as of 2025.

Fundamentals

Definition and Purpose

A (WM) is that controls the placement, appearance, size, and movement of windows within a (GUI), acting as an intermediary between applications and the display server. In this role, it operates as a client program in systems like the , managing top-level windows without direct hardware access. The primary purposes of a window manager include managing input to determine which window receives user events, drawing window decorations such as title bars, borders, and control buttons, and handling operations like resizing, minimizing, maximizing, and closing windows. It mediates competition for screen space among applications by interpreting client hints on preferred sizes and positions, ensuring efficient without applications needing to manage overlaps or input routing directly. Unlike full desktop environments, which incorporate additional elements like panels, file managers, and theming systems, a window manager focuses solely on window lifecycle and , allowing modular integration into broader ecosystems. In terms of basic architecture, window managers interact with underlying display protocols such as X11 or to render and update windows; for instance, in X11, they use substructure redirection to intercept window requests and communicate via properties and messages through the . In , the window manager functionality is often integrated into the compositor process, which handles both rendering and input directly with clients using shared buffers. This design emerged in the 1980s as graphical user interfaces proliferated on displays, addressing the chaos of unmanaged overlapping windows in early systems like the developed at . Variations such as stacking and window managers represent different approaches to fulfilling these core purposes, with stacking allowing overlaps and tiling enforcing non-overlapping layouts.

Relationship to GUI Components

Window managers operate as a distinct layer within graphical user interfaces (s), relying on underlying servers for low-level rendering and hardware interaction while managing higher-level window orchestration. In systems like X11, the server (e.g., X.org) handles primitive drawing operations, input event routing, and resource allocation, whereas the window manager acts as an intermediary client that intercepts and decorates windows without direct access to the graphics hardware. This separation ensures modularity, with the window manager communicating via standardized protocols such as the Inter-Client Communication Conventions Manual (ICCCM), which defines conventions for client-to-window-manager interactions, including window changes and . In contrast, integrates server functionalities into compositors, which often encompass window management roles, blurring the lines but preserving the window manager's focus on layout and behavior over raw rendering. Within desktop environments (DEs), window managers serve as the foundational component for window handling, integrated atop which higher-level elements like panels, file managers, and application launchers function. For instance, employs Mutter as its window manager, which provides the core logic for window placement and manipulation while supporting the GNOME Shell's user interface extensions. Similarly, KDE Plasma uses to manage windows, enabling seamless integration with the DE's theming and widget systems. This bundling allows DEs to leverage the window manager's capabilities for consistent user experiences, but the window manager itself remains agnostic to DE-specific features, focusing solely on generic window lifecycle and positioning. Window managers differ from compositors, though overlap exists in modern implementations; compositors manage off-screen buffering for visual effects like and animations, a capability not inherent to pure window managers. Some window managers incorporate (e.g., via extensions in X11), but in , standalone compositors fulfill both roles, handling direct rendering and window stacking without a separate non-compositing manager. The key distinction lies in scope: compositors prioritize graphical synthesis across surfaces, while window managers enforce policies on window visibility, focus, and geometry. To ensure interoperability, window managers interact with applications through standards like the (EWMH), which extend ICCCM to specify properties for window states, types, and actions, promoting uniform behavior across diverse programs. EWMH enables applications to request specific placements or roles (e.g., via _NET_WM_STATE for maximization) and allows window managers to broadcast supported features through root window properties, facilitating tools like taskbars in querying window lists. Despite their central role, window managers have defined limitations, eschewing direct control over input devices—which is managed by the and display server—and system-wide theming, which DEs typically oversee through configuration layers like GTK or Qt themes. Input events, such as or actions, are routed by the display server to appropriate clients, bypassing the window manager except for mediation. Theming, involving sets and color schemes, resides in the DE's to maintain coherence across applications, leaving window managers to apply only frame-specific decorations.

Historical Development

Origins in Early Computing

The origins of window managers trace back to pioneering research in interactive computing during the , where early systems introduced concepts of multiple display regions to enhance user interaction on limited screens. Ivan Sutherland's , developed in 1963 at MIT's Lincoln Laboratory on the TX-2 computer, represented a foundational precursor by introducing the first interactive graphical interface with manipulation and clipping within defined display areas. This allowed users to work with graphical elements directly, pioneering algorithms to manage content within boundaries. Similarly, Douglas Engelbart's oN-Line System (NLS), demonstrated in 1968 at , advanced these ideas with tiled windows that could split screens horizontally or vertically, supporting cross-window editing and navigation via the newly invented . These vector-display-based systems laid the groundwork for overlapping and dynamic window concepts, though they operated without graphics, focusing instead on line drawings and text augmentation. The transition to bitmap displays in the 1970s marked a significant evolution, with the Xerox Alto computer, introduced in 1973 at Xerox PARC, featuring the first primitive windowing system with overlapping frames managed entirely by software. The Alto's bit-mapped screen enabled mouse-driven selection, resizing, and dragging of windows, allowing users to overlap multiple frames for multitasking on a single display. Over 1,200 Alto units were built and tested, demonstrating practical window manipulation in a research environment. Building on this, Xerox PARC's Smalltalk environment, led by Alan Kay starting in 1972, introduced dynamic window handling primitives including tiling and stacking, leveraging bit-mapped displays and the BitBlt operation for efficient scrolling, resizing, and dragging of overlapping windows. These innovations emphasized object-oriented principles, where windows acted as interactive objects, influencing subsequent GUI designs. The move to commercial products in the early 1980s brought window management to broader audiences, as seen in Apple's system released in 1983, which implemented an early window manager for icon-based desktops supporting up to 20 overlapping windows with user control over size, position, and focus. The follow-up Apple Macintosh in 1984 popularized these features on affordable hardware, handling basic overlap and focus management without advanced , and achieving over 2 million units sold. Early window managers like those in the Lisa and Macintosh addressed key challenges in hardware-limited environments, lacking acceleration, by prioritizing efficient repainting of exposed regions through damage control mechanisms that updated only altered screen areas to minimize computational overhead. This focus on selective redrawing ensured responsive interactions despite the constraints of contemporary processors and displays.

Evolution in Modern Operating Systems

The , introduced in 1984 at as a client-server , fundamentally separated the display server from window management responsibilities, enabling flexible window managers to run as clients atop the server. This design facilitated the development of early window managers like the Simple Window Manager (swm) in the mid-1980s, which provided basic stacking functionality without advanced configuration. By 1989, the Tab Window Manager (), developed by Tom LaStrange, emerged as one of the first configurable stacking window managers, serving as the default for many X11 installations and introducing features like virtual desktops and icon management. The 1990s saw proliferation of alternatives, including the (mwm), released in 1991 as part of the OSF toolkit, which standardized appearance and behavior for Unix workstations through its reparenting model and decorum support. In the 1990s, window manager diversification accelerated with the rise of desktop environments and alternative paradigms. Early experiments in tiling window management appeared in systems like Plan 9, where the window manager (introduced around 1992) used a tiled layout to optimize screen space without overlapping windows, influencing later implementations. The launch of in 1998 integrated the KDE Window Manager (kwm), a stacking manager with customizable decorations and effects, while , released in 1999, initially paired with —a Lisp-configurable stacking manager emphasizing extensibility and smooth animations—to provide a cohesive . These integrations marked a shift toward user-friendly, themeable environments amid growing Unix desktop adoption. The 2000s brought a boom, driven by hardware advancements and the demand for . , introduced in 2002 as 's default window manager, laid groundwork for compositing by supporting basic window grouping and focus stealing prevention, evolving to include offscreen rendering by GNOME 2.24 in 2008. Compiz, released in early 2006, pioneered open-source 3D on X11 using for hardware-accelerated effects like window wobbling and cube desktops, significantly influencing desktop aesthetics and performance. This era emphasized leveraging graphics hardware for smoother interactions, transitioning from software rendering to GPU-accelerated pipelines. From the 2010s onward, the Wayland protocol addressed X11's limitations in security and efficiency, with initial development starting in 2008 by Kristian Høgsberg and its 1.0 release in October 2012; Weston, the reference compositor, debuted the same year as a minimal Wayland-based window manager. Adoption gained momentum when Fedora 25 made Wayland the default for GNOME sessions in November 2016, followed by Ubuntu enabling it as default in version 21.04 (April 2021) and fully committing by 24.04 LTS in 2024. The XWayland compatibility layer, introduced around 2016, ensures seamless support for legacy X11 applications during this transition. In proprietary systems, parallel evolutions occurred. Microsoft Windows 1.0, released on November 20, 1985, featured a rudimentary window manager supporting tiled and cascaded arrangements along with iconic modes, without overlapping windows. This evolved to the Aero interface in Windows Vista (January 30, 2007), introducing compositing with transparency, live thumbnails, and Flip 3D navigation via the Desktop Window Manager (DWM) and DirectX. On macOS, the Aqua interface debuted with Mac OS X 10.0 in March 2001, powered by the Quartz Compositor for PDF-based rendering and smooth animations, replacing the classic Mac OS's non-composited approach. By the 2020s, trends emphasize , input modernity, and portability. 's architecture enhances through per-client sandboxing and elimination of X11's global access vulnerabilities, as seen in 50's -only mandate in 2025, which isolates applications to prevent screen scraping and unauthorized input injection. Compositors increasingly support touch and gesture interactions, with and on enabling window manipulation and swipe gestures since the mid-2010s. Cross-platform frameworks like , which powers applications such as , leverage native window managers (e.g., via Chromium's backend) for consistent behavior across , Windows, and macOS, though challenges like resizing persist without explicit configuration.

Types

Stacking Window Managers

Stacking window managers operate by layering windows in a Z-order , where each window is positioned relative to its siblings, allowing them to overlap freely while the handles clipping to display only visible portions. The active window is typically raised to the top of the upon receiving input , which can be managed through models such as click-to-focus, where focus shifts only on explicit clicks, or focus-follows-mouse (also known as sloppy focus), where the pointer's determines the focused window. These mechanisms ensure that input events are directed to the appropriate window based on its stacking and focus state, with the generating events like FocusIn and FocusOut to notify clients of changes. A key aspect of stacking window managers is the reparenting model, in which the manager creates a decorative window around each client application window, the client as its child to intercept input and expose events for handling borders, titlebars, and controls. This is achieved via the ReparentWindow request, which unmaps the client if necessary, changes its parent to the frame, and remaps it, generating a ReparentNotify event while preserving the client's coordinates relative to the new parent. By managing this hierarchy, the window manager can enforce consistent decorations and behaviors without altering the client's core rendering, though clients must handle potential unmapping during state transitions like iconification. This approach offers advantages in intuitiveness for traditional desktop metaphors, enabling users to arrange windows arbitrarily to mimic physical overlap and prioritize visible content, which supports flexible workflows in multi-tasking environments. However, it requires manual user intervention for placement and resizing, often leading to screen clutter and as windows pile up without automatic organization. is generally scriptable, as in X11 environments where the ~/.xinitrc file specifies the window manager launch and initial setup, allowing policies for initial window placement that range from algorithmic heuristics (e.g., avoiding overlaps with existing windows) to user-defined rules via hints like WM_NORMAL_HINTS. Historically, stacking window managers dominated early graphical interfaces, serving as the foundation for implementations like , developed in 1987 by Tom LaStrange and adopted as the standard for X11R4 in 1989, which introduced features such as titlebars and icon management while relying on the reparenting model for decoration. This paradigm influenced subsequent systems, providing the overlapping model that remains central to conventional desktop use, in contrast to non-overlapping alternatives like tiling managers.

Tiling Window Managers

Tiling window managers automatically arrange windows in non-overlapping layouts to maximize the use of available screen space, ensuring that each window occupies a dedicated region without overlap. This approach contrasts with traditional stacking methods by enforcing a structured division of the desktop, often resulting in tree-like hierarchies that adapt to the number and type of open applications. By prioritizing over manual placement, these managers aim to streamline workflows, particularly for users focused on and multi-tasking. The core layout principles revolve around dividing the screen into geometric regions using techniques like (BSP), where windows serve as leaves in a full structure, and the desktop is recursively partitioned into subspaces. Common configurations include master-slave tilings, in which a primary master window claims a larger area (often on one side) while slave windows share the remainder in a stacked or equal division, or equal-area tilings that allocate space uniformly across all windows to promote balanced visibility. Automation governs much of the arrangement process, with predefined rules for splitting screen regions—typically alternating between and vertical orientations when new windows open—to maintain efficient use of space. Windows can be swapped between regions dynamically, and exceptions for floating behavior are applied to transient elements like dialogs, allowing them to bypass and position freely atop the . controls emphasize keyboard-driven for speed and precision, such as bindings like Mod4+Enter to spawn a new or sequences to cycle focus, resize splits, or toggle layouts. Support for tagging systems or multiple workspaces enables grouping windows into desktops, extending organization across environments without disrupting the primary . These managers enhance productivity by eliminating manual resizing and overlap management, keeping content fully visible and navigable via shortcuts, which suits intensive tasks like or document handling. Drawbacks include reduced flexibility for scenarios demanding free-form overlaps, such as graphical editing where windows may need independent . Variants distinguish between static tilings, which adhere to fixed ratios and predefined divisions irrespective of window dynamics, and adaptive tilings that adjust sizes using application-provided hints for optimal fit.

Dynamic Window Managers

Dynamic window managers are a category of window managers that incorporate adaptive layouts, allowing real-time adjustments to window arrangements in response to user interactions or predefined rules, often blending with floating or stacking modes for flexibility. Unlike purely static systems, they build on as a foundational mode but emphasize dynamic reconfiguration to optimize screen space without manual repositioning for every change. These managers typically operate within the X11 environment, intercepting window requests via substructure redirection to enforce layouts while supporting multiple paradigms simultaneously. The core of their adaptive behavior lies in layouts that evolve based on events such as window creation, focus shifts, or user gestures, using algorithms to split or reorganize screen areas on-the-fly. For instance, in dwm, windows can switch between tiled (master-stack split), monocle (full maximization), and floating modes, with the manager automatically adjusting to the current set of open applications and tasks. Similarly, i3 employs a tree-based structure where containers can dynamically split horizontally or vertically, adapting to workspace assignments across multiple monitors without fixed grids. bspwm further exemplifies this through binary space partitioning, where insertion points and ratios adjust via modes like longest-side or spiral, responding to new windows or resizes in real time. Such adaptations often incorporate scriptable rules or AI-like heuristics to prioritize workflow efficiency, such as enlarging focused windows or grouping related applications. Rule-based systems enable precise control by matching window properties—such as class, instance, or title—to specific behaviors, allowing decorations and automated placement without overriding all windows uniformly. In i3, rules can float terminals or tile browsers based on their class, using an (IPC) interface to query and apply matches dynamically. bspwm achieves this via shell scripts in bspwmrc, where matchers assign windows to desktops, states (e.g., floating or sticky), or padding, integrating with external tools like sxhkd for gesture-based triggers. These systems leverage standards like (EWMH) for interoperability, where properties such as _NET_WM_WINDOW_TYPE dictate treatment (e.g., docks or dialogs always floating). Extensibility is a hallmark, often through plugin architectures, socket interfaces, or source recompilation, enabling custom transitions, animations, or policy engines tailored to user needs. dwm, for example, requires editing C source code to add features like tag-based grouping or status bars, ensuring lightweight performance. i3's IPC supports scripting in any language for event-driven extensions, such as automated animations on focus changes. bspwm uses a socket protocol (via bspc) for third-party integrations, allowing policy engines to handle complex rules or visual effects. Power users favor dynamic window managers for their balance of automation and manual control, particularly in minimalistic setups where efficiency trumps visual flair. They excel in developer workflows, multi-monitor environments, or keyboard-centric navigation, as seen in i3 variants with gaps for aesthetic spacing or bspwm's scriptable panels. This adaptability reduces context-switching overhead, making them ideal for tasks requiring frequent window juggling without mouse dependency. Dynamic window managers emerged in the 2000s as extensions of earlier concepts, incorporating EWMH for better compatibility with desktop environments and applications. Influenced by predecessors like wmii, they prioritized standards compliance to enable seamless integration, evolving from rigid tilers to hybrid systems by the mid-2000s.

Compositing Window Managers

Compositing window managers render application windows to off-screen buffers rather than directly to the , allowing the manager to combine these buffers into a final scene using techniques such as and geometric transformations. This process typically involves redirecting window contents to pixmaps via extensions like , where the server stores hierarchical window data off-screen, and the compositor manually updates the visible parent window by the redirected contents. The extension complements this by notifying the compositor of changes in window regions, enabling efficient partial updates without redrawing unchanged areas. This off-screen rendering enables advanced visual effects, including window transparency through alpha channel blending, drop shadows generated by rendering semi-transparent overlays, and smooth animations such as fading or wobbling transitions between window states. By avoiding direct writes to the screen buffer, also prevents , as the final composited frame is swapped atomically to the display. These effects rely on , often via interfaces like for X11 or EGL for broader compatibility, where window pixmaps are bound as textures for GPU-accelerated blending and transformation. Compositing models differ between client-side and server-side approaches. In server-side compositing, prevalent in traditional X11 setups, the window manager intercepts all rendering through server extensions and performs the composition centrally, which simplifies coordination but can introduce for complex scenes. Client-side compositing, more common in hybrid modern systems, delegates initial rendering to individual applications (often using their own GPU buffers), with the compositor assembling these pre-rendered surfaces; this reduces server load but requires standardized protocols for buffer sharing. adopts a native server-side model where the compositor inherently manages all surface composition without separate extensions. While enhances visual fidelity and interactivity, it incurs performance trade-offs, including increased memory usage for off-screen buffers and higher CPU/GPU overhead for blending operations, particularly with transparency or numerous windows. However, integration with (DRI) mitigates this by leveraging GPU acceleration, often yielding smoother performance than software-only rendering in non- environments. The XComposite extension, introduced in , standardized this for X11 by providing redirection and overlay mechanisms, whereas embeds as a core protocol feature from its inception in 2008.

Implementations

X11-Based Window Managers

X11-based window managers are software components designed to manage the placement, appearance, and behavior of windows within the , a foundational display server protocol primarily used in operating systems. These managers handle tasks such as drawing window decorations, responding to user input for resizing and moving windows, and enforcing standards like the (EWMH) and Inter-Client Communication Conventions Manual (ICCCM) for interoperability with applications. Developed since the late 1980s, they form the backbone of graphical user interfaces in many and BSD distributions, offering a range of paradigms from simple stacking to advanced tiling, often prioritizing lightweight resource usage and extensibility. One of the earliest and most foundational X11 window managers is , released in 1989 as part of X11R4, which supplanted previous managers like uwm to become the default for the . As a lightweight , twm provides basic features including title bars, shaped windows, icon management, and simple menus accessible via mouse bindings, all implemented using the low-level Xlib library without heavier widget toolkits. Its minimal design, with a small codebase focused on core functionality, makes it suitable for resource-constrained environments, and it remains available in minimal installations of modern distributions for legacy compatibility or basic setups. Released in 2009, i3 represents a popular modern for X11, emphasizing control and efficiency for power users. It automatically arranges windows in non-overlapping layouts using split containers that support recursive horizontal or vertical divisions, while allowing users to toggle individual windows to a floating for positioning and resizing. A key feature is its (IPC) interface via Unix sockets, enabling scripting in any language to dynamically control layouts, workspaces, and behaviors through commands like i3-msg. i3 also supports configurable gaps—spaces between windows (inner gaps) or along screen edges (outer gaps)—introduced in version 4.22, enhancing visual separation without compromising its philosophy. Openbox, first released on September 18, 2002, is a renowned for its standards compliance and integration into lightweight s. It fully adheres to EWMH and ICCCM protocols, ensuring seamless interaction with applications expecting standard window hints for tasks like focus management and virtual desktops. Designed to be highly configurable yet resource-efficient, Openbox draws minimal decorations and supports keyboard-driven operations, making it ideal for older hardware or minimal setups. It serves as the default window manager for , a lightweight , where it handles window operations while integrating with panels and file managers for a complete yet unobtrusive interface. Awesome, with its initial stable release of version 3.0 on , 2008, is a dynamic that combines automated layout algorithms with extensive customization. It uses a tag-based system instead of traditional workspaces, allowing windows to appear on multiple tags and supporting simultaneous views of several tags for flexible multitasking. Configuration and extensions are handled through scripting, providing a powerful for defining custom layouts, such as spiral or floating arrangements, and creating widgets for system monitoring or notifications. This scripting capability enables users to tailor behaviors like window snapping or tag transitions, making Awesome adaptable for developers seeking a programmable environment on X11. X11-based window managers were widely used in and BSD ecosystems during the and early , but their prevalence has decreased with the adoption of as the primary protocol by mid-decade. They continue to power custom and desktop setups due to their maturity and compatibility with existing software. However, they face growing challenges from the rise of , including legacy protocol limitations that complicate , multi-monitor support, and performance in modern hardware environments. This transition encourages future-proofing efforts, such as compatibility layers, to ease migration for users reliant on X11 tools.

Wayland Compositors

Wayland compositors integrate window management directly with display server functionality, leveraging the protocol's design for enhanced security and performance in modern environments. Unlike traditional X11 window managers, these compositors handle rendering and input locally on clients, reducing overhead and enabling smoother interactions. This prioritizes between applications, mitigating risks like unauthorized screen captures or input interception. Weston, the reference compositor, was first released in 2012 alongside 1.0. It provides a minimal, fast suitable for testing the protocol's core features, including support for multiple display outputs through kernel mode setting (). For demonstrations, Weston includes clients like weston-simple-mipool, which showcases efficient for image rendering via multiple buffer pools. As a lightweight environment, Weston serves primarily as a development tool rather than a full solution. Sway, launched in 2016, functions as a compositor fully compatible with i3 configurations, allowing seamless migration from X11-based setups. Its keyboard-centric design promotes efficient workflow through automatic arrangement in non-overlapping layouts, minimizing dependency. Built on the wlroots library, Sway abstracts low-level backend tasks, enabling robust protocol implementation while maintaining simplicity and modularity. This makes it popular among users seeking a lightweight, customizable alternative to traditional desktops. Mutter, GNOME's core compositor originally introduced in 2002, gained initial support in 2016 with GNOME 3.20, evolving into a full Wayland display server thereafter. It employs dynamic window management, adapting layouts based on user actions and supporting gestures for tasks like window resizing or switching. The overview mode, a key feature, presents all open windows in a grid for intuitive navigation, integrated with for a cohesive experience. Mutter's design emphasizes accessibility and fluidity, handling compositing effects like animations without compromising performance. KWin, KDE Plasma's window manager, introduced Wayland sessions in 2017 with Plasma 5.10, supporting a hybrid approach that combines stacking and paradigms. It manages virtual desktops for organizing workflows across multiple spaces and applies configurable effects, such as or wobble, to enhance visual feedback during interactions. Under , KWin leverages client-side rendering for these effects, ensuring compatibility with diverse hardware while maintaining KDE's focus on customization. Compared to X11, Wayland compositors enable direct client rendering, where applications submit buffers straight to the GPU, significantly lowering latency in input-response cycles. Security is bolstered by the absence of global input grabs, as each client receives only its intended events, preventing malicious interceptions common in X11. These improvements address longstanding issues in aging display architectures. Wayland adoption accelerated with 21.10 in 2021, which set on Wayland as the default session, paving the way for broader integration. By 2025, major distributions like , , and have made Wayland the primary protocol, with X11 relegated to legacy support via XWayland for compatibility with older applications. This shift reflects maturing ecosystem support and hardware optimizations.

Proprietary Systems

Proprietary window managers are integral components of closed-source operating systems, where they are tightly integrated with the OS and layers, often making them non-replaceable by users without significant modifications. These systems prioritize seamless , , and ecosystem-specific optimizations over , contrasting with open-source alternatives that emphasize user configurability. In Microsoft Windows, the shell process Explorer.exe has served as the primary window manager since in 1995, implementing a stacking model with deep integration into the for window switching and desktop management. This evolved significantly with the introduction of the (DWM) in in 2007, which added hardware-accelerated compositing using to enable the visual style, including transparent windows and live thumbnails. Recent updates, such as Snap Layouts in released in 2021, incorporate tiling-inspired arrangements while maintaining the stacking paradigm, allowing users to snap windows into predefined grids for multitasking. Apple's macOS employs the Quartz Compositor, introduced in 2001 with and the Aqua interface, as its core windowing system, supporting dynamic stacking with smooth transitions and . Mission Control, added in 2011 with Mac OS X Lion, enhances this by providing an overview of all open windows and virtual desktops (Spaces), enabling quick navigation across multiple workspaces. Animations and layering are handled natively through Core Animation, a that leverages GPU for fluid user interactions without taxing the CPU. Google's Chrome OS utilizes the framework, launched in 2011, as a lightweight tailored for web-centric applications, managing window hierarchies and events in a resource-efficient manner. For integration with its subsystem, introduced via in 2018, Chrome OS employs the server to handle window management for Linux apps within the Aura shell, ensuring compatibility without disrupting the core experience. In mobile contexts, though focused on desktop equivalents, Android's SurfaceFlinger—deployed since Android 1.0 in 2008—acts as the engine for layering application surfaces onto the display, optimized for touch interactions. Similarly, iOS's , originating with iPhone OS 1.0 in 2007, provides touch-optimized window layering for app icons and home screen management, emphasizing gesture-based over traditional desktop paradigms. These proprietary implementations exhibit tight coupling with their respective operating systems, rendering them less replaceable by users compared to open-source options, while ongoing updates like Snap Layouts demonstrate efforts to incorporate advanced layout features.

Core Features

Window Placement and Manipulation

Window placement strategies in window managers encompass manual user-initiated positioning through drag-and-drop operations, algorithmic methods such as centering newly opened windows on the primary screen to avoid overlap—for example, 48 defaults new windows to the screen center as of its release on March 19, 2025—and rule-based approaches that utilize application-provided hints to determine initial positions based on window type or role. The Inter-Client Communication Conventions Manual (ICCCM), a foundational standard for X11-based systems, specifies the WM_NORMAL_HINTS property, which includes flags like USPosition for user-specified coordinates and PPosition for program-requested positions, along with win_gravity values (e.g., NorthWest or Static) to define how the window frame positions relative to the client area during placement. The (EWMH) protocol builds on this by introducing _NET_WM_WINDOW_TYPE atoms (e.g., _NET_WM_WINDOW_TYPE_DIALOG or _NET_WM_WINDOW_TYPE_DESKTOP), enabling window managers to apply tailored placement rules, such as positioning transient dialogs near their parent windows or restricting desktop backgrounds to non-overlapping areas. Window manipulation actions typically involve moving a window by dragging its title bar to a new location and resizing it by pulling on the edges or corners, with constraints often enforced via hints to respect minimum or maximum dimensions and resize increments. Additional features like snapping to a grid or screen edges streamline these operations; for instance, Microsoft's Aero Snap, introduced in in October 2009, automatically resizes and positions windows to half-screen or quarter-screen layouts when dragged to edges or corners. Multi-monitor support in window managers allows the desktop to extend across multiple displays, often with independent per-screen workspaces to isolate application groups, while addressing DPI scaling to prevent blurry rendering on high-density screens. Recent enhancements include KDE Plasma 6.4's lock screen elements appearing only on the focused screen with synced password input across displays, released on June 17, 2025. In X11 environments, the Resize and Rotate (RandR) extension facilitates dynamic multi-monitor configurations by enabling the addition, removal, and relative positioning of outputs to form a unified virtual screen. Wayland compositors natively handle per-monitor scaling and multi-display setups through protocol-defined outputs, improving consistency over X11's global scaling limitations. Windows systems support per-monitor DPI awareness, automatically adjusting UI element sizes and positions based on each display's resolution and density settings. State management capabilities enable users to minimize windows to a or for iconified representation (IconicState in ICCCM terms), maximize them to fill the available screen area, or switch to mode that hides decorations and covers the entire . Virtual desktops provide layering by assigning windows to separate numbered workspaces, allowing organization without closing applications; EWMH standardizes this with _NET_NUMBER_OF_DESKTOPS to set the total count and _NET_WM_DESKTOP to specify a window's assigned (or -1 for all). KDE Plasma 6.4, released June 17, 2025, introduces support for different tile layouts per to enhance flexible organization. Core protocols underpin these features: the ICCCM establishes basic hints for positioning, sizing, and states like NormalState for visible windows, ensuring interoperability in X11. EWMH extends compatibility with advanced properties, including _NET_WM_STATE atoms such as _NET_WM_STATE_MAXIMIZED_VERT and _NET_WM_STATE_STICKY for windows that remain visible across all virtual desktops. window managers represent a specialized algorithmic variant, automatically arranging windows in non-overlapping layouts based on predefined rules.

User Navigation and Interaction

Users interact with window managers through various focus models that dictate how keyboard input is assigned to specific windows. The click-to-focus model requires explicit mouse clicks on a window to grant it focus, ensuring deliberate selection and commonly used in environments like KDE Plasma's KWin. In contrast, the focus-follows-mouse model automatically directs focus to the window beneath the mouse pointer upon hover, eliminating the need for clicks and facilitating fluid navigation in tiling setups such as i3. Sloppy focus serves as a variant of focus-follows-mouse, where focus shifts when the mouse enters a window but remains on the last focused window if the pointer moves over non-window areas like the desktop background, as implemented in KWin. Switching between windows relies on keyboard-driven techniques for efficient traversal. The combination cycles through open windows or applications in most recently used (MRU) order, prioritizing recently accessed items for quick return, a standard in where timestamps determine the sequence. Task switchers enhance this by displaying thumbnails or previews of windows, allowing visual selection, while configurable shortcuts like Super+Tab in or Mod+j/k/l/; in i3 enable directional cycling within the current workspace. These methods support both global application switching and per-workspace navigation, adapting to user preferences via configuration files. Window managers handle user inputs by intercepting mouse and keyboard events, particularly for decorations such as title bars and borders. In X11-based systems, the window manager receives these events through the X protocol, processing them to manage window raising, resizing, or closing without passing them to client applications unless intended. Modern implementations extend this to multi-touch gestures; for instance, macOS's Quartz Compositor supports four-finger swipes on trackpads to switch between full-screen apps or desktops, configurable in system settings. KDE Plasma 6.4 adds three-finger touchpad pinch gestures for zooming as of its June 17, 2025 release. Accessibility features integrate seamlessly into navigation to support diverse users. Screen readers like in leverage the Service Provider Interface (AT-SPI) to announce focus changes, window activations, and structural updates in real-time. High-contrast modes, available in and , amplify visual distinctions between elements like focused windows and backgrounds to aid low-vision users. Sticky keys functionality, enabled in both and , latches modifier keys (e.g., Ctrl or Alt) after a single press, enabling one-handed execution of shortcuts like for navigation. As of November 7, 2025, GTK applications support a reduced motion setting to provide alternative animations, reducing visual overload for users with vestibular sensitivities. 6.4 enhances keyboard navigation and screen reader usability as of June 17, 2025. Workspace navigation allows users to organize and traverse multiple desktops efficiently. shortcuts facilitate cycling through desktops, such as Mod+1-0 in i3 for direct jumps or Ctrl+Alt+Up/Down in for sequential movement. Overview grids provide a visual panorama; 's Activities Overview, introduced with 3.0 in April 2011, displays all open windows across workspaces in a searchable grid, activated via the Super key for rapid selection and switching.

Theming and Customization

Window managers offer extensive theming options to personalize the visual appearance of graphical interfaces, including window borders, title bars, and control buttons such as close or minimize icons. These elements are often governed by standards like the (EWMH), which define protocols for window decorations and ensure interoperability between applications and window managers across desktop environments. Compliance with EWMH allows themes to specify properties like border widths, colors, and button layouts consistently, promoting a unified look without requiring application-specific modifications. Configuration of themes and behaviors typically occurs through multiple methods tailored to the window manager's design philosophy. Text-based configuration files, such as ~/.config/i3/config in the i3 window manager, enable precise control over theme variables like colors and fonts via declarative syntax. Graphical user interfaces, exemplified by KDE System Settings for the KWin window manager, provide intuitive panels for selecting and previewing themes without editing files manually; Plasma 6.4 adds a new Animations page for customizing visual effects as of June 17, 2025. For more dynamic setups, runtime scripting languages like Lua in Awesome WM allow users to load and modify themes programmatically, supporting modular extensions for real-time adjustments. Behavior customization extends beyond visuals to include keybind remapping and per-application rules, enabling users to tailor interactions for efficiency. Keybinds can be reassigned to trigger actions like window resizing or switching, often defined in configuration files for keyboard-driven workflows. Rule sets, such as i3's for_window directives, apply policies like always-on-top status or floating mode to specific applications based on criteria like window class or title, ensuring consistent handling across sessions. Extensions and plugins further enhance theming by integrating with toolkit ecosystems like and , allowing color schemes and font rendering to align across diverse applications. For instance, Awesome WM's Lua-based modules facilitate plugin loading for advanced font configurations and theme transitions. Such integrations bridge gaps between window manager decorations and application UIs, maintaining visual coherence. KDE Plasma 6.4 darkens the Breeze Dark theme for better contrast and dims the desktop background during as of June 17, 2025. Cross-window manager portability is achieved through tools like LXAppearance, a desktop-independent GTK+ theme switcher that applies themes, icons, and fonts universally across stacking window managers without altering core configurations. This utility writes settings to standard locations like ~/.gtkrc-2.0, enabling seamless theme migration between environments such as and i3. Compositing window managers can leverage these themes to add effects like for enhanced visual depth.

References

  1. [1]
    X(7x) manual page - X.Org
    Window Managers. The layout of windows on the screen is controlled by special programs called window managers. Although many window managers will honor geometry ...
  2. [2]
    What is a Window Manager? - MIT Media Lab
    A window manager is the program responsible for coordinating all the the windows on the screen. To answer this question more fully, it is useful to take a step ...
  3. [3]
    Desktop Window Manager - Win32 apps - Microsoft Learn
    Aug 23, 2019 · DWM enables visual effects on the desktop as well as various features such as glass window frames, 3-D window transition animations, Windows Flip and Windows ...
  4. [4]
    [PDF] A Brief History of Human-Computer Interaction Technology
    Early window managers such as Smalltalk. (1974) and InterLisp, both from Xerox PARC, came with a few widgets, such as popup menus and scrollbars. The Xerox Star ...
  5. [5]
    [PDF] A taxonomy of window manager user interfaces
    Window managers have become popular primarily because they allow separate activities to be put in phys- ically separate parts of the computer screen. The user ...
  6. [6]
    7.2.2. Window Managers | Reference Guide | Red Hat Enterprise Linux
    Window managers are X client programs which are either part of a desktop environment or, in some cases, standalone. Their primary purpose is to control the way ...
  7. [7]
    Rethinking Window Management - GNOME Blogs
    Jul 26, 2023 · Tiling window managers solve the hidden window problem by preventing windows from overlapping. While this works well in some cases, it falls short.<|control11|><|separator|>
  8. [8]
    [PDF] The anatomy of the modern window manager
    Jul 10, 2019 · A window manager is system software that controls the placement and appearance of windows within a graphical user interface. In this thesis we ...
  9. [9]
    X - a portable, network-transparent window system - X.Org
    The X Window System is a network transparent window system which runs on a wide range of computing and graphics machines.
  10. [10]
    Wayland FAQ
    The Wayland architecture integrates the display server, window manager and compositor into one process. You can think of Wayland as a toolkit for creating ...Why Duplicate All This Work? · Is Wayland Replacing The X... · How Can I Replace Wayland's...<|separator|>
  11. [11]
    What is the difference between display server, a window manager ...
    Mar 23, 2017 · I am trying to understand Wayland protocol but can't grasp that a window manager tells display server where each windows are. So is display ...
  12. [12]
    Inter-Client Communication Conventions Manual - X.Org
    Window managers will assume values they find convenient for any of these properties that are not supplied; clients that depend on particular values must ...
  13. [13]
    What's the deal with X11 and Wayland? - TUXEDO Computers
    Under X11, the desktop environment's window manager is responsible for placing windows and drawing window decorations such as title bars and frames. Under ...Differences Between X11 And... · Wayland On Distributions... · With Login Manager (sddm...
  14. [14]
    Projects/Mutter – GNOME Wiki Archive
    - **Confirmation**: Mutter is the window manager for GNOME.
  15. [15]
    None
    Nothing is retrieved...<|separator|>
  16. [16]
    Extended Window Manager Hints - Freedesktop.org Specifications
    Nov 29, 2011 · This spec defines interactions between window managers, compositing managers, applications, and the utilities that form part of a desktop environment.
  17. [17]
    Beyond the Basics: In-Depth Look at Linux Display Servers, Window ...
    Sep 16, 2024 · A compositor is responsible for rendering graphical elements on your screen, including windows and their visual effects like shadows, transparency, and ...
  18. [18]
    What is the difference between a desktop environment ... - Ask Ubuntu
    Dec 18, 2010 · A Window Manager is a piece of software that manages windows, allowing the windows to be opened, closed, re-sized, and moved. It is also capable ...Missing: authoritative | Show results with:authoritative
  19. [19]
    X Window System - Data Science Lab
    The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys (of Project Athena) and Bob Scheifler (of the MIT Laboratory for Computer ...Missing: mwm | Show results with:mwm
  20. [20]
    Various Window Managers | Linux.org
    Jul 13, 2014 · A window manager is a piece of software that draws the windows that contain applications. Window managers also manage the placement and size ...
  21. [21]
    Picking the right (archaic) Window Manager | datagubbe.se
    MWM is the official window manager of the Motif toolkit, originally released in 1989. Motif was part of the OSF effort to standardize the UNIX experience and ...
  22. [22]
    Window manager - ArchWiki
    Oct 30, 2025 · A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user ...Missing: authoritative | Show results with:authoritative
  23. [23]
    Metacity - Community Help Wiki - Ubuntu Documentation
    Aug 28, 2016 · Metacity Compositing. Originally available in Compiz but not Metacity, compositing became a part of Metacity with Gnome 2.24 and was ...
  24. [24]
    Compiz - Wikipedia
    Compiz is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management.
  25. [25]
    What's Taking Wayland So Long? - » Linux Magazine
    Wayland was begun by Kristian Høgsberg in 2008. Version 1.0 was released in October 2012. Nearly six years later, Wayland has become the default display server ...
  26. [26]
    Fedora 25: With Wayland, Linux has never been easier (or more ...
    Dec 16, 2016 · The biggest change in this release is undoubtedly the move to Wayland as the default, erm protocol, replacing the venerable X Server. Wayland's ...Missing: Ubuntu | Show results with:Ubuntu
  27. [27]
    The Wayland Protocol - Fedora Docs
    Wayland is a display server protocol which was (at the time of writing) introduced as the default in GNOME. It is said that Wayland will eventually replace ...
  28. [28]
    Window manager - Wikipedia
    A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface.Comparison of X window... · Desktop Window Manager · X window man
  29. [29]
    Looking at Windows Vista's User Interface (Aero) - OSnews
    Sep 20, 2005 · “Kam Vedbrat is a lead program manager on the Aero team which redesigned the User Interface of Windows Vista. We spend half an hour looking ...
  30. [30]
    Mac OS X Update: Quartz & Aqua - Ars Technica
    Jan 13, 2000 · This article will review Jobs's Mac OS X GUI demonstration and explain the underlying technology that makes it possible.
  31. [31]
  32. [32]
    Security | Electron
    A set of guidelines for building secure Electron apps.Missing: managers 2020s touch gesture
  33. [33]
    X Window System Protocol - X.Org
    Save sets are typically used by window managers to avoid lost windows if the manager terminates abnormally. Scanline. A scanline is a list of pixel or bit ...
  34. [34]
  35. [35]
    A comparison of tiled and overlapping windows - ACM Digital Library
    A comparison of tiled and overlapping windows. Special issue: CHI '86 Conference Proceedings.
  36. [36]
    An Evaluation of Stacking and Tiling Features within the Traditional ...
    Aug 7, 2025 · In this paper we investigate the benefits of stacking and tiling features in a tradi-. tional overlapping window manager. To analyze such ...<|separator|>
  37. [37]
    TWM - X.Org
    Twm is a window manager for the X Window System. It provides titlebars, shaped windows, several forms of icon management, user-defined macro functions.
  38. [38]
    bspwm - Binary space partitioning window manager - Ubuntu Manpage
    DESCRIPTION. bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It is controlled and configured via bspc.
  39. [39]
    Comparison of tiling window managers - ArchWiki
    Oct 19, 2025 · This article provides an unbiased comparison of the most popular tiling window managers (as opposed to floating window managers).
  40. [40]
    i3: i3 User’s Guide
    Summary of each segment:
  41. [41]
    Explained: What is a Tiling Window Manager in Linux?
    May 20, 2024 · A tiling window manager is a software that organizes your windows side-by-side in a tiling layout. It ensures that no windows overlap, and the screen real ...
  42. [42]
    dwm - dynamic window manager | suckless.org software that sucks less
    ### Summary of dwm (https://dwm.suckless.org/)
  43. [43]
    i3 — i3: improved tiling X11 window manager
    ### Summary of i3 Window Manager Features
  44. [44]
    baskerville/bspwm: A tiling window manager based on binary space ...
    bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It only responds to X events, and the messages it receives on ...
  45. [45]
  46. [46]
    Composite Extension Version 0.4 - X.Org
    Instead of attempting to define new clipping modes for rendering, the Composite extension instead defines ClipByChildren rendering to the parent to exclude ...
  47. [47]
    The Linux Graphics Stack - Clean Rinse
    Jun 16, 2012 · Compositing window managers grab the pixmap from the X server using TFP, and then render it on to the OpenGL scene at just the right place, ...
  48. [48]
    Difference between server-side and client-side compositing in Xorg?
    Apr 25, 2015 · From experimentation, I can say that this is much, much faster than the "client side" options.Display Server vs. Window Manager vs. Graphics Driver?Server side vs Client side rendering Display serverMore results from unix.stackexchange.com
  49. [49]
    Wayland Architecture
    The wayland protocol lets the compositor send the input events directly to the clients and lets the client send the damage event directly to the compositor.<|separator|>
  50. [50]
    twm - ArchWiki
    Nov 6, 2024 · twm is a window manager for Xorg. It is a small program, being built against Xlib rather than using a widget library, and as such, it is very light on system ...
  51. [51]
    Openbox: Home
    Openbox is a highly configurable window manager. It allows you to change almost every aspect of how you interact with your desktop and invent completely new ...Help:Using Openbox in GNOME · Help:Using Openbox in KDE · Download · ObConf
  52. [52]
    Openbox - ArchWiki
    Oct 25, 2025 · Openbox is a lightweight, powerful, and highly configurable stacking window manager with extensive standards support.
  53. [53]
    releases - awesome window manager
    Awesome has had releases in versions 4, 3, 2, and 1. Version 4.3 was released on 28 January 2019, and version 3.5.9 on 6 March 2016.
  54. [54]
    awesome window manager: about
    Awesome is a highly configurable, fast, extensible framework window manager for X, designed for power users, and uses Lua, with a small codebase.Doc · Community · Screenshots · DownloadMissing: 2008 | Show results with:2008
  55. [55]
    15 Best Tiling Window Managers for Linux in 2025 - Tecmint
    Dec 31, 2024 · XMonad is a free and open-source dynamic tiling X11 window manager that exists to automate window searching and alignment. It is extensible ...1. I3 -- Improved Tiling Wm · 2. Bspwm · 9. Spectrwm
  56. [56]
    Wayland and Weston 1.0 released - LWN.net
    Oct 23, 2012 · Wayland and Weston 1.0.0 have been released! Thanks and congrats to everybody involved for making this happen. We're entering a new, ...
  57. [57]
    Welcome to Weston documentation! - Freedesktop.org
    Weston is the reference implementation of a Wayland compositor, as well as a useful environment in and of itself. Out of the box, Weston provides a very basic ...Running Weston · Compositor · Weston config · Weston kiosk-shellMissing: history features
  58. [58]
    Weston (Wayland) — Jetson Linux Developer Guide documentation
    Sep 16, 2024 · Weston is the reference implementation of a Wayland compositor. It manages the displays, including composition of their contents, support for their input ...Missing: history | Show results with:history
  59. [59]
    swaywm/sway: i3-compatible Wayland compositor - GitHub
    Check out this wiki page if you want to build the HEAD of sway and wlroots for testing or development. ... Run sway from a TTY or from a display manager.Releases 80 · Sway · Issues · Pull requests 172
  60. [60]
    Sway
    Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration.
  61. [61]
    Mutter - GNOME
    Mutter is a Wayland display server and X11 window manager and compositor library. When used as a Wayland display server, it runs on top of KMS and libinput.
  62. [62]
    GNOME 3.20 through Wayland - Arch Linux Forums
    Apr 10, 2016 · Mutter (the Gnome compositor/window manager) has its own Wayland implementation. ... support the Wayland implementation in GNOME. Offline ...
  63. [63]
    KWin/Wayland - KDE Community Wiki
    Feb 4, 2022 · Most parts of KWin are X11 independent. E.g. the Desktop Effect system is able to integrate Wayland clients without any change, the same is true ...
  64. [64]
    Why Use Wayland versus X11? - CBT Nuggets
    Nov 2, 2021 · Wayland and X11 are two different display server technologies that allow you to see your desktop and manage the windows that each application and tool ...<|separator|>
  65. [65]
    Wayland vs X11: Modern Display Server Architecture - Abhik Sarkar
    ... Wayland achieves lower latency, better security, and cleaner code. The trade-off is loss of network transparency and a simpler, less flexible protocol—but ...
  66. [66]
    Linux Changes in 2024 and Expectations for 2025 - Pieter Bakker
    Jan 26, 2025 · The transition to Wayland is another highlight of 2024. Major desktop environments have successfully adopted Wayland, leaving X.org behind.
  67. [67]
    Core Animation | Apple Developer Documentation
    Core Animation provides high frame rates and smooth animations without burdening the CPU or slowing down your app.Core Animation Programming... · CALayer · Core Animation Structures
  68. [68]
    Why wasn't the Windows 95 shell prototyped on Windows NT?
    Jan 2, 2012 · From the software development side, prototyping the new shell on Windows NT was not practical because Windows 95 introduced a whole bunch of new ...
  69. [69]
    Aero Glass: Create Special Effects With The Desktop Window ...
    The DWM is the new interface that manages how the various windows that are running and rendering are merged onto the Windows Vista desktop.
  70. [70]
    [PDF] Mac OS X Technology Overview
    Oct 15, 2008 · Quartz Compositor. Quartz Compositor, the window server for Mac OS X, coordinates all of the low-level windowing behavior and enforces a ...
  71. [71]
    Mac OS X Lion With 250 New Features Available in July ... - Apple
    Jun 6, 2011 · SAN FRANCISCO—June 6, 2011—Apple® today announced that Mac OS ... Mission Control for instantly accessing everything running on your Mac.
  72. [72]
    Aura (obsolete) - The Chromium Projects
    Nov 11, 2011 · Aura was a project for a new desktop window manager and shell, responsible for window hierarchy, event handling, and basic window functionality.
  73. [73]
    Linux on ChromeOS
    Linux on ChromeOS, sometimes called Crostini, allows you to run Linux apps for development alongside your usual ChromeOS desktop & apps.
  74. [74]
    Integrating Steam into ChromeOS
    Jun 13, 2022 · Under the hood, Chrome implements a Wayland server called Exo. Another program running inside the VM, called sommelier, serves as the X window ...
  75. [75]
    SurfaceFlinger and WindowManager - Android Open Source Project
    WindowManager provides SurfaceFlinger with buffers and window metadata, which SurfaceFlinger then uses to composite surfaces to the display. SurfaceFlinger.Missing: 2008 | Show results with:2008
  76. [76]
    Apple Reinvents the Phone with iPhone
    Jan 9, 2007 · iPhone will be available in the US in June 2007, Europe in late 2007, and Asia in 2008, in a 4GB model for $499 (US) and an 8GB model for $599 ( ...Missing: SpringBoard | Show results with:SpringBoard
  77. [77]
    ICCCM - Client to Window Manager Communication
    ### Summary of WM_NORMAL_HINTS for Window Placement, Sizing, and Positioning Hints
  78. [78]
    Snap Your Windows - Microsoft Support
    The Snap feature allows you to quickly resize and position windows on your screen by dragging them to the edges or corners.Missing: explorer | Show results with:explorer
  79. [79]
    Arrange your Windows in a Snap | Windows Insider Blog
    Jun 4, 2015 · Windows 7 introduced Aero Snap as a way to effortlessly position windows on the desktop just the way you want them.
  80. [80]
    Revisiting X11 vs Wayland With Multiple Displays - KDE Blogs
    Jun 2, 2025 · Immediately, I was struck by how bare the settings window looks compared to Wayland. Here are screenshots of the settings for same HDR monitor ...Missing: management | Show results with:management
  81. [81]
    RandR — X Resize, Rotate and Reflect Extension Version 1.4.0
    One of the significant limitations found in version 1.1 of the RandR protocol was the inability to deal with the Xinerama model where multiple monitors display ...
  82. [82]
    4. Client to Window Manager Communication - Christophe Tronche
    Rules for clients that do are set out in section 4.1.9. The (icon_x,icon_y) coordinate is a hint to the window manager as to where it should position the icon.Missing: placement | Show results with:placement
  83. [83]
    Window Behavior - KDE Documentation -
    Aug 31, 2022 · Think as Click to focus just without having to actually click. In other window managers, this is sometimes known as “Sloppy focus follows mouse” ...
  84. [84]
    Standard Alt+Tab / Super+Tab ("Switch applications") window ...
    Mar 27, 2023 · GNOME's alt-tab handling looks at the "window last used" timestamp to determine which window to switch to and which is "the most recent" etc.
  85. [85]
    How X Window Managers Work, And How To Write One (Part I)
    Apr 10, 2014 · An X server controls one or more physical display devices as well as input devices (mouse, keyboard, etc.). An application that wants to ...
  86. [86]
    Use Multi-Touch gestures on your Mac - Apple Support
    Jun 2, 2025 · Use three fingers to drag items on your screen, then click or tap to drop. Turn on this feature in Accessibility settings. No alt supplied for ...
  87. [87]
    Orca – GNOME Wiki Archive
    **Summary of Orca and AT-SPI Integration:**
  88. [88]
    System Settings/Accessibility - KDE UserBase Wiki
    Dec 12, 2018 · Sticky keys is a setting to make it easier to enter multiple key shortcuts. For instance, when one wants to capitalize a letter, the Shift key ...Missing: Linux GNOME<|separator|>
  89. [89]
    Video tour through GNOME 1, 2 and 3 - YouTube
    Oct 26, 2018 · ... GNOME 3. 4 - GNOME 3 In April 2011, GNOME Shell 3.0 was released. Its goal was to unify the user experience, providing easier ways to start ...
  90. [90]
    System Settings - KDE UserBase Wiki
    Apr 13, 2024 · KDE System Settings is a manager for hardware, software, and workspaces. It includes settings for appearance, workspace, desktop behavior, and ...
  91. [91]
    Default configuration file documentation - awesome window manager
    The default Awesome config file includes modules like gears, wibox, awful, naughty, ruled, menubar, and beautiful, and uses a default modkey of Mod4.Error handling · Variable definitions · Menu · Wallpaper
  92. [92]
    lxde/lxappearance: LXDE GTK+ theme switcher - GitHub
    LXAppearance is part of LXDE project. It's a desktop-independent theme switcher for GTK+. Notes for compilation: it requires intltool 0.40 and GTK+ 2.12 or ...