4.3BSD-UWisc/man/catn/xnwm.n
XNWM(1) UNIX Programmer's Manual XNWM(1)
NAME
xnwm - X window system manager process
SYNOPSIS
xnwm [ -cmsnftv2 ] [ @_b_o_r_d_e_r ] [ %_i_c_o_n_D_e_l_t_a ]
[ fm=_f_o_n_t ] [ fi=_f_o_n_t ] [ fs=_f_o_n_t ]
[ l=_o_p ] [ m=_o_p ] [ r=_o_p ]
[ _h_o_s_t:_d_i_s_p_l_a_y ] [ =_g_e_o_m_e_t_r_y ]
DESCRIPTION
The window manager is a process that allows the user of a
display running the X window system to manipulate the win-
dows on the screen. X implements the `desktop model' of
overlapping windows; _x_n_w_m allows windows to be moved, iconi-
fied, and resized, allows the order of the windows in the
`stack' of overlapping windows to be manipulated, and allows
the keyboard focus to be attached to a window. X allows
windows to contain other windows, but _x_n_w_m only manipulates
the top-level windows and not any of the subwindows.
_X_n_w_m takes arguments _h_o_s_t and _d_i_s_p_l_a_y, which refer the the
host and display number. For example `xnwm amadeus:1' would
start up the window manager on display one on the machine
amadeus. By default, _x_n_w_m uses the host and display number
stored in the environment variable DISPLAY, and therefore
they are not normally specified.
_X_n_w_m has 2 modes of operation, `normal' and `popup', In
normal mode _x_n_w_m creates a menu window across the top of the
screen. To perform an action, you click any mouse button in
the appropriate menu box and then click the same button in
the window you wish to affect. _X_n_w_m also reserves certain
button/key combinations and interprets them as operations on
existing windows. The key combination is specified in the
command line with some subset of the options: -c (Control),
-m (Meta), and -s (Shift). For example, if you specify the
options -cm then the Control and Meta keys must be down at
the time a mouse button is depressed. The option -n (None)
means that no buttons need be held down. This is
discouraged since it means that applications will never
receive unshifted mouse clicks. If no combination is speci-
fied in the command line, Meta is assumed. Note: the key
combination is not necessary when using functions from the
menu; it is only needed with the assigned button functions
to distinguish window manager operations from operations
destined for the application running within the window.
The window manager normally takes control of the screen at
various times to assure that the screen image remains
correct while performing window manager operations. When
this happens, requests from other applications are tem-
porarily suspended until the window manager finishes the
Printed 12/6/86 19 July 1985 1
XNWM(1) UNIX Programmer's Manual XNWM(1)
operation. The option -f (no freeze) disables this. If
this option is specified, window outlines for _M_o_v_e and
_R_e_s_i_z_e will flicker rather than remaining solid, and the
background behind popup windows (see later) will take longer
to redraw.
The options -t (thin), -v (vertical), and -2 (2 rows) con-
trol the format of the menu bar. In the absence of any of
these, the menu extends across the entire screen. If the -t
option is given, the menu bar will not extend fully across
the screen; instead there will be room at the right (con-
venient for, for example, a clock window). If the -v option
is used, the menu windows are stacked vertically instead of
spread horizontally. The -2 option causes the menu windows
to be in two rows, allowing room for a terminal window the
height of the screen while still allowing menu access.
Either of the last two options automatically selects the -t
option. The menu is located in the upper left corner of the
screen by default, but its location can be set with the
=_g_e_o_m_e_t_r_y option as usual with X applications. (Notice that
there is no size component, position information is used
only.)
_X_n_w_m will use reverse video for the menu, the cursor, icon
text, and the frame around selected windows if the -r
(reverse) option is used.
The border width around selected windows can be changed with
the @ argument; the default is 5 pixels.
The default font for displaying text is ``8x13''. You can
specify a different font with the fm= (Menu font), fi= (Icon
font), and the fs= (Size window font) options.
Initially, the left, middle, and right mouse buttons are
bound to the operations _S_e_l_e_c_t, _R_a_i_s_e, and _M_o_v_e. You can
change these bindings with the l= (left), m= (middle), and
r= (right) arguments. Each should be followed by one of the
letters "srmilzc", representing, respectively, _S_e_l_e_c_t,
_R_a_i_s_e, _M_o_v_e, _I_c_o_n_i_f_y, _L_o_w_e_r, _r_e_s_i_Z_e, and _C_i_r_c_u_l_a_t_e. They may
also be followed by nothing, in which case no function is
bound to that key.
Clicking any button that is not bound to the _S_e_l_e_c_t function
in the background will cause the menu window to become visi-
ble if it has become covered by other windows. Double
clicking the background will cause the menu to move back to
its original position.
In popup mode, the menu window is not normally displayed,
but instead `pops up' when a particular button is pressed.
To get popup mode, bind the letter ``p'' to any of the three
Printed 12/6/86 19 July 1985 2
XNWM(1) UNIX Programmer's Manual XNWM(1)
buttons as described above. (You may also bind the other
buttons as desired.) Whenever the bound button is clicked
while the appropriate combination of control, meta, and
shift keys is depressed, or any time a button that is not
bound to the _S_e_l_e_c_t function is clicked in the background,
the menu will appear beneath the cursor. You may then
select any menu function you wish; after the operation is
completed the menu will disappear. To make the menu disap-
pear without performing any operation, just move the cursor
out of the menu area. Note: the mouse button bound to the
popup function may not be rebound using Assign. Using popup
mode with complicated screen images and with no freeze (the
-f option) may cause some difficulties if the menu obscures
the image, since the applications will have to redraw their
windows after the menu goes away.
The available commands are described below. For any of
these commands, if you press a button to start a command,
and then want to abort the command, simply press one of the
other buttons before releasing the first button.
Select attaches the keyboard to a window, i.e., keyboard
input will go to that window (hierarchy) even when the mouse
is outside the window. It also Raises the selected window.
Selecting the background will detach the keyboard from any
window (actually, it attaches it to the background window).
If no window is selected the keyboard input will go to the
window which currently contains the mouse cursor. The
selected window is highlighted by drawing a partial frame
around the window. Selecting an icon allows the icon name
to be edited: the delete key deletes the last character,
control-U deletes the entire name, and other characters are
appended to the current name. Typing a return restores the
input focus to the most recent non-icon window selected.
Raise raises the window to the top of any stack of overlap-
ping windows.
Move is used to move a window. If you apply it to a window,
an outline will be moved with the mouse; when you release
the button, the window will be moved.
(De)Iconify will make a window into an icon. If the mouse
is moved more than a threshold amount, or this is the first
time the window has been iconified, the icon will appear at
the location on the screen where the button is released.
Otherwise, the icon will reappear at its previous location.
This threshold may be changed with the %_i_c_o_n_D_e_l_t_a option.
Giving a negative value will disable this effect. The
default is 5 pixels. (De)Iconify will make the original
window reappear at its former position on the screen if it
is applied to an icon. The name displayed in the icon can
Printed 12/6/86 19 July 1985 3
XNWM(1) UNIX Programmer's Manual XNWM(1)
be edited by Selecting the icon.
Lower will `push' the window you point at to the bottom of
any stack of overlapping windows.
Resize is used to resize a window by moving a corner or an
edge. If you apply it to a window, a rubber banded outline
of the window will be displayed and moving the mouse will
change its size, leaving the opposite corner or other edges
fixed. The corner or edge to be moved depends on the where
the mouse is when the button is pressed. Imagine the window
divided with grid of nine rectangles. If the mouse is in
one of the four corner rectangles or the center rectangle,
then the corner closest to the mouse will be moved; other-
wise, the closest edge will be moved. When the button is
released, the window will be resized.
Circulate causes the lowest window in the stack of overlap-
ping windows to be Raised ; successive applications will
reveal every window in turn.
Assign allows you to change the button bindings; to use it
click any button in the Assign menu window and then click
the same button in any other function to assign that func-
tion to that button. To remove the assignment from a but-
ton, double click the Assign window.
X DEFAULTS AND OPTION SUMMARY
MenuFont (fm=_n_a_m_e)
Set the default font for the menu.
SizeFont (fs=_n_a_m_e)
Set the default font for the size window.
IconFont (fi=_n_a_m_e)
Set the default font for icons.
FrameWidth (@_v_a_l_u_e)
Set the width of the frame around selected windows.
IconifyDelta (%_v_a_l_u_e)
Set the threshold for moving icons.
ReverseVideo (-r)
Sets reverse video for the menu, icons, selection
border, and cursor.
MenuFormat (-tv2)
Sets the format of the menu; should be some subset
of tv2 meaning thin, vertical, or 2 rows.
Freeze (-f)
Printed 12/6/86 19 July 1985 4
XNWM(1) UNIX Programmer's Manual XNWM(1)
If set to ``off'', disables _x_n_w_m taking control of
the screen during operations.
KeyCombination (-csmln)
Sets the keys required to specify _x_n_w_m operations;
should be some subset of csmln meaning control,
shift, meta, lock, and none.
LeftButton (l=value)
Sets the default left button function; should be one
of srmilzcp
MiddleButton (m=value)
Sets the default middle button function; should be
one of srmilzcp
RightButton (r=value)
Sets the default right button function; should be
one of srmilzcp
Geometry (={+-}xoff{+-}yoff)
Sets the location of the menu.
FILES
/usr/new/lib/X/font directory of fonts
ENVIRONMENT
DISPLAY - to get default host and
display number
SEE ALSO
X(8C)
AUTHOR
Paul Asente, Stanford University, using some algorithms ori-
ginally by Bob Scheifler, MIT Laboratory for Computer Sci-
ence
Printed 12/6/86 19 July 1985 5