Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uwm(1) — sys5 — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1)

Xserver(1)

xset(1)

xlsfonts(1)

UWM(1)                               SysV                               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.

     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.

     iborderwidth=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
                    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.

     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 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.

     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 use the shift
     as a control key.  If you bind the shift key to a window manager
     function, you can not use other client applications that require this
     key.

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:

     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 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.

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


RESTRICTIONS
     The color specifications have no effect on a monochrome 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 Scheifler, MIT Laboratory for Computer
     Science.

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