9wm
Encyclopedia
9wm is an Open Source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 stacking window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

 for X11, written by David Hogan (dhog)  in 1994 to emulate the Plan 9
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...

 Second
Edition window manager,
8½ (Plan 9)
8½ is a window system developed for the Plan 9 from Bell Labs operating system by Rob Pike. According to its documentation, the system has little graphical fanciness, a fixed user interface, and depends on a three-button mouse...

. Many later minimalist window managers for
X were either inspired by, or directly derived from, 9wm.

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
Blit (computer terminal)
In computing, the Blit was a programmable bitmap graphics terminal designed by Rob Pike and Bart Locanthi Jr. of Bell Labs in 1982.When initially switched on, the Blit looked like an ordinary textual terminal, although taller than usual: Similar to the VT100 it had an addressable cursor and...

 cursor, which John Mackin insisted on.

Features

  • Written in C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

     using the xlib
    Xlib
    Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the protocol...

     toolkit. No other dependencies.
  • A right click on the root window
    Root window
    In the X Window System, every window is contained within another window, called its parent. This makes the windows form a hierarchy. The root window is the root of this hierarchy...

     gives a menu
    Menu
    In a restaurant, a menu is a presentation of food and beverage offerings. A menu may be a la carte – which guests use to choose from a list of options – or table d'hôte, in which case a pre-established sequence of courses is served....

     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
    Terminal emulator
    A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....

    , 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
    Rio (program)
    rio is Plan 9 from Bell Labs's windowing system. It is most notably known for making its window management transparent to the application. This allows running rio inside of another window manager.-Design concepts:...

     in Plan 9 from Bell Labs
    Plan 9 from Bell Labs
    Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...

     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
    Focus stealing
    In computing, focus stealing is a mode error produced when a program not in focus places a window in the foreground and redirects all keyboard input to that window...

     if an application unexpectedly requests a new window.
  • A right click on the desktop
    Desktop
    Desktop refers to the surface of a desk.The term has been adopted as an adjective to distinguish office appliances which can be fitted on top of a desk, from larger equipment covering its own area on the floor....

     gives a context menu
    Context menu
    A context menu is a menu in a graphical user interface that appears upon user interaction, such as a right mouse click or middle click mouse operation...

     that provides window motion and the facility to launch a terminal emulator
    Terminal emulator
    A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....

    .
  • 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
    Focus stealing
    In computing, focus stealing is a mode error produced when a program not in focus places a window in the foreground and redirects all keyboard input to that window...

     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
    Larswm
    larswm is a window manager for the X window system that follows the tiling window manager paradigm. Using ideas from the older 9wm window manager, it features automatic tiling and virtual desktops. It also borrows other ideas, for example a limited form of plumbing, from the Acme development...

  • aewm
  • wm2
    Wm2
    wm2 is a minimalistic reparenting window manager for the X Window System written by Chris Cannam. It provides support for moving, resizing, and deleting windows, but does not support icons. In place of icons, wm2 allows for temporary hiding of windows from the desktop; hidden windows can be...

     and wmx
  • wmii
    Wmii
    wmii is a tiling window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem based remote control...

  • dwm
    Dwm
    dwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism which is known for having influenced the development of other window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for...

  • rio
    Rio (program)
    rio is Plan 9 from Bell Labs's windowing system. It is most notably known for making its window management transparent to the application. This allows running rio inside of another window manager.-Design concepts:...

    in Plan 9 from User Space
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK