9wm

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, . Many later minimalist window managers for X were either inspired by, or directly derived from, 9wm. 9wm takes only 0.4 MB in RAM.[2]

9wm
Developer(s)David Hogan (dhog)
Initial release1994 (1994)
Stable release
1.4.1 / April 10, 2018 (2018-04-10)[1]
Repository
Written inC
Operating systemUnix-like
TypeWindow manager
LicenseMIT License
Websiteunauthorised.org/dhog/9wm.html 

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.


Features

9wm does not support a menubar, titlebars, maximize, multiple desktops, desktop shortcuts, theming or a desktop wallpaper.

A right click on the root window (desktop) opens a context menu providing window operations (move, resize, delete, hide); a list of up to 32 hidden windows which may be unhidden by selecting from the menu; and a command to launch a terminal emulator (typically 9term). Applications are launched via terminal only, and there is no additional task switching facility.

9wm uses a click to focus model and requires a three-button mouse. There are no keyboard controls or XKeys support. 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. 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.

9wm is written in C using the Xlib toolkit and has no other dependencies. An undocumented -nostalgia option enables a Blit cursor, which John Mackin insisted on.

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.

Relicensing following creator's death

During the period when 9wm was maintained by David Hogan, the license was as follows:[3][4]

Licence
=======

  9wm is free software, and is Copyright (c) 1994 by David Hogan.
  Permission is granted to all sentient beings to use this software,
  to make copies of it, and to distribute those copies, provided
  that:

      (1) the copyright and licence notices are left intact
      (2) the recipients are aware that it is free software
      (3) any unapproved changes in functionality are either
            (i) only distributed as patches
        or (ii) distributed as a new program which is not called 9wm
                and whose documentation gives credit where it is due
      (4) the author is not held responsible for any defects
          or shortcomings in the software, or damages caused by it.

  There is no warranty for this software.  Have a nice day.

After the death of David Hogan, the succeeding maintainers going by the name "The Estate of David Hogan" relicensed version 1.1 and later versions under the MIT License.

9wm derivatives and 9wm-inspired window managers

gollark: I feel like it would be more efficient to move that into one process which can then do dependency management and stuff.
gollark: `runsvdir` has one `runsv` process *per service*? Huh.
gollark: You could avoid having to maintain some kind of weird local-specific API for them, conveniently manage stuff on remote systems if you wanted to for whatever reason, and... okay that's about it.
gollark: > <@258639553357676545> yeah, but that should be separate from the service manage<@!309787486278909952> But you could make the `sv`/`systemctl` equivalent tools use that! It would be mildly convenient!
gollark: I thought runit just ran runsvdir or something which does all the actual *service* bits.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.