Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uwm(1X) — Ultrix/UWS 4.0 VAX

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1X)

dxterm(1X)

xset(1X)

xlsfonts(1X)

xterm(1X)

uwm(1X)  —  Unsupported

Name

uwm − X Window System window manager

Syntax

uwm [ options ]

Description

The uwm command provides a window manager client application that takes advantage of a graphical display and mouse. 

When invoked, uwm traces a predefined search path for any uwm startup files.  If start up files exist in any of the specified locations, uwm adds the specifications to its built-in default specifications.  Files in the uwm search path are:

 /usr/lib/X11/uwm/system.uwmrc
 $HOME/.uwmrc
-f filename

As it reads in items contained in these startup files, uwm uses the last definition it encounters for each item, when the defined values for that item differ. 

When uwm finishes processing all startup files, it emits a beep from the keyboard. 

Options

−f filenameSpecifies an alternate file as a uwm startup file. 

−d displaySpecifies the server to be used. 

Menus

By default, when it starts up, uwm provides Window Operations and Extended Window Operations menus.  To display the Window Operations menu (labeled WINDOW OPS), press and hold down both the Compose Character key and the left mouse button.  To display the Extended Window Operations menu (labeled EXTENDED WINDOW OPS), press and hold down both the Compose Character key and the middle mouse button. 

Commands in these menus are:

IconifySpecifies that the selected window be changed to a small graphical representation (icon). 

DeIconifySpecifies that an icon be changed back to its window at its original location and size. 

MoveSpecifies that the selected window be moved to a new default screen location. 

ResizeSpecifies that the size of the selected window be changed.  For more information, see the f.resize function. 

LowerSpecifies that the selected window be moved to the bottom of the window stack. 

RaiseSpecifies that the selected window be moved to the top of the window stack. 

Create WindowSpecifies that the xterm command be executed to create a terminal emulation window. 

Iconify at New Position
Specifies that the selected window be changed to or from an icon at a position indicated with the mouse pointer.

Focus Keyboard on Window
Specifies that all keyboard input be focused into the selected window. For more information, see the f.focus function.

Freeze All WindowsSpecifies that the window server is to buffer any window input and output and dedicate its resources to other processing.  For more information, see the f.pause function. 

Unfreeze All WindowsSpecifies that the window server is to unfreeze all windows and update each window with any output that was buffered while it was frozen.  For more information, see the f.continue function. 

Circulate Windows Up
Specifies that the last window be raised to the top of the window stack.

Circulate Windows Down
Specifies that the first window be lowered to the bottom of the window stack.

Restrictions

The color specifications have no effect on monochrome displays. 

Startup File Specifications

The startup information used to establish your uwm environment contains three specification groupings:

VariablesModify how uwm executes a specified action. 

FunctionsAssign the action that is executed when a mouse button or character key is pressed, or when the pointer is moved to a specified screen location. 

MenusDefine each menu that you can display and from which you can select defined items. 

To use only the settings defined in a single startup file, include the variables resetbindings, resetmenus, and resetvariables at the top of that specific file. 

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:          !"dxterm &"
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
Circulate Windows Down:    f.circledown
}

Variable Definitions

Variables are typically entered first, at the top of the startup file.  Because they cause any values listed before them to be discarded, resetbindings, resetmenus, and resetvariables normally are placed at the start of the file.  You can specify the following variables in the startup file:

autoselect/noautoselectThe autoselect variable specifies that uwm is to place the mouse pointer on the first menu item when a menu is initially displayed.  The noautoselect variable specifies that uwm is to place the mouse pointer on the menu header (title).  The default is noautoselect. 

delta=nThe delta variable specifies that the mouse pointer must be moved n screen pixels before uwm invokes those functions that subsequently are defined with delta mouse action.  The default is 1. 

freeze/nofreezeThe freeze variable specifies that uwm is to freeze the screen (not allow screen updates) and lock all other client applications out of the server while executing certain functions, for example, f.move or f.resize.  In addition, the freeze variable prevents the window grid or window box from flickering.  The nofreeze variable specifies that uwm is to allow screen updates while executing all functions.  The default is freeze. 

grid/nogridThe grid variable specifies that uwm is to display a resize or move window grid when invoking the f.resize and f.move functions.  The nogrid variable specifies that uwm is to display a window box (outline) in place of the grid.  The default is grid. 

hiconpad=nThe hiconpad variable specifies that uwm is to pad the width of a text icon’s sides with n pixels.  The default is 5 pixels. 

hmenupad=nThe hmenupad variable specifies that uwm is to pad the width of a menu’s sides with n pixels.  The default is 5 pixels. 

iconfont=fontThe iconfont variable specifies that uwm is to use the indicated text font for those icons that it creates.  See xlsfonts(1X) for font names for a given server.  The /usr/lib/Xfont directory contains all the available fonts.  The default is 6x10. 

maxcolors=nThe maxcolors variable specifies that uwm is to use a maximum of n colors at any one time.  If maxcolors is specified and if the indicated number of colors is exceeded, uwm uses the colors set for the root window (screen background).  If maxcolors is not specified, however, uwm uses as many colors as it can.  The default is that it is unspecified.  Maxcolors counts colors as they are included in the file. 

normali/nonormaliThe normali variable specifies that uwm is to let an icon only be placed entirely on the screen when invoking the f.newiconify function.  The nonormali variable specifies that uwm is to let an icon be placed partially off-screen when invoking the f.newiconify function.  The default is normali. 

normalw/nonormalwThe normalw variable specifies that uwm is to let a window only be placed entirely on the screen when invoking the f.newiconify function.  The nonormalw variable specifies that uwm is to let a window be placed partially off-screen when invoking the f.newiconify function.  The default is normalw. 

push=nThe push variable specifies the distance that uwm is to use when invoking the f.pushup, f.pushdown, f.pushright, and f.pushleft functions.  The default is 5. 

pushabsolute/pushrelative
The pushabsolute variable specifies that uwm is to use pixel as the unit of measure for the push variable.  The pushrelative variable specifies that uwm is to use as the unit of measure 1/nth of the window size, where n is set by the push variable.  For example, if the pushrelative variable is listed and if the push variable is specified as 2, uwm moves the window one half (1/2) its width when invoking the f.pushleft function.  The default is pushrelative. 

resetbindingsThe resetbindings variable specifies that uwm is to reset the key, mouse, and context bindings to those subsequently specified in the current startup file. 

resetmenusThe resetmenus variable specifies that uwm is to reset the menu definitions to those subsequently specified in the current startup file. 

resetvariablesThe resetvariables variable specifies that uwm is to reset the variables to those subsequently specified in the current startup file. 

resizefont=fontThe resizefont variable specifies that uwm is to use the specified font for the window size display when invoking the f.resize function.  See the /usr/lib/Xfont directory for a list of fonts.  The default is 6x10. 

reverse/noreverseSpecifies that uwm interchange the foreground and background colors when default colors are used for window manager windows and icons.  The default is reverse. 

viconpad=nThe viconpad variable specifies that uwm is to pad n pixels above and below an icon name.  The default is 5. 

vmenupad=nThe vmenupad variable specifies that uwm is to pad n pixels above and below a menu name and each menu item.  The default is 5. 

volume=nThe volume variable specifies that uwm is to set the keyboard bell volume to the indicated intensity (n) when invoking the f.beep function. The intensity can be 0 (softest) through 7 (loudest). The default is 4.

zap/nozapThe zap variable specifies that uwm is to display ghost lines when invoking the f.move or f.resize functions.  The nozap variable specifies that uwm is not to display these ghost lines.  The default is nozap. 

Function Definitions

Each function specification has the following format:

function=[control key(s)]:[context]:mouse events:"menu name"

Function and mouse events are required input.  The menu name is required only with the f.menu function definition. 

Functions

f.beepEmits a beep from the keyboard.  Loudness is determined by the volume variable. 

f.circledownLowers the topmost window to the bottom of the window stack. 

f.circleupRaises the bottommost window to the top of the window stack. 

f.continueUnfreezes all windows, that is, allows them to be updated.  You should always use this function in conjunction with f.pause. 

f.exitExits the current uwm session. 

f.focusDirects all keyboard input to the specified window.  To reset the focus to follow the mouse cursor, invoke the f.focus function from the root window.  This function takes a window argument. 

f.iconifyIconifies a window or deiconifies an icon.  This function takes a window argument. 

f.lowerLowers the specified window to the bottom of the window stack.  This function takes a window argument. 

f.menuDisplays the specified, defined pop-up menu.  This function takes a window argument.  Enclose the menu name in quotes if it contains blank characters or parentheses. 

f.menu=[control key(s)]:[context]:mouse events:"menu name"

f.moveMoves the specified window to a new default screen location.  This function takes a window argument. 

f.moveopaqueMoves the specified window with the mouse pointer, instead of first moving the window grid and then moving the window.  This function takes a window argument. 

f.newiconifyChanges a window to an icon and positions it at the specified screen location.  This function takes a window argument. 

f.pauseFreezes all windows so they cannot be updated.  You should always use this function in conjunction with f.continue.  This function takes a window argument. 

f.pushdownMoves a window down the amount specified by the push variable.  This function takes a window argument. 

f.pushleftMoves a window to the left the amount specified by the push variable.  This function takes a window argument. 

f.pushrightMoves a window to the right the amount specified by the push variable.  This function takes a window argument. 

f.pushupMoves a window up the amount specified by the push variable.  This function takes a window argument. 

f.raiseRaises the specified window to the top of the window stack.  This function takes a window argument. 

f.refreshUpdates the entire screen by sending exposure events to the window server clients for all unobscured or partially obscured windows.  The windows will not refresh correctly if these exposure events are not handled properly. 

f.resizeResizes the specified window.  Some clients, notably editors, may react unpredictably if you resize the window while the client is running.  This function takes a window argument. 

f.restartRestarts uwm and causes it to reread all the uwm startup files and initialize variables. 

For those functions that take a window argument, select the window or icon that is to be affected after you have selected the function from a menu.  To select the window or icon, place the mouse pointer in the window or icon and click the mouse button that was used to display the menu. 

Control Keys

By default, the window manager uses Compose Character as its control key.  However, you can specify any of the following control keys (their abbreviations are in parentheses):

ctrl (c)

lock (l)

compose character (m)

shift (s)

You must specify control keys in lowercase. 

You can bind one, two, or no control keys to a function.  Use the vertical bar (|) character to combine control keys. 

Specifying a use for the shift key alone is not recommended, because client applications other than the window manager use the shift as a control key.  If you bind the shift key to a window manager function, you cannot use other client applications that require this key. 

Contexts

The context refers to the screen location of the cursor when a command is given.  When you include a context entry in a binding, the cursor must be in that context for the function to be invoked.  The window manager recognizes the following four contexts (abbreviations in parentheses):

icon (i)

window (w)

root

null

The root context refers to the root (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.  To combine contexts, use the vertical bar (|) character. 

Mouse Buttons

You can specify when an action is to occur based on how you use the mouse.  You can specify the following mouse buttons (their abbreviations are in parentheses):

left (l)

middle (m)

right (r)

You must specify mouse buttons in lowercase. 

You can specify the following mouse actions:

downThe action is invoked when you press the button. 

upThe action is invoked when you release the button. 

deltaThe action is invoked when you press a mouse button and move the pointer the number of pixels specified by the delta variable.  You can move the mouse in any direction to satisfy the delta requirement. 

During an operation, pressing a second mouse button before releasing the first aborts the operation. 

Menu Definitions

After binding a set of function keys and a menu name to f.menu, you must use the following syntax to define the menu to be invoked: 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.  You cannot scroll within menus.  Any menu entry that contains quotation marks, special characters, parentheses, tabs, or strings of blanks must be enclosed in double quotation marks.  Follow the item name by a colon (:). 

Menu Actions

You can specify the following menu actions:

FunctionThe specified function can be any window manager function, for example, f.move or f.iconify. 

Shell commandThe specified shell command must begin with an exclamation point (!)  and must run in the background.  You cannot include a new-line character within a shell command. 

Text stringThe specified text string is placed in the window server’s cut buffer.  Strings with a new-line character appended must begin with a circumflex(^), which is stripped during the copy operation.  Strings without a new-line character appended must begin with the vertical bar character (|), which is stripped during the copy operation. 

Color Menus

Use the following syntax to add color to menus: menu = menu name (color1:color2:color3:color4) {
item name: (color5:color6): action
item name: (color5:color6): action
        .
        .
        .
}

color1Specifies the foreground color (text) of the menu header. 

color2Specifies the background color of the menu header. 

color3Specifies the foreground color for menu highlighting.  This is the horizontal band of color that moves with the cursor within the menu. 

color4Specifies the background color for menu highlighting. 

color5Specifies the foreground color (text) for a menu item. 

color6Specifies the background color for a menu item. 

Color Defaults

The defaults for colors are the colors of the root window under any of the following conditions:

•If you run out of color map entries, either before or during an invocation of uwm. 

•If you specify a foreground or background color that does not exist in the RGB color database (/usr/lib/X11/rgb.txt); both the foreground and background colors default to the root window color. 

•If you omit a foreground or background color; both the foreground and background colors default. 

•If you specify more colors than the number specified by the maxcolors variable. 

•If you specify no colors in the startup file. 

Files

/usr/lib/X11/rgb.txt
/usr/lib/X11/uwm/default.uwmrc
/usr/lib/X11/uwm/system.uwmrc
$HOME/.uwmrc

See Also

X(1X), dxterm(1X), xset(1X), xlsfonts(1X), xterm(1X), Guide to the uwm Window Manager

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