UWM(1) X Version 11 (26 October 1988) UWM(1)
NAME
uwm - a window manager for X
SYNTAX
uwm [-display display] [-f filename]
DESCRIPTION
The uwm program is a window manager for X.
When uwm is invoked, it searches a predefined search path to
locate any uwm startup files. If no startup files exist,
uwm initializes its built-in default file.
If startup files exist in any of the following locations, it
adds the variables to the default variables. In the case of
contention, the variables in the last file found override
previous specifications. Files in the uwm search path are:
/usr/lib/X11/uwm/system.uwmrc
$HOME/.uwmrc
To use only the settings defined in a single startup file,
include the variables resetbindings, resetmenus,
resetvariables at the top of that specific startup file.
OPTIONS
-f filename
Names an alternate file as a uwm startup file.
STARTUP FILE VARIABLES
Variables are typically entered first, at the top of the
startup file. By convention, resetbindings, resetmenus, and
resetvariables head the list.
autoselect/noautoselect
places the menu cursor in the first menu
item. If unspecified, the menu cursor is
placed in the menu header when the menu is
displayed.
background=color
specifies the default background color for
popup sizing windows, menus, and icons. The
default is to use the WhitePixel for the
current screen.
bordercolor=color
specifies the default border color for popup
sizing windows, menus, and icons. The
default is to use the BlackPixel for the
current screen.
Page 1 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
borderwidth=pixels
specifies the default width in pixels for
borders around popup sizing windows, menus,
and icons. The default is 2.
delta=pixels indicates the number of pixels the cursor is
moved before the action is interpreted by the
window manager as a command. (Also refer to
the delta mouse action.)
foreground=color
specifies the default foreground color for
popup sizing windows, menus, and icons. The
default is to use the BlackPixel for the
current screen.
freeze/nofreeze
locks all other client applications out of
the server during certain window manager
tasks, such as move and resize.
grid/nogrid displays a finely-ruled grid to help you
position an icon or window during resize or
move operations.
hiconpad=pixels
indicates the number of pixels to pad an icon
horizontally. The default is five pixels.
hmenupad=pixels
indicates the amount of space in pixels that
each menu item is padded to the left and to
the right of the text.
borderwidth=pixels
indicates the width in pixels of the border
surrounding icons.
iconfont=fontname
names the font that is displayed within
icons. Font names for a given server can be
obtained using xlsfonts(1).
maxcolors=number
limits the number of colors the window
manager can use in a given invocation. If set
to zero, or not specified, uwm assumes no
limit to the number of colors it can take
from the color map. maxcolors counts colors
as they are included in the file.
mborderwidth=pixels
Page 2 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
indicates the width in pixels of the border
surrounding menus.
normali/nonormali
places icons created with f.newiconify within
the root window, even if it is placed
partially off the screen. With nonormali the
icon is placed exactly where the cursor
leaves it.
normalw/nonormalw
places window created with f.newiconify
within the root window, even if it is placed
partially off the screen. With nonormalw the
window is placed exactly where the cursor
leaves it.
push=number moves a window number pixels or 1/number
times the size of the window, depending on
whether pushabsolute or pushrelative is
specified. Use this variable in conjunction
with f.pushup, f.pushdown, f.pushright, or
f.pushleft.
pushabsolute/pushrelative
pushabsolute indicates that the number
entered with push is equivalent to pixels.
When an f.push (left, right, up, or down)
function is called, the window is moved
exactly that number of pixels.
pushrelative indicates that the number
entered with the push variable represents a
relative number. When an f.push function is
called, the window is invisibly divided into
the number of parts you entered with the push
variable, and the window is moved one part.
resetbindings, resetmenus, and resetvariables
resets all previous function bindings, menus,
and variable entries, specified in any
startup file in the uwm search path,
including those in the default environment.
By convention, these variables are entered
first in the startup file.
resizefont=fontname
identifies the font of the indicator that
displays dimensions in the corner of the
window as you resize windows. See
xlsfonts(1) for obtaining font names.
Page 3 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
resizerelative/noresizerelative
indicates whether or not resize operations
should be done relative to moving edge or
edges. By default, the dynamic rectangle
uses the actual pointer location to define
the new size.
reverse/noreverse
defines the display as black characters on a
white background for the window manager
windows and icons.
viconpad=pixels
indicates the number of pixels to pad an icon
vertically. Default is five pixels.
vmenupad=pixels
indicates the amount of space in pixels that
the menu is padded above and below the text.
volume=number increases or decreases the base level volume
set by the xset(1) command. Enter an integer
from 0 to 7, 7 being the loudest.
zap/nozap causes ghost lines to follow the window or
icon from its previous default location to
its new location during a move or resize
operation.
BINDING SYNTAX
function=[control key(s)]:[context]:mouse events:" menu name
"
Function and mouse events are required input. Menu name is
required with the f.menu function definition only.
Function
f.beep emits a beep from the keyboard. Loudness is
determined by the volume variable.
f.circledown causes the top window that is obscuring
another window to drop to the bottom of the
stack of windows.
f.circleup exposes the lowest window that is obscured by
other windows.
f.continue releases the window server display action
after you stop action with the f.pause
function.
f.focus directs all keyboard input to the selected
Page 4 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
window. To reset the focus to all windows,
invoke f.focus from the root window.
f.iconify when implemented from a window, this function
converts the window to its respective icon.
When implemented from an icon, f.iconify
converts the icon to its respective window.
f.kill kills the client that created a window.
f.lower lowers a window that is obstructing a window
below it.
f.menu invokes a menu. Enclose `menu name' in
quotes if it contains blank characters or
parentheses.
f.menu=[control key(s)]:[context ]:mouse events:" menu name "
f.move moves a window or icon to a new location,
which becomes the default location.
f.moveopaque moves a window or icon to a new screen
location. When using this function, the
entire window or icon is moved to the new
screen location. The grid effect is not used
with this function.
f.newiconify allows you to create a window or icon and
then position the window or icon in a new
default location on the screen.
f.pause temporarily stops all display action. To
release the screen and immediately update all
windows, use the f.continue function.
f.pushdown moves a window down. The distance of the push
is determined by the push variables.
f.pushleft moves a window to the left. The distance of
the push is determined by the push variables.
f.pushright moves a window to the right. The distance of
the push is determined by the push variables.
f.pushup moves a window up. The distance of the push
is determined by the push variables.
f.raise raises a window that is being obstructed by a
window above it.
Page 5 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
f.refresh results in exposure events being sent to the
window server clients for all unobscured or
partially obscured windows. The windows will
not refresh correctly if the exposure events
are not handled properly.
f.resize resizes an existing window. Note that some
clients, notably editors, react unpredictably
if you resize the window while the client is
running.
f.restart causes the window manager application to
restart, retracing the uwm search path and
initializing the variables it finds.
Control Keys
By default, the window manager uses meta as its control key.
It can also use ctrl, shift, lock, or null (no control key).
Control keys must be entered in lower case, and can be
abbreviated as: c, l, m, s for ctrl, lock, meta, and shift,
respectively.
You can bind one, two, or no control keys to a function. Use
the bar (|) character to combine control keys.
Note that client applications other than the window manager
may use pointer button and control key combinations. If the
window manager has bound these combinations for its own use,
the client application will never see the requested pointer
input.
Context
The context refers to the screen location of the cursor when
a command is initiated. When you include a context entry in
a binding, the cursor must be in that context or the
function will not be activated. The window manager
recognizes the following four contexts: icon, window, root,
(null).
The root context refers to the root, or background window, A
(null) context is indicated when the context field is left
blank, and allows a function to be invoked from any screen
location. Combine contexts using the bar (|) character.
Mouse Buttons
Any of the following mouse buttons are accepted in lower
case and can be abbreviated as l, m, or r, respectively:
left, middle, right.
With the specific button, you must identify the action of
that button. Mouse actions can be:
Page 6 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
down function occurs when the specified button is
pressed down.
up function occurs when the specified button is
released.
delta indicates that the mouse must be moved the number
of pixels specified with the delta variable before
the specified function is invoked. The mouse can
be moved in any direction to satisfy the delta
requirement.
MENU DEFINITION
After binding a set of function keys and a menu name to
f.menu, you must define the menu to be invoked, using the
following syntax:
menu = " menu name " {
"item name" : "action"
.
.
.
}
Enter the menu name exactly the way it is entered with the
f.menu function or the window manager will not recognize the
link. If the menu name contains blank strings, tabs or
parentheses, it must be quoted here and in the f.menu
function entry. You can enter as many menu items as your
screen is long. You cannot scroll within menus.
Any menu entry that contains quotes, special characters,
parentheses, tabs, or strings of blanks must be enclosed in
double quotes. Follow the item name by a colon (:).
Menu Action
Window manager functions
Any function previously described. E.g., f.move
or f.iconify.
Shell commands
Begin with an exclamation point (!) and set to run
in background. You cannot include a new line
character within a shell command.
Text strings
Text strings are placed in the window server's cut
buffer.
Strings starting with an up arrow (^) will have a
new line character appended to the string after
Page 7 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
the up arrow (^) has been stripped from it.
Strings starting with a bar character (|) will be
copied as is after the bar character (|) has been
stripped.
Color Menus
Use the following syntax to add color to menus:
menu = "menu name" (color1:color2:color3:color4) {
"item name" : (color5 :color6) : " action "
.
.
.
}
color1 Foreground color of the header.
color2 Background color of the header.
color3 Foreground color of the highlighter, the
horizontal band of color that moves with the
cursor within the menu.
color4 Background color of the highlighter.
color5 Foreground color for the individual menu item.
color6 Background color for the individual menu item.
Color Defaults
Colors default to the colors of the root window under any of
the following conditions:
1) If you run out of color map entries, either before or
during an invocation of uwm.
2) If you specify a foreground or background color that
does not exist in the RGB color database of the server (see
/usr/lib/X11/rgb.txt for a sample) both the foreground and
background colors default to the root window colors.
3) If you omit a foreground or background color, both the
foreground and background colors default to the root window
colors.
4) If the total number of colors specified in the startup
file exceeds the number specified in the maxcolors variable.
5) If you specify no colors in the startup file.
Page 8 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
Customizing Icon Names
Icon names may be editted by placing the pointer inside the
icon and typing. The Backspace, Rubout and Delete keys may
used to remove a character from the end of a line and
Control-U may be used to delete the whole name.
EXAMPLES
The following sample startup file shows the default window
manager options:
# Global variables
#
resetbindings;resetvariables;resetmenus
autoselect
delta=25
freeze
grid
hiconpad=5
hmenupad=6
iconfont=oldeng
menufont=timrom12b
resizefont=9x15
viconpad=5
vmenupad=3
volume=7
#
# Mouse button/key maps
#
# FUNCTION KEYS CONTEXT BUTTON MENU(if any)
# ======== ==== ======= ====== ============
f.menu = meta : :left down :"WINDOW OPS"
f.menu = meta : :middle down :"EXTENDED WINDOW OPS"
f.move = meta :w|i :right down
f.circleup = meta :root :right down
#
# Menu specifications
#
menu = "WINDOW OPS" {
"(De)Iconify": f.iconify
Move: f.move
Resize: f.resize
Lower: f.lower
Raise: f.raise
}
menu = "EXTENDED WINDOW OPS" {
Create Window: !"xterm &"
Iconify at New Position: f.lowericonify
Focus Keyboard on Window: f.focus
Freeze All Windows: f.pause
Unfreeze All Windows: f.continue
Circulate Windows Up: f.circleup
Page 9 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
Circulate Windows Down: f.circledown
}
RESTRICTIONS
The color specifications have no effect on a monochrome
system.
Some versions of lex have a hard-wired input buffer limit of
200 characters with no checking for overflow. A .uwmrc file
containing lines longer than this limit will cause
unpredictable behavior when used with a version of uwm built
on such a system.
FILES
/usr/lib/X11/uwm/system.uwmrc
$HOME/.uwmrc
SEE ALSO
X(1), Xserver(1), xset(1), xlsfonts(1)
COPYRIGHT
COPYRIGHT 1985, 1986, 1987, 1988
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASSACHUSETTS
ALL RIGHTS RESERVED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE
WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
BY DIGITAL EQUIPMENT CORPORATION. DIGITAL MAKES NO
REPRESENTATIONS ABOUT THE SUITIBILITY OF THIS SOFTWARE FOR
ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR
IMPLIED WARRANTY.
IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE
COPYRIGHT RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE
DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Digital Equipment
Corporation not be used in advertising or publicity
pertaining to distribution of the software without specific,
written prior permission.
AUTHOR
M. Gancarz, DEC Ultrix Engineering Group, Merrimack, New
Hampshire, using some algorithms originally by Bob
Page 10 (printed 7/20/06)
UWM(1) X Version 11 (26 October 1988) UWM(1)
Scheifler, MIT Laboratory for Computer Science.
Page 11 (printed 7/20/06)