Fact-checked by Grok 2 weeks ago

Window Maker

Window Maker is a free and open-source for the , originally developed to emulate the elegant user interface of while providing seamless integration support for the ; it operates independently as well and emphasizes lightweight performance with semi-automatic tiling capabilities. First released in 1997 by developer Alfredo Kojima as part of the GNU Project, Window Maker was initially named WindowMaker but renamed with a space to avoid conflict with unrelated British software for the window and door industry. It quickly gained popularity for its faithful recreation of 's look and feel, including appicons for minimized windows and a for launching applications, and was included as a default option in several distributions during the late and early . Ported to in 2000, it has since been maintained by a global community of contributors, with development resuming after a hiatus and the latest stable version, 0.96.0, released on August 5, 2023, incorporating bug fixes and enhancements for modern systems. Key features include highly configurable dynamic menus, shortcuts, and human-readable files editable via a graphical preferences tool, alongside support for themes, clips (taskbars), and dockable applets known as dockapps. Its design prioritizes speed and efficiency, making it suitable for resource-constrained environments, while maintaining compatibility with applications for a cohesive OpenStep-like experience on operating systems. Window Maker remains available in major repositories and continues to attract users seeking a minimalist yet feature-rich alternative to heavier desktop environments.

Introduction

Overview

Window Maker is a free and open-source for the , designed to emulate the look and feel of the while providing integration support for the . It operates as a with optional semi-automatic tiling capabilities, allowing users to manage windows in a lightweight and customizable manner on operating systems. Although primarily developed for , Window Maker functions effectively as a standalone without requiring the full . The software is licensed under the GNU General Public License version 2.0 or later (GPL-2.0-or-later) and is written primarily in , ensuring broad compatibility and ease of compilation on various systems such as , BSD variants, and others. It is noted for its low resource usage, making it suitable for older hardware or systems where efficiency is prioritized, and demonstrates stability across different distributions due to its mature codebase and inclusion in major package repositories. As of , Window Maker maintains an active development community, with version 0.96.0 released in , incorporating updates such as enhanced screen corner functionality and ongoing bug fixes through mailing lists and contributions.

Design Philosophy

Window Maker's design philosophy is deeply rooted in emulating the user interface of , incorporating elements such as textured windows, a persistent for application launching, and icon-based interactions to recreate the elegant and intuitive aesthetic of that system. This inspiration aims to deliver a visually appealing and functionally cohesive experience on X11, prioritizing the beauty and usability of without direct dependency on . The emphasizes a and efficient , optimized for performance on older by focusing on speed and minimal resource usage rather than resource-intensive animations or effects. Developers have consistently avoided , concentrating on core window management capabilities with optional aesthetic enhancements to prevent bloat and ensure stability across diverse systems. This approach allows Window Maker to run blazingly fast even on limited resources. A key goal is to provide a -compatible environment that supports integration with the GNUstep Desktop without necessitating a full , enabling standalone operation while maintaining compatibility for users seeking an OpenStep-like workflow. Flexibility and user control are central tenets, facilitated by human-readable text-based configuration files that allow straightforward editing of preferences, keybindings, and themes without specialized tools. This design empowers users to tailor the interface on-the-fly through graphical utilities or direct file modifications, promoting accessibility and personalization.

History

Origins and Early Development

Window Maker was initiated in 1997 by Brazilian developer Alfredo K. Kojima as a free and open-source X11 designed to emulate the elegant of while providing seamless integration support for the on systems. Originally named WindowMaker without a space, it was renamed to Window Maker to avoid conflict with unrelated commercial software for the window and door industry. The project emerged from the need to recreate 's polished for open-source users, particularly those employing 's Objective-C-based framework on X11, offering a lightweight alternative to heavier s prevalent at the time. Kojima led the initial development, with significant contributions from Dan Pascu and a growing number of international programmers under the , focusing on creating a fast, configurable, and user-friendly tool that prioritized visual fidelity to NeXTSTEP's aesthetic elements like textured windows and docks. Early efforts emphasized core functionality, including support for multiple workspaces and keyboard-driven navigation, while ensuring the manager could run standalone or alongside applications. The saw rapid early adoption within the Linux community from 1997 to 2000, becoming a staple in repositories of major distributions due to its efficiency and NeXT-inspired appeal, which resonated with users seeking a refined experience on resource-constrained . Development in these years grappled with technical hurdles, such as attaining near-complete compliance with the Inter-Client Communication Conventions Manual (ICCCM) to guarantee interoperability with diverse X11 clients, and incorporating (i18n) support for over 11 languages to broaden . By the mid-2000s, after consistent releases that refined its stability and features, the project entered a stagnation phase under the original team, culminating in version 0.92.0 as the final official update in 2005, amid shifting priorities in the open-source landscape.

Key Releases and Maintenance

After a period of dormancy following the last release under original developer Alfredo Kojima in 2005, Window Maker was revived in 2012 by Carlos R. Mafra, who had been maintaining a fork of the project since 2011. This effort led to the release of version 0.95.1 on January 29, 2012, marking the first official update in nearly six years and incorporating numerous bug fixes to address compatibility issues with modern X11 environments. Subsequent releases in the 0.95.x series, such as 0.95.6 in August 2014, introduced support for the library, enabling handling of additional image formats including , , , and . Development continued under Mafra and a small team, with key milestones including version 0.95.7 in August 2015, which added window snapping functionality, and version 0.95.9 in April 2020, which included enhancements such as configurable icon sizes in the switch panel and the replacement of the GNUSTEP_USER_ROOT with WMAKER_USER_ROOT for user directories. The project maintains its primary Git repository at repo.or.cz, with a mirror on to facilitate broader access, while primary contributions are coordinated through the wmaker-dev . Community involvement has grown through issues, where users report bugs and suggest fixes, supporting ongoing maintenance despite a small developer base. The most recent stable release, version 0.96.0, arrived on August 5, 2023, introducing preliminary XRandR support for dynamic configurations and resolving several long-standing bugs related to window management and rendering. As of November 2025, Window Maker remains actively maintained but with infrequent releases, emphasizing stability and compatibility with contemporary distributions over major new features.

Features

Core Functionality

Window Maker provides robust window management capabilities compliant with the Inter-Client Communication Conventions Manual (ICCCM), ensuring standard handling of X11 windows, including proper , focus management, and cooperative replacement with other window managers. This compliance allows seamless interaction with a wide range of X11 applications, maintaining expected behaviors such as resizing, moving, and closing windows without conflicts. The window manager supports multiple workspaces, also known as virtual desktops, enabling users to organize applications across separate screens for improved multitasking and desktop navigation. It also accommodates multi-display configurations through integration with the and XRandR extensions, facilitating extended desktops and dynamic resolution changes across multiple monitors. As of version 0.96.0, it includes support for the _NET_WM_FULLSCREEN_MONITORS hint to better handle fullscreen applications on multi-monitor setups. Core window operations include shading, which rolls up a window to its titlebar for quick access; miniaturization, which minimizes windows to iconic representations on the desktop or dock; and flexible maximization options, such as expanding windows to occupy halves (left/right or top/bottom) or quarters of the screen. Additionally, minimized windows can display content previews (apercus), allowing users to view thumbnails of their contents without restoring them fully. Input handling is enhanced by support for keyboard shortcuts, with predefined bindings for common actions like window movement, shading, and workspace switching, and the ability to customize them via configuration tools. As of version 0.96.0, new preferences for taking screenshots have been added. Mouse interactions are versatile, accommodating up to nine buttons for gestures such as dragging, right-clicking for menus, and button combinations for rapid operations. Window Maker incorporates integration hints to optimize compatibility with various desktop environments and toolkits, including for native-like rendering, and for session management and panel awareness, and as well as OPEN LOOK for legacy application support. These hints ensure that applications from these ecosystems receive appropriate decorations, positioning, and behavioral cues. Dynamic popup menus form a key interaction mechanism, accessible via right-click on the root window or titlebars, featuring keyboard traversal for navigation using and accelerators, along with options to pin menus to the desktop for persistent access. This design promotes efficient command execution and application launching without relying solely on mouse input. As of version 0.96.0, hot corner support has been introduced for triggering actions at screen corners.

Visual and Usability Enhancements

Window Maker incorporates a range of built-in themes and over 13 window decoration styles, including textured appearances that emulate the aesthetic, allowing users to customize the visual presentation of windows with options like borders, titles, and shading effects. These decorations enhance the desktop's coherence and appeal, providing a polished interface that integrates seamlessly with applications. The supports a wide array of icon formats, including XPM, , , , , and with alpha channels for transparency, while integration with enables additional formats when compiled accordingly. This versatility ensures high-quality icons across diverse applications, with built-in dithering for low-color displays at 4bpp and 8bpp to maintain visual clarity on older hardware. Furthermore, users can set custom root backgrounds per workspace using the wmsetbg utility, fostering personalized environments without disrupting workflow. Usability is bolstered by optional animations, such as smooth window shading and sliding icon effects during minimization, which add fluidity to interactions while remaining configurable to user preference. The Application serves as a persistent, drag-and-drop panel on the right side of the screen for quick access to running programs, complemented by the Workspace Dock—also known as Clip or Fiend—for workspace-specific tools and extensions. Preferences can be adjusted on-the-fly via the built-in utility, eliminating the need for restarts and enabling real-time tweaks to menus and visuals. Internationalization support covers over 11 locales, ensuring accessible text rendering and menu navigation for global users.

Technical Components

WINGs Library

The WINGs library serves as a lightweight written in C, specifically designed for Window Maker to provide essential elements without the overhead of more comprehensive frameworks. Developed to address the need for a simple, efficient solution for tasks, it employs an object-oriented approach in C, featuring encapsulated objects and methods that enable the creation of basic components. Central to Window Maker's interface, WINGs handles the rendering of key UI elements such as menus, buttons, and dialogs, allowing the to maintain its NeXTSTEP-inspired aesthetic independently of heavier toolkits like . Its core capabilities include support for images and fonts, along with fundamental widgets like buttons, file browsers, color choosers, and dialogs, which facilitate structured configuration through proplist functionality for files like menus and desktop states. This library powers internal utilities, notably the WPrefs configuration tool, ensuring consistent and performant interactions within the environment. Although integral to Window Maker and primarily designed for its needs, WINGs can be used in conjunction with Xlib for basic elements in other X11 applications. However, it is not a general-purpose toolkit; for more complex scenarios, is recommended. Integrated from Window Maker's early versions as a core component, the library has evolved with updates in subsequent releases, including expanded image format support (such as and ImageMagick-handled formats like ) and enhancements for modern display features like multi-head configurations via .

Dockapps

Dockapps are small, modular utilities designed to embed directly into the of Window Maker, providing compact interfaces for system monitoring, notifications, and other lightweight tasks, typically operating within a 64x64 size. These mini-applications enhance the by offering at-a-glance information without requiring full window interactions, such as displaying time, weather, email alerts, or resource usage. Integration of dockapps with Window Maker's relies on the libdockapp library, a simple open-source toolkit that simplifies the creation and setup of these utilities by handling essential configurations like event processing and docking protocols. Libdockapp ensures compatibility by providing functions to initialize the application window for seamless embedding into the , allowing dockapps to respond to user interactions like clicks or drags while maintaining the visual style of the NeXTSTEP-inspired interface. Many dockapps leverage the WINGs library for rendering their graphical elements, enabling consistent theming with Window Maker's overall aesthetic. Popular examples include wmclock for time and calendar display, wmmail for email notifications, and wmnet for network monitoring, among over 200 archived options available through dedicated repositories. These utilities demonstrate the versatility of dockapps, covering categories from audio controls like wmMixer to tools like wmacpi for battery status. The primary advantages of dockapps lie in their space efficiency and persistent visibility, allowing users to access critical status indicators without cluttering the desktop or switching applications. Their design promotes portability, as they can integrate with other window managers like AfterStep's or JWM's system tray through compatible protocols, broadening their utility beyond Window Maker. Development of dockapps is facilitated by open-source resources, including the libdockapp library and collections hosted in Git repositories such as repo.or.cz/dockapps.git, where developers can , build, and customize applications using standard tools like autotools and make. This ecosystem encourages community contributions, with build instructions emphasizing compatibility fixes for modern compilers, ensuring ongoing maintenance and innovation in mini-application design.

Usage and Configuration

Installation and Setup

Window Maker is available through standard package managers on major distributions, simplifying deployment without manual compilation. On and systems, it can be installed using the Advanced Package Tool (APT) with the command sudo apt install wmaker, which pulls in necessary dependencies like X11 libraries. For , the package is provided in the official repositories and can be installed via DNF with sudo dnf install WindowMaker. On , Window Maker is available via the Arch User Repository (AUR), installable using an AUR helper like yay -S windowmaker. For users preferring to build from source, Window Maker requires minimal dependencies centered on X11 development libraries. Essential prerequisites include X11R6 or later, an compiler such as , glibc development files, X development headers (including libXext and libXpm version 4.7 or newer), and Xft2 along with its dependencies (freetype2 and ). Optional libraries enhance functionality, such as libpng (version 0.96 or later) and libtiff (version 3.4 or later) for additional image format support in icons and backgrounds; can provide further image processing capabilities if needed for custom icon handling. Supported platforms include Intel-based / (x86 and x86_64), BSD variants, and 10/11. To compile, download the source tarball from the official site, extract it, run ./configure (with --help for options like --prefix to set the installation directory, defaulting to /usr/local/bin), followed by make and sudo make install (requiring root access for system directories), and finally ldconfig to update the library cache. Once installed, Window Maker can be launched through various methods suitable for X11 environments. For manual starts, add exec wmaker to the user's ~/.xinitrc file and run startx, which executes the window manager upon X session initialization. In display manager setups like GDM or , select the Window Maker session from the login menu's session chooser. Alternatively, session scripts or direct invocation via wmaker from a can initiate it. Initial setup involves creating the ~/GNUstep directory and then running the wmaker.inst script as the user to generate personal files and integrate with the X startup process. This script populates it with defaults under ~/GNUstep/Defaults, modifies ~/.xinitrc to auto-launch Window Maker, and may prompt for basic preferences like menu generation using wmgenmenu > ~/GNUstep/Defaults/WMRootMenu. The resulting files, stored as property lists in ~/GNUstep/Defaults, provide a functional starting point, with further available through dedicated options.

Customization Options

Window Maker offers extensive customization options for users to personalize its appearance, behavior, and menus, primarily through graphical tools and editable configuration files. The primary graphical configuration utility is WPrefs.app, a built-in tool that allows on-the-fly modifications to preferences and menus without restarting the window manager. Additionally, wmakerconf, a third-party GTK+-based configurator, provides an alternative mouse-driven interface for editing Window Maker attributes, including menus and styles. Configuration is stored in human-readable property list files within the user's GNUstep directory, specifically ~/GNUstep/Defaults/WindowMaker for general preferences such as focus modes, window placement, and bindings. Other key files include WMWindowAttributes! for window-specific settings like icons and title bars, and WMRootMenu for the applications menu, which can be edited manually in text or array format. These files support detailed tweaks, such as defining textures with commands like (hgradient, color1, color2) for gradients or specifying fonts in X Logical Font Description format (e.g., Helvetica bold 12). Themes can be applied to alter the overall visual style, with built-in options accessible via the "Appearance -> Themes" menu item, which invokes the setstyle program. Custom themes are created or installed in ~/GNUstep/Library/WindowMaker/Themes/, requiring a .themed directory containing a style file and supporting images in formats like or XPM; these enhance the window manager's look without delving into core feature modifications. Menu customization is handled dynamically through the ~/GNUstep/Library/WindowMaker/ directory, where the root menu (WMRootMenu) supports submenus, icons, and application launch commands in format. Users can edit menus directly in WPrefs.app or convert text-based menus using the wm-oldmenu2new script. Keyboard and bindings are defined in the WindowMaker file, allowing assignments like Mod1+Tab () for window cycling or Meta+Up for raising windows. options include button assignments (e.g., right-click for the applications ) and wheel support for workspace switching, configurable via WPrefs.app's "" and "" panels. For advanced personalization, the wmgenmenu utility generates menu structures in format from standard input, outputting to ~/GNUstep/Defaults/WMRootMenu for quick regeneration of dynamic menus. Scripting is possible through manual edits to property lists or integration with external tools; for instance, compiling Window Maker with support enables additional image formats (e.g., ) for icons and backgrounds without conversion utilities.

References

  1. [1]
    Window Maker: Home
    Window Maker is an X11 window manager originally designed to provide integration support for the GNUstep Desktop Environment, although it can run stand alone.News · Documentation · Mailing · Development
  2. [2]
    FAQ - Window Maker
    Window Maker is an X11 window manager originally designed to provide integration support for the GNUstep Desktop Environment.
  3. [3]
    WMLive 0.96 shows off the new Window Maker - The Register
    Oct 25, 2023 · Window Maker, which dates back to 1997, was originally named without a space, WindowMaker, but renamed to avoid conflict with a small British ...
  4. [4]
    Window Maker | Southern California Linux Expo
    The first release was in 1997. For a time it was included as a standard window manager in several Linux distributions and was ported to FreeBSD in 2000. Since ...Missing: history | Show results with:history
  5. [5]
    window-maker/wmaker: Mirror of the official repository repo ... - GitHub
    Window Maker is the GNU window manager for the X Window System. It was designed to emulate the look and feel of part of the NEXTSTEP(tm) GUI.
  6. [6]
    Compilation and Installation - Window Maker
    WINDOW MAKER is known to compile with gcc and clang; the code source is mostly ANSI C (also known as C89 and C90) but is uses very few of the C99 novelties.Missing: programming | Show results with:programming
  7. [7]
    Window Maker - ArchWiki
    Apr 24, 2025 · Window Maker is a window manager (WM) for the X Window System. It is designed to emulate the NeXT user interface as an OpenStep-compatible environment.Configuration · Dock · Dockapps · System tray
  8. [8]
    News - Window Maker
    Version 0.96.0 released. Window Maker 0.96.0 was released on August 5th 2023. Screen corners can be assigned an external command to be executed when the ...Missing: X11 active
  9. [9]
    Window Maker 0.96 Released For Window Manager Inspired By ...
    ... Window Maker 0.96 was released this weekend for that X11 window manager inspired by the NeXTSTEP GUI. Window Maker 0.96 is the first update ...<|separator|>
  10. [10]
    Features - Window Maker
    This has always followed the philosophy of keeping to those features which fit well into the overall design, while limiting the amount of “feature creep” that ...
  11. [11]
    13 Best Lightweight Desktop Environments for Linux in 2023 - Tecmint
    Oct 3, 2023 · LXDE stands for Lightweight X11 desktop environment which is yet ... You forgot to mention Window Maker. https://www.windowmaker.org/.
  12. [12]
    Interview with Alfredo K. Kojima - Slashdot
    Feb 14, 1999 · Interview with Alfredo K. Kojima. from the stuff-to-read dept ... window maker and a host of related confuration tools and dock ...Missing: bio | Show results with:bio
  13. [13]
    (PDF) Trends and Evolution of Window Interfaces - Academia.edu
    Window Maker was written by Alfredo Kojima and first released in 1997. It is an X11 window manager originally designed to provide integration support for ...
  14. [14]
    crmafra/wmaker: The Window Maker window manager ... - GitHub
    GNU Window Maker X11 Window Manager <http://windowmaker.org> by Alfredo K. Kojima Dan Pascu Web/FTP Master Phillip Smith Congratulations!
  15. [15]
  16. [16]
    Window Maker: Your NeXT Window Manager - OSnews
    Dec 3, 2009 · Window Maker is an X11 window manager originally designed to provide integration support for the GNUstep Desktop Environment.
  17. [17]
    WindowMaker Development Resumes, Has First Release Since 2006
    Feb 16, 2012 · Its lighter, but comparing a simple window manager to a full blown desktop environment,this includes window manager + other stuff even in ...
  18. [18]
    Downloads - Window Maker
    The following versions of Window Maker are available for download: 0.96.0, released on 2023-08-05; 0.95.9, released on 2020-04-04; 0.95.8, ...
  19. [19]
    Issues · window-maker/wmaker - GitHub
    On FreeBSD, WindowMaker does not find GNUStep apps · #59 · GlenHenshaw ; With picom enabled, some GTK3 apps lose their borders · #58 · levito ; Firefox widget ...
  20. [20]
    Guided Tour - Prefs - Window Maker
    Many actions in Window Maker have predefined keyboard shortcuts. These actions mainly concern windows and workspaces. Modifying, adding or removing shortcuts ...
  21. [21]
    Guided Tour - Menus - Window Maker
    A number of keyboard shortcuts are provided. These shortcuts are indicated by the modifier key + letter shown to the right of a menu item. The keyboard can ...
  22. [22]
    WINGs - Window Maker
    WINGs is a lightweight toolkit for Window Maker, designed for basic tasks, containing UI widgets and providing proplist functionality for configuration.
  23. [23]
    3 Steps to Make a WINGs User Interface - Window Maker
    You can download windowmaker with the WINGs libraries here. The library provides widgets which you can use to make a graphical user interface. A widget is a ...
  24. [24]
    dockapps.net: Home
    Our goal is twofold: to serve as a comprehensive directory of all available dockapps and also to host dockapps which are maintained by the Window Maker Team.Trays · Power · Audio · MiscMissing: protocol advantages
  25. [25]
    libdockapp - dockapps.net
    Simple library that eases the creation of Window Maker dock apps. It provides functions that set up a dock app in such a way that they can be properly docked.Missing: protocol examples
  26. [26]
    Window Maker dockapps collection - GitHub
    Dockapps are small tiles that easily fit into a dock in your window manager, but each one could be considered a complete configuration application.Missing: examples advantages
  27. [27]
    Install & Use Window Maker Desktop Environment on Ubuntu
    Mar 26, 2012 · When more up-to-date packages are available in Ubuntu, only the “sudo apt-get install wmaker” command will be necessary. Launching Window Maker.<|control11|><|separator|>
  28. [28]
    How do you install Debian with Windowmaker? - Super User
    Sep 18, 2012 · To install Window Maker, type aptitude install wmaker. However it is not a desktop environment. It is only a window manager.
  29. [29]
    WindowMaker - Fedora Packages
    Window Maker is an X11 window manager designed to give additional ... License(s): GPL-2.0-or-later; Maintainer: sham1. Related Packages. WINGs-devel · WINGs ...
  30. [30]
    Installation Basics - Window Maker
    The first necessary step is to download the Window Maker source distribution. From this point on, we'll assume it has been retrieved and is residing on the ...
  31. [31]
    User Guide - Configuration - Window Maker
    Window Maker configuration involves a defaults database, property lists, preferences in the WindowMaker domain, and window attributes in a separate file.
  32. [32]
    WMakerConf: A Configuration Utility for Window Maker - SourceForge
    WMakerConf (short for Window Maker Configurator) is a configuration utility for the Window Maker window manager.
  33. [33]
    Guided Tour - Backgrounds and Themes - Window Maker
    The appearance of the Window Maker GUI can easily be customized from the applications menu item "Appearance". Themes, styles, icon sets, and backgrounds can be ...
  34. [34]
    wmgenmenu - Window Maker
    wmgenmenu is a part of Window Maker. It was written by Carlos R. Mafra and Tamas TEVESZ. This manpage was written by Rodolfo García Peñas (kix) for the ...