Hubbry Logo
Window MakerWindow MakerMain
Open search
Window Maker
Community hub
Window Maker
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something
Window Maker
Window Maker
from Wikipedia
Window Maker
DeveloperAlfredo Kojima up to version 0.92.0, Carlos R. Mafra onwards
Initial release1997; 28 years ago (1997)
Stable release
0.96.0[1] Edit this on Wikidata / 5 August 2023
Repository
Written inC
Operating systemUnix-like
TypeWindow manager
LicenseGPL-2.0-or-later
Websitewww.windowmaker.org Edit this on Wikidata

Window Maker is a free and open-source window manager for the X Window System. It emulates NeXTSTEP's Look and feel as a GNUstep-compatible environment.[2]

History

[edit]

Window Maker was written from scratch primarily by Brazilian programmer Alfredo Kojima in 1997, originally intended to be used with the GNUstep desktop environment and as an improved take on the AfterStep window manager's design. [3][4]

The last release under the original developers was 0.92.0 in 2005. In 2012, Window Maker 0.95.1 was released by a new maintainer, Carlos R. Mafra, who had been maintaining a fork on Git.[5][6]

Dockapps

[edit]

Dockapps are small applications that run inside Window Maker's dock alongside application icons and are often used for monitoring applications, notification areas, and volume controls. Dockapps are also usable with other window managers, such as AfterStep and Blackbox.

The Window Maker developers maintain a dockapp directory[7] and a Git repository with dockapps whose original development has been abandoned.[8]

WINGs

[edit]

WINGs (a recursive acronym for "WINGs Is Not GNUstep") is a lightweight widget toolkit designed for Window Maker to be used instead of GNUstep, as the latter was considered overkill for a window manager, but it has seen some use by developers outside the Window Maker team.[9]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
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, keyboard shortcuts, and human-readable configuration 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 2023, 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 hardware 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 installation, 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 desktop experience on resource-constrained hardware. 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 desktop 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 , , BMP, and TGA. 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 configuration 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 decoration, 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 Motif 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, , , TIFF, , and PPM 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 GUI 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 UI 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 UI 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 UI elements in other X11 applications. However, it is not a general-purpose GUI 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 clone, 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 GCC, 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 Solaris 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 terminal can initiate it. Initial setup involves creating the ~/GNUstep directory and then running the wmaker.inst script as the user to generate personal configuration 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 configuration 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

Add your contribution
Related Hubs
Contribute something
User Avatar
No comments yet.