Window Maker
Window Maker is a free and open-source window manager for the X Window System, allowing graphical applications to be run on Unix-like operating-systems. It is designed to emulate NeXTSTEP's GUI as an OpenStep-compatible environment. Window Maker is part of the GNU Project.
Overview
Window Maker has been characterized as reproducing "the elegant look and feel of the NeXTSTEP GUI" and is noted as "easy to configure and easy to use." A graphical tool called Wprefs is included and can be used to configure most aspects of the UI. The interface tends towards a minimalist, high performance environment directly supporting XPM, PNG, JPEG, TIFF, GIF and PPM icons with an alpha-channel and a right-click, sliding-scrolling application menu system which can throw off pinnable menus, along with window-icon miniaturization and other animations on multiple desktops. Menus and preferences can be changed without restarting. As with most window managers it supports themes and many are available. Owing to its NeXT inspiration, Window Maker has a dock like macOS, but Window Maker's look and feel hews mostly to that of its NeXT forebear.Architecture
Window Maker has window hints which allow seamless integration with the GNUstep, GNOME, KDE, Motif and OpenLook environments. Significantly it has almost complete ICCCM compliance and internationalization support for at least 11 locales. Window Maker uses the lightweight WINGs widget set which was built specifically for Window Maker as a way to skirt what its developers said would have been the "overkill" of using GNUstep. WINGs is common to other applications including a login display manager called WINGs Display Manager and many dockapps. Window Maker dock and clip applets are compatible with those from AfterStep's wharf.History
Window Maker was written from scratch primarily by Brazilian programmer Alfredo Kojima as a window manager for the GNUstep desktop environment and originally meant as an improved take on the AfterStep window manager's design concept. The first release was in 1997. For a time it was included as a standard window manager in several Linux distributions and is also available in the FreeBSD and OpenBSD ports collection. Since the goal of the project has been to closely emulate the design of the defunct NeXTstep and OpenStep GUIs, further development has been light. In late 2007 the widely available, stable release version was at 0.92 from July 2005 with subsequent maintenance updates having been made to some distribution packages and ports.In late June 2008 a post on the project's website said active development would resume, noting, "...we are working very hard to revitalize Window Maker's presence on X Window desktops... We expect to once again provide the de-facto minimalist yet extremely functional window manager to the world." On 29 January 2012, Window Maker 0.95.1 was released, making it the first official release in almost seven years. This was followed by a number of releases; the latest release was 0.95.8, released on 11 March 2017.
Name
The program's original name was WindowMaker but a naming conflict arose with an older product called Windowmaker from Windowmaker Software Ltd, a UK company producing software for companies that manufacture windows and doors. A 1998 agreement between the developers of Window Maker and Windowmaker Software specified that Window Maker should never be used as a single word.Usage
Though adhering closely to the NeXT interface, the default appearance can be confusing to someone expecting a Microsoft Windows-style taskbar and start menu. All applications can be accessed by right-clicking on the desktop background to access the fully configurable main menu. The menu can also be displayed using the keyboard, with for the application menu and for a window menu.Window Maker can be configured by double-clicking the screwdriver icon on the dock. An icon depicting a computer monitor is used to launch a command-window and a paperclip icon is used to cycle between workspaces. Any icon in Window Maker, including application icons, can be easily changed.
Icons representing running applications appear at the bottom of the screen. By default, the dock appears at upper right. Icons can be dragged onto the dock to make them permanent. The edge of an icon can be right-clicked to adjust its settings. A separate, dockable application called wmdrawer features a slide-out drawer which can hold application and file launching icons.
Basic apps
While any X application can be docked in Window Maker, the archetypical WM dockable applications are called dockapps. These tend to be clocks and system monitoring applications. There are many clock implementations, including wmcalclock, wmtime, wmclock and wmclockmon. Monitoring applets include wmload, wmavgload, wmmon, wmnet and wmnd. Many other dockapps are available, typically ones intended to interact with other "full fledged" applications.The WPrefs configuration tool enables tuning of most Window Maker preferences. wmakerconf was developed to provide more configuration options, notably theme customization. Configuration files are typically stored in ~/GNUstep/. The background can be changed from the command line with
wmsetbg -s -u
.FSViewer is a separate, configurable Miller Columns file browser developed for Window Maker in 1998 by George Clernon as a visual and functional analogy to NeXTstep's Workspace Manager. In 2002, it was adapted to later versions of the WINGs libraries and Window Maker by Guido Scholz.
aterm is an rxvt based terminal emulator developed for Afterstep mainly for visual appeal, featuring a NeXTstep style scrollbar along with pseudo-transparency.
Menu
The application menu can be edited graphically with much versatility. The configuration is recorded in ~/GNUstep/Defaults/WMRootMenu as a text file which can be easily read and edited.Menu items can be set to:
- Launch a program or application with or without a filename and other arguments
- Launch a command line interface with or without further arguments
- Run a WM command, such as exiting a Window Maker session or listing windows and workspaces
- List a submenu containing any of the above tasks