\*(85-like window manager for x
9wm [ -grey ] [ -version ] [ -font fname ] [ -term termprog ] [ exit|restart ]
9wm is a window manager for X which attempts to emulate the window management policies of Plan 9's \*(85 window manager.
The -grey option makes the background light grey, as does \*(85. Use this option for maximum authenticity. -font fname sets the font in 9wm's menu to fname, overriding the default. -term termprog specifies an alternative program to run when the New menu item is selected. -version prints the current version on standard error, then exits.
To make 9wm exit, you have to run 9wm exit on the command line. There is no ``exit'' menu item.
9wm is click-to-type: it has a notion of the current window, which is usually on top, and always has its border darkened. Characters typed at the keyboard go to the current window, and mouse clicks outside the current window are swallowed up by 9wm. To make another window the current one, click on it with button 1. Unlike other X window managers, 9wm implements `mouse focus': mouse events are sent only to the current window.
A menu of window operations is available by pressing button 3 outside the current window. The first of these, New, attempts to spawn a 9term process (or xterm if 9term is not available). The new 9term will request that its outline be swept using button 3 of the mouse, by changing the cursor. (xterm defaults to a fixed size, and thus wants to be dragged; pressing button 3 places it.)
The next four menu items are Reshape, Move, Delete, and Hide. All of the operations change the cursor into a target, prompting the user to click button 3 on one of the windows to select it for the operation. At this stage, clicking button 1 or 2 will abort the operation. Otherwise, if the operation was Resize, the user is prompted to sweep out the new outline with button 3. If it was Move, the user should keep the button held down after the initial click that selected the window, and drag the window to the right place before releasing. In either case, button 1 or 2 will abort the operation.
If the Delete operation is selected, the window will be deleted when the button is released. This typically kills the client that owns the window. The Hide operation just makes the window invisible. While hidden, the window's name appears on the bottom of the button 3 menu. Selecting that item brings the window back (unhides it). This operation replaces the iconification feature provided by other window managers.
Is not completely compatible with \*(85.
There is a currently a compiled-in limit of 32 hidden windows.