WM(1) WM(1) NAME logon, wm - window manager SYNOPSIS wm/logon [ -u username ] wm/wm [ -s ] 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 dif- ferent 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 ses- sion. 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 execut- ing 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 Page 1 Plan 9 (printed 12/21/24) WM(1) WM(1) own window manager configuration. Both logon and wm use the currently bound /dev/draw direc- tory, /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). The -s option causes wm to suppress the start menu; available applications are lim- ited to those started by wmsetup and applications they start in turn. 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) Page 2 Plan 9 (printed 12/21/24)