Window Maker: Your NeXT Window Manager

Window Maker is an X11 window manager originally designed to provide integration support for the GNUstep Desktop Environment. In every way possible, it reproduces the elegant look and feel of the NEXTSTEP user interface. It is fast, feature rich, easy to configure, and easy to use. It is also free software, with contributions being made by programmers from around the world.

Window Maker includes compatibility options which allow it to work with other popular desktop environments, namely GNOME and KDE, and comes with a powerful GUI configuration editor, called WPrefs, which removes the need to edit text-based configuration files by hand.

The obligatory screenshot (click the image for a larger view):

My Window Maker desktop with WPrefs, the info panel and various menus displayed.The applets in the dock (upper right) are courtesy of DockApps.org. The small set of icons in the lower right corner are the notification area icons managed by the Trayer app.

Window Maker Features

We have already mentioned that Window Maker is a window manager. There are other window managers out there, such as the infamous FVWM, Enlightenment, AfterStep, and the list goes on. All window managers perform the same basic tasks, which are to create, place, keep track of, and draw borders around the windows on the screen. Beyond this, they can become quite different in their various abilities.

Window Maker firmly adheres to the behavior and functionality of the NEXTSTEP user interface. The developers have put forth a great deal of effort in capturing the essense and beauty of the original design, and have incorporated some new ideas of their own. 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 tends to bloat other window managers. A summary of the main Window Maker features are presented below.

Core

  • almost complete ICCCM compliance
  • national language I18N support (over 11 locales)
  • built-in icon dithering with support for 4bpp and 8bpp displays
  • popup menus that support keyboard traversal, which can be “pinned” to the root window
  • support for GNUstep, GNOME, and KDE window hints to better integrate with those desktop environments
  • support for Motif[tm] and OPEN LOOK[tm] window hints to better interface with applications based on those toolkits
  • built-in GUI configuration utility that eliminates the need to hand edit config files
  • application Dock (similar to NEXTSTEP/MacOS X Dock) that can be configured using drag and drop
  • workspace Dock (aka Clip/Fiend) which is a workspace specific Dock extender
  • support for rudimentary session management
  • support for dockapps (equivalent of applets or epplets)
  • ability to change all preferences and menus on-the-fly without having to restart the window manager
  • support for multiple workspaces (aka “virtual desktops”)

Extras

  • built-in themes support
  • over 13 types of window decorations, including custom defined
  • support for XPM, PNG, JPEG, TIFF, GIF and PPM icons (no conversions with external programs) with an alpha-channel
  • support for setting the root window background (via the wmsetbg utility)
  • optional superfluous animations, such as window shading, customizable icon miniaturization effects, slide/scrolling menus, and much more

Despite all of these features, Window Maker is not resource intensive and remains stable across many UNIX variants. It is extremely flexible, and many options can be included or excluded at compile time. This means that you can easily tailor Window Maker to meet your needs; whether you’re a minimalist wanting to save resources, or an extremist that likes to theme everything in sight.

Installing Window Maker

Window Maker is available in the Ubuntu software repository and is likely available in the software repositories of other GNU/Linux distributions. To install Window Maker in Ubuntu, simply run the following command:

sudo apt-get install wmaker trayer wmtime wmmon wmifs wmweather wmmisc wmdrawer

This will install the Window Maker window manager, some cool dockapps and the trayer notification area app to manage tray icons.

Running Window Maker

Now that we have Window Maker installed, let’s explore the new environment. Log out of your current session and choose Window Maker from the session options of the GDM screen.

Georges Tarbouriech has posted an extensive Window Maker guided tour, a must for any Window Maker fan.

Communication

Some folks have mentioned that Window Maker is no longer maintained, this is not the case. Window Maker is actively maintained and the Window Maker website is undergoing a complete transformation.

Join the Window Maker community:

IRC: #windowmaker on irc.freenode.net
Mailing lists: lists.windowmaker.org

Window Maker Links

  • Homepage
  • Download
  • FAQ
  • Documentation
  • Mailing Lists
  • News
  • Extra Themes
  • Projects
  • Links
  • After having used GNOME and KDE, I found that Window Maker was extremely fast, much more responsive and I haven’t seen a single bug in my years of using this wonderful window manager. I recommend Window Maker to new Linux users and veterans alike.

    I realize that this article is rather short, but that’s what happens when you have a window manager that “just works” and a wonderful community of people who post guided tours, themes and other important content.

    84 Comments

    1. vivainio 2009-12-03 9:16 pm EST
      • strcpy 2009-12-03 9:34 pm EST
      • alcibiades 2009-12-03 9:38 pm EST
      • itomato 2009-12-03 9:56 pm EST
        • Lennie 2009-12-06 10:42 am EST
      • cerbie 2009-12-03 10:39 pm EST
        • sbergman27 2009-12-03 10:44 pm EST
          • Morgan 2009-12-04 12:09 am EST
            • sbergman27 2009-12-04 12:21 am EST
            • Morgan 2009-12-04 4:35 am EST
            • sbergman27 2009-12-04 4:44 am EST
            • Morgan 2009-12-04 4:57 am EST
            • sbergman27 2009-12-04 5:17 am EST
            • cerbie 2009-12-04 11:25 am EST
            • alcibiades 2009-12-04 8:08 am EST
            • denisfalqueto 2009-12-04 2:41 pm EST
            • cerbie 2009-12-05 4:10 am EST
          • cerbie 2009-12-04 10:01 am EST
      • i92guboj 2009-12-04 3:16 pm EST
        • sulimir 2009-12-05 1:54 pm EST
    2. mlankton 2009-12-03 9:18 pm EST
      • Diablo 2009-12-03 9:25 pm EST
        • mlankton 2009-12-03 9:46 pm EST
          • itomato 2009-12-03 10:03 pm EST
            • jokkel 2009-12-04 11:06 am EST
        • tyrione 2009-12-03 10:12 pm EST
        • Darkmage 2009-12-03 11:33 pm EST
      • ioctl 2009-12-03 9:49 pm EST
        • mlankton 2009-12-03 9:52 pm EST
          • ioctl 2009-12-03 10:01 pm EST
            • mlankton 2009-12-03 10:15 pm EST
            • Odwalla 2009-12-04 3:20 am EST
      • Thom Holwerda 2009-12-03 9:53 pm EST
        • mlankton 2009-12-03 9:57 pm EST
          • Thom Holwerda 2009-12-03 10:20 pm EST
            • mlankton 2009-12-03 10:54 pm EST
            • MacMan 2009-12-04 6:55 am EST
            • Richard Dale 2009-12-04 12:46 pm EST
            • memson 2009-12-04 1:07 pm EST
            • heron 2009-12-08 9:33 pm EST
          • SuperDaveOsbourne 2009-12-04 11:26 am EST
        • itomato 2009-12-03 9:58 pm EST
        • sbenitezb 2009-12-03 10:22 pm EST
        • wirespot 2009-12-03 10:29 pm EST
          • codehalo 2009-12-04 10:15 pm EST
            • heron 2009-12-08 9:35 pm EST
            • vivainio 2009-12-08 9:54 pm EST
        • heron 2009-12-08 8:31 pm EST
    3. Tuishimi 2009-12-03 9:24 pm EST
      • wirespot 2009-12-03 10:39 pm EST
        • AaronD 2009-12-03 11:34 pm EST
          • Tuishimi 2009-12-04 12:20 am EST
            • sbergman27 2009-12-04 12:34 am EST
            • Tuishimi 2009-12-04 12:40 am EST
            • sbergman27 2009-12-04 12:43 am EST
          • bornagainenguin 2009-12-04 8:36 pm EST
            • bogomipz 2009-12-08 7:15 pm EST
        • Tuishimi 2009-12-04 12:19 am EST
    4. madcrow 2009-12-03 9:59 pm EST
      • itomato 2009-12-03 10:07 pm EST
    5. joekiser 2009-12-03 11:23 pm EST
    6. Phloptical 2009-12-04 12:53 am EST
      • mlankton 2009-12-04 1:12 am EST
        • Bill Shooter of Bul 2009-12-05 8:11 pm EST
        • bogomipz 2009-12-06 11:40 am EST
    7. g0nad 2009-12-04 4:14 am EST
      • g0nad 2009-12-04 8:01 am EST
      • alcibiades 2009-12-04 8:19 am EST
      • sorpigal 2009-12-04 5:46 pm EST
    8. coolvibe 2009-12-04 7:32 am EST
      • Mikaku 2009-12-04 8:06 am EST
    9. historyb 2009-12-04 7:33 am EST
      • Doc Pain 2009-12-04 9:02 pm EST
        • historyb 2009-12-04 9:24 pm EST
          • Doc Pain 2009-12-04 10:18 pm EST
        • bogomipz 2009-12-06 12:26 pm EST
    10. kawazu 2009-12-04 11:32 am EST
      • the_randymon 2009-12-04 4:54 pm EST
    11. Jason Bourne 2009-12-04 6:41 pm EST
    12. abraxas 2009-12-06 12:17 pm EST
    13. bsdfreak 2009-12-07 7:10 am EST
      • bogomipz 2009-12-07 8:45 am EST
        • bsdfreak 2009-12-07 3:04 pm EST
    14. mojmir 2009-12-07 12:47 pm EST