Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (1) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

emu(1)

wm-license(1)

wmlib(2)

namespace(6)

WM(1)

NAME

logon, wm − window manager

SYNOPSIS

­wm/logon [ ­-u ­username ]
­wm/wm

DESCRIPTION

­Wm is the Inferno Tk-based window manager, providing the control mechanisms for the user to manage the order and position of a dynamic collection of application windows with a Limbo/Tk environment.  (Mux(1) provides a completely different environment based not on Tk but rather the Prefab module described in prefab-intro(2).)

­Wm is normally started by running wm/logon, which acquires and validates a username to use for the window manager session.  The ­-u option to ­logon specifies the initial username to try, otherwise a prompt is displayed for username input.  ­Logon verifies that the user has a home directory and if a system licence exists, that the user has agreed to it.  If agreement to the licence is required, the licence text is displayed and the user is requested to accept or reject the terms.  If the user’s directory does not exist or the user rejects the licence terms then the logon is rejected and the username prompt will be displayed again. 

Before launching wm/wm, ­logon tests to see if the file /usr/username/lib/namespace exists.  If so, newns(2) is given it to construct the namespace in which ­wm will be run (see namespace(6)).

When ­wm is started, it configures itself by means of the ­/lib/wmsetup shell script.  ­Wm loads the shell sh(1), and defines the following shell built-in commands before executing the script:

­menu ­title1 [title2] ­command
Insert an item at the top of the start menu. ­Title1 is the text of the item on the main menu.  If ­title2 is given then ­title1 is a sub-menu with ­title2 as the menu item.  ­Command is executed by the shell whenever the item is selected.  An item with an empty command is displayed as a separator. 

­delmenu
Forget all menu items.

The standard ­/lib/wmsetup script executes the script /usr/username/lib/wmsetup, enabling each user to have their own window manager configuration. 

Both ­logon and ­wm use the currently bound ­/dev/draw directory, /dev/keyboard, and ­/dev/pointer for their graphical display, keyboard and mouse input.  The display size will depend upon the particular device that is being used, or upon the arguments given to emu(1).

FILES

­/chan/snarf File representing global ‘snarf’ buffer for text exchange between windows

­/chan/wm Control channel used by wmlib(2)

­/chan/wmstdout Standard output for processes started by ­wm

­/chan/wmstderr Standard error for processes started by ­wm

­/dev/pointer Source of mouse events to feed to tk(2)

­/dev/keyboard Source of keyboard data to feed to tk(2)

SOURCE

­/appl/wm/logon.b
­/appl/wm/wm.b

SEE ALSO

sh(1), emu(1), wm-license(1), wmlib(2), namespace(6)

Plan 9  —  June 07, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026