Harman Patil (Editor)

9wm

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
David Hogan (dhog)

Operating system
  
Unix-like

Written in
  
C

Type
  
Window manager

Initial release
  
1994; 23 years ago (1994)

Stable release
  
1.3.7 / August 4, 2016; 6 months ago (2016-08-04)

9wm is an open source stacking window manager for X11, written by David Hogan (dhog) in 1994 to emulate the Plan 9 Second Edition window manager, 8½. Many later minimalist window managers for X were either inspired by, or directly derived from, 9wm. 9wm takes only 0.4 MB in RAM.

Contents

The README file in the 9wm source distribution describes it like so:

9wm is an X window manager which attempts to emulate

the Plan 9 window manager 8½ as far as possible within the constraints imposed by X. It provides a simple yet comfortable user interface, without garish decorations or title-bars. Or icons. And it's click-to-type. This will not appeal to everybody, but if you're not put off yet then read on. (And don't knock it until you've tried it).

9wm has an undocumented -nostalgia option, for a Blit cursor, which John Mackin insisted on.

Features

  • Written in C using the Xlib toolkit. No other dependencies.
  • A right click on the root window gives a menu that provides window operations (Move, Resize, Delete, Hide), a list of hidden windows which may be unhidden by selecting from the menu, and a command to launch a terminal emulator, typically 9term. There are no keyboard controls.
  • Window borders originally did nothing but indicate focus—draggable borders for move and resize were eventually added to rio in Plan 9 from Bell Labs and Plan 9 from User Space
  • Has a limit of 32 hidden windows.
  • New windows are drawn by prompting the user to "sweep out" a screen rectangle for the window, which may be considered focus stealing if an application unexpectedly requests a new window.
  • A right click on the desktop gives a context menu that provides window motion and the facility to launch a terminal emulator.
  • No menubar
  • No titlebars
  • No multiple desktops
  • No maximize facility
  • No desktop shortcuts
  • No desktop wallpaper
  • No theme support
  • No XKeys support
  • A three button mouse is required
  • Uses a click to focus model
  • No additional task switching facility
  • Applications are launched via a terminal only
  • Supports focus stealing by failing the launch test, giving focus to window placement facility
  • Not accessibility friendly - utilizes middle click, and right click functionality and has no keyboard equivalents for some operations
  • Resizing windows

    Window geometry is described by "sweeping out" a rectangle on the screen. To sweep, click and hold the right button at one corner of the desired rectangle, move the mouse to the diagonally opposite corner, and release the button. Placing new windows and resizing existing windows are done by sweep operations.

    9wm derivatives and 9wm-inspired window managers

  • larswm
  • aewm
  • wm2 and wmx
  • wmii
  • dwm
  • rio in Plan 9 from User Space
  • cwm
  • lwm
  • References

    9wm Wikipedia