Generated by GPT-5-mini| KWin | |
|---|---|
![]() | |
| Name | KWin |
| Developer | KDE |
| Released | 1998 |
| Programming language | C++ |
| Operating system | Linux, FreeBSD |
| Genre | Window manager, Compositing window manager |
| License | GNU General Public License |
KWin is the window manager and compositing manager used by the KDE Plasma desktop. It provides window decoration, placement, compositing, and input handling for graphical sessions, integrating with X Window System and Wayland display protocols. KWin is developed by contributors to KDE, maintained alongside KDE Frameworks and Plasma Desktop, and is packaged in many Linux and BSD distributions.
KWin acts as a compositor and window manager that mediates between applications and display servers such as X.Org and Weston-compatible Wayland compositors. It implements window policies, input focus models, and manages window lifecycles for toolkits like Qt, GTK, EFL, and Wayland clients. Released under the GNU General Public License, KWin participates in KDE's release cycle with KDE Plasma versions and is integrated into distributions including Fedora, openSUSE, Ubuntu, Debian, Arch Linux, Gentoo, and FreeBSD ports.
KWin's architecture separates core window management, compositing backends, and effects pipelines. The codebase uses C++ with modules in Qt Frameworks and interacts with system components such as libinput, XCB, GLX, EGL, and DRM. It supports multiple window tiling and placement strategies used by projects like i3 and bspwm through scripts and plugins. Security and sandboxing interact with Wayland protocols and Flatpak/Snap application frameworks. KWin integrates with session components like Systemd, ConsoleKit, and logind for seat and power management, and cooperates with compositors and display servers including X.Org Server and Mesa.
KWin implements hardware-accelerated compositing using OpenGL, Vulkan, EGL, and fallback software paths. Its effects system provides animations, shadows, blur, and transitions, comparable to effects in macOS, Microsoft Windows, and other compositors such as Compiz and Mutter. The effects pipeline supports plugins that hook into the scene graph and rendering loop used by Qt Quick and KWayland. Rendering interacts with graphics drivers from vendors like NVIDIA, Intel, AMD, and with projects such as Mesa 3D and DRI. Compositing modes adapt to hardware capabilities exposed by Kernel Mode Setting and Direct Rendering Manager.
KWin exposes configuration via the KConfig framework, graphical modules in System Settings, and command-line utilities. Users and distributions extend behavior using scripts written in JavaScript/QML and the KWin scripting API, enabling features inspired by window managers like Awesome, Xmonad, and Sway. Configuration integrates with desktop components including KGlobalAccel, KSharedConfig, and KWin rules for window matching, workspace assignment, and keyboard shortcuts. Administrators may customize startup via session management with LightDM, SDDM, and GDM.
KWin originated in the late 1990s within the KDE project and evolved through KDE 3, KDE 4, and KDE Plasma 5 development cycles. Major milestones include adoption of compositing in KDE 4, migration to Qt 5, support for Wayland in Plasma 5, and ongoing porting to Qt 6 and modern graphics stacks. Contributors include developers from organizations such as openSUSE, KDE e.V., and community maintainers from distributions like KDE Neon. The project follows KDE's release processes, uses Git for version control hosted on Invent/GitLab platforms, and coordinates via KDE Community channels, bug trackers, and periodic developer sprints.
KWin is recognized for its flexibility, polish, and integration with KDE Plasma, with reviews often comparing its effects and configurability to Compiz, Mutter, and GNOME Shell. It ships as the default compositor in KDE-based environments and is adopted in desktop-focused distributions such as Kubuntu, Neon, openSUSE Leap, and enterprise or embedded systems leveraging Wayland support. Academic and industry commentary on desktop compositors references KWin alongside projects like Weston and Sway when evaluating performance, latency, and feature completeness.
Category:KDE Category:Window managers