Wednesday, 20 April 2011

Window Maker - The (Almost) Forgotten Window Manager

With the big two desktop environments changing massively over the last few years and getting quite a bit heavier at the same time I thought I'ld look again at another alternative that's been a staple in the area of  window managers since release in 1997 - Window Maker. Initially it was WindowMaker by the way, but due to a naming conflict this had to be changed.  It is designed to emulate the look and feel of the NeXTstep GUI, an object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers.

I don't want to make this a lesson in computer interface history however. This article is supposed to concentrate on getting new users interested in trying it out and give some tips to make it more attractive rather than being a rehashed account of relationships between projects and the technical aspects. If you are interested please follow the links to Wikipedia to read more. For simplicity's sake let's just say that the development framework and API specification behind NeXT was called Openstep and the free software implementation is called GNUstep which is, unsurprisingly, a part of the GNU project. Apple, the ones with the Mac OS, also created their own API branch from Openstep called Cocoa, with which GNUstep is aiming to remain compatible. GNUstep provides development tools and libraries, which is why an installation of Window Maker creates a GNUstep directory in your home folder, where everything from autostarting applications to menu and window manager behavior can be configured in text files.
                                                                                                  
The Window Maker desktop, with wifi and battery applet in the lower left

The window manager is lean and fast and easily configurable. The dock on the right side (the zagged icon) presents the user with the ability to add some quick launchers, one application per tile. Normally there will be two to start with, the terminal and the Window Maker Preferences control center if you will. Add a few more as you please. Start applications from the menu accessible with a right-click on the desktop or from the run command, this places a tile for the open app on your desktop, usually at the bottom. From there you can tell it to always be available as a launcher in your dock. In the properties dialog you can specify an icon to use if not happy with the rather bland stock ones. The dock is movable and there's nothing hindering it being on the left if that is your thing.
The upper left corner houses your desktop pager, the tile with the paper clip, which can be moved but not removed as far as I know. Minimized application windows will attach to it unless this is changed in the Preferences tool to another corner of the screen.

Window Maker Preferences and themed menu
In Preferences everything from menu slide speed, mouse behavior, desktop margins and placement of applets over fonts and focus to path to additional icons (pixmaps) and themes to menu entries and special effects can be configured. That's right, Window Maker supports several snazzy effects like 3D-flipping or spinning when minimizing which when applied in conjunction with a nice theme can make this desktop look nice and modern. All the themes I have applied on these screenshots can be found here. Others are only a search away, for example on box-look. Look at Blue Glass for a glossy blue one.
It is useful and and encompasses almost all the major things one would like to customize about this environment. An external tool called WMakerConf which serves the same purpose also exists, some screenshots here, but it has not been updated since 2009 and lists the supported version of Window Maker as 0.90 when the current release is 0.92. It is available on SlackBuilds nevertheless so seems to work with this newer version as well. As an alternative it seems to be somewhat friendlier to use, for instance allowing for easier setting of themes and wallpapers and more intuitive editing of menus.

Clever theming - An illusion of fake transparency
Dock applets lend additional functionality and satisfy the linux users need for monitoring and interacting with his machine. Names all start with wmfoo so they're easy to identify. Look at dockapps for this or at this guys private project page for a cool LCD/LED look. The repositories of the major distributions also have a wealth of applets available but may not have exactly what you want, that's why it's good to look around on these sites as well. Applets typically allow for anything like changing the volume, displaying the time, monitoring network interface throughput, cpu load, battery etc. There's even a wmdock plugin that allows for running applets under Xfce. Once installed they have to be added to the autostart.sh file in ./GNUstep/Library/WindowMaker/  to appear at login, or be started manually one by one. Or you could just run Gkrellm (or Conky) instead and call it up when needed, cutting down on tiles littering the desktop.
Good distributions for running Window Maker are Slackware (where Window Maker is part of the default install), Debian, Fedora, and Mandriva who all have an acceptable variety of applets in their repositories, or in the case of Slackware easy to compile. In Arch applets are part of the Arch User Repository, and many at this point in time are orphaned or out of date. Nevertheless, there are about 12 applets in AUR to choose from that cover most of the basic needs which should make a good start. Among them wmxmms-spectrum which, depending on xmms, displays a spectrum analyzer in the dock application, and the wmfire applet which displays flames to monitor your CPU and memory activity. Perhaps not very accurate to read, but it proves Window Maker's got eye candy too.

Trying it out in a Live CD
For a quick show case and test run if you've never used Window Maker try the GNUstep Live CD. There's also a link to an informative article in the introduction should you be interested in more background on the GNUstep and Openstep frameworks. This Live CD is intended for developers, mathematicians and scientists which is clear from the software selection but it's using Window Maker as the desktop manager and will do just fine giving you an impression what working with Window Maker can be like. There have been no release or development announcements on Distrowatch.com since 0.2 in 2004, but the version currently available for download is 2.0 and dates back to December 2009, so it is relatively recent with a linux 2.6.31 kernel.The cool bubblemon applet indicates your cpu activity, going from a bright orange to dark green before it subsides.

GNUstep Live CD with bubblemon applet - 3rd from top
Afterstep
Another window manager similar in look and functionality is Afterstep which was originally a variant of FVWM to resemble NeXTstep, according to Wikipedia, but then diverged. This heritage is still most visible in the pager.  Don't let the web sites rather dated look put you off. Afterstep also comes with built in color schemes and a few wallpapers and there are several modern looking themes available. My favorite one here is Glass, which also skins your menu. Just like Window Maker it is low on resources and highly configurable. Several Afterstep applets have been ported to Window Maker like wmclock and applets are often interchangeable. To me working in both feels very similar. I used to run a clean Afterstep desktop without any applets and no dock (here called wharf). Applications are all accessible via the clearly structured desktop menu, and if using Gkrellm for viewing system information or changing the volume and all the other things it can do via plugins there is no need for anything else. Or, place wbar, a bar that can be made opaque and is in look (see here for more tips) similar to AWN or Docky but less complex and needing fewer dependencies, on your screen for easy access to some oft used apps and keep an otherwise clutter-free desktop you can use to the full, without ceding margins to 'the tiles'.

SUMMARY
Using Window Maker and its kin feels really different from the standard desktop UI paradigm and represents an older style of computer/human interaction. To me it feels more UNIX-y and unique because these kind of window managers are not part of the traditional desktop panel layout, but any panel can be added to autostart or started manually. Despite this it feels comfortable in daily use and coupled with a file manager like Thunar mounting partitions and external drives is no issue at all. The vast choice of applets out there make it extremely flexible to implement additional functionality and eye candy. It is fast with little to no overhead and immediately responsive while still coming up with some sleek effects of its own so you do not feel stuck too far behind. I believe every user taking the time to adjust and get comfortable with it (or Afterstep) will get rewarded with lightness and efficiency. Both would also make a great low-resource background for a gaming desktop or processor intensive tasks. Or of course if you just want your desktop to be nippy at all times.
12.04 LTS (1) 1280x1024 (2) 14.1 (1) absolute (6) accessibility (6) ad-blocking (2) administration (2) afterstep (1) android (3) announcements (15) anonymity (5) anonymous (1) anonymous browsing (1) anti-malware (1) anti-virus (1) antiX (4) applications (1) arch (11) archbang (11) archone (1) artix (2) authentication (1) backports (1) base (1) bash (2) bittorrent (2) block-this (1) bluestar (1) bodhi (1) books (1) brave (1) brave-browser (1) browsers (8) browsing (1) bsd (4) bug (2) bugs (3) calculate (1) centos (1) certification (1) chakra (2) changelog (22) chat (1) chatzilla (1) chromebook (1) chromium (2) click (1) commodore 64 (1) ControlD (1) critique (1) crunchbang (5) crux (1) ctkarch (1) cyber war (1) debian (29) desktop (62) devuan (6) digital certificates (1) digital memories (1) distributions (75) DNS (1) documentaries (1) documentation (2) dr. web (1) drivers (1) duo (1) e17 (1) email (1) encryption (3) enlightenment (1) events (1) exit nodes (1) ext4 (1) fake (1) fallout (1) fallout 4 (1) fedora (6) file server (2) file systems (1) firefox (3) flash (1) flush (1) fluxbox (7) fluxflux (1) FPS (2) free software (3) frugalware (1) FSF (1) ftp (2) furybsd (1) fusion (1) fvwm (1) fvwm-crystal (1) games (11) gaming (10) gentoo (3) gnome (9) gnome shell (4) gnu/linux (4) google (2) google-chrome (3) graphics (1) grml (1) gtk+ (1) hangouts (1) hardcore punk (1) hardware (3) how-to (23) humor (2) i3 (1) icewm (6) init (3) init freedom (5) interview (1) introduction (1) jibbed (1) jwm (2) kanotix (4) kde (21) KDE neon (1) kde3 (2) kernel (6) knoppix (1) kodi (2) kongoni (2) kubuntu (3) LAS (1) libtorrent-rasterbar (1) linux (20) linux light (16) Linux Mint (6) live (50) live medium (28) live system (13) liveslak (3) LMDE 4 (3) localisation (1) LTS (1) lxde (12) lxqt (1) mageia (1) mandriva (2) manjaro (1) marine life (1) mate (1) media center (6) mepis (2) mint (5) mobile (2) mobile security (1) movies (6) mozilla (3) music (1) MX Linux (1) netbook (2) netrunner (1) networking (5) news (3) nvidia (1) open source (1) openbox (15) openSUSE (4) opinion (13) other (5) overclockix (1) packages (1) pclinuxos (4) perl (1) plasma (5) poll (2) porteus (3) privacy (5) privoxy (1) programming (1) proxy (2) puppy (3) qbittorrent (1) qt (1) quick look (10) ratpoison (1) red hat (7) redcore linux (1) relax (1) release (2) rescue (3) reviews (57) rhythmbox (1) rolling (1) RPG (2) rpm (1) sabayon (5) salix (15) scientific (7) screenshots (2) scripts (3) seamonkey (1) security (4) semplice (1) server (5) shell (1) shooter (4) siduction (1) slackel (1) slackware (68) slackware 14.2 (2) slackware 15.0 (8) slackware-current (34) slax (7) slitaz (1) smart phones (2) sms (1) south africa (2) specialist (1) spoof (1) ssh (1) surfing (1) systemd (2) table mountain (1) TDE (1) tegra k1 (1) The Walking Dead (1) themes (1) tinyme (2) tips (1) tor (3) torrenting (1) torrents (1) traffic analysis (2) trinity (2) trisquel (1) TV shows (2) TWD (1) ubuntu (6) unity (2) unity linux (4) unix (1) upgrade (6) vector (2) video (4) vinux (2) virtualbsd (1) visual impairment (5) voip (1) vpn (5) VSIDO (1) wallpapers (3) window maker (4) window managers (1) windscribe (1) wireless (10) xfce (16) youtube (1) zenwalk (3) zombies (1) zoo (1)