OLVWM(1) MachTen Programmer’s Manual OLVWM(1)

NAME
olvwm - OPEN LOOK virtual window manager for X11 and Open-
Windows

SYNOPSIS
olvwm [ options ]

DESCRIPTION
olvwm is a virtual window manager for the X Window System
that implements parts of the OPEN LOOK graphical user
interface. olvwm differs from olwm in that olvwm manages
a virtual desktop which is larger than the actual screen.
However, olvwm is equivalent in all other respects to, and
supports all the features of olwm. This manual page dis-
cusses only the changes between olvwm and olwm, most of
which deal specifically with the virtual desktop. For
details on how olwm operates, including its host of
options, see olwm(1).

OPTIONS
There is one new option to olvwm.

-allowSynthetic
Allow the receipt of synthetic events. Note that
this argument only permits synthetic events to be
enabled; whether or not synthetic events are deliv-
ered is controlled via the SyntheticEvents resource
variable.

TERMINOLOGY
Throughout this manual, the following terms are used:

Screen:
This refers to a specific monitor; essentially,
there is one screen for every monitor run by your
workstation. Each monitor has a view into a par-
ticular desktop. In X terminology, this is the
screen component of a particular display.

Desktop:
This refers to the entire area in which windows can
reside on a given screen. In non-virtual window
managers, a desktop and a screen are the same size.
In a virtual window manager, though, a desktop is
larger than the screen.

VDM or Virtual Desktop Manager is the window which rep-
resents visually the entire desktop: it provides a
scaled-down version of the entire desktop.

Logical Screen:
If the desktop is running in default mode, it will
display a grid, each square of which maps to the
size of the monitor. Each square is termed a logi-
cal screen.

Current View:
is that part of the desktop which is currently dis-
played on the screen; this will usually (but need
not always) correspond to a logical screen.

Virtual Window:
is a small rectangle displayed in the VDM; every
window on the desktop has a corresponding Virtual
Window in the VDM.

VIRTUAL DESKTOP MANAGER
When it is started, olvwm displays a virtual desktop man-
ager window. The VDM is a reduced display of all windows
active on the desktop at any time. The current view is
outlined in the virtual desktop manager. The VDM always
appears on the screen.

By default, the VDM (and hence the desktop) is divided
into a grid; each square of the grid represents a screen
size. The dividing lines between each logical screen are
represented by dashed lines in the VDM. This division
into logical screens is purely informational: if you
like, windows can straddle these boundaries, the current
view into the desktop can straddle these boundaries, and
window can be moved at will between these boundaries.
However, by default, most actions in the VDM will keep the
current view along these boundary lines.

EVENTS IN THE VDM
The processing of events within the VDM depends on whether
the mouse is pointing to the background area of the VDM or
to a particular virtual window within the VDM.

EVENTS ON VIRTUAL WINDOWS
Events which occur in a particular virtual window behave
just as if they were delivered to the corresponding appli-
cation’s frame. Thus, pressing the MENU button over a
virtual window will bring up the frame menu and allow the
real (and virtual) windows to be opened, closed, resized,
etc. Pressing the SELECT button will select that real
(and virtual) window; pressing the ADJUST button will add
(or subtract) that window from the selection list. Press-
ing the FRONT or OPEN keys will raise/lower or open/close
the real (and virtual) window.

SELECTing and dragging one or more virtual windows will
move the real and virtual windows (just as in olwm). Note
that if you drag the mouse outside of the VDM, the window
can be moved onto to the screen. Conversely, when drag-
ging a window on the screen, if the mouse moves into the
VDM, the window will then be moved to the location on the
displayed within the VDM. However, if part of the VDM is
obscured, you cannot move a window into that part of the
VDM.

Note that events are delivered ONLY to the real applica-
tion’s frame. Thus, typing characters or the
COPY/CUT/PASTE keys has no effect.

It is possible to drop something onto a virtual window as
if it were dropped onto the corresponding application;
this allows you to, for example, drag a file from the
mailtool on the screen to a file manager on another part
of the desktop.

EVENTS ON THE VDM BACKGROUND
Events on the VDM background all work to change the cur-
rent view, bringing windows which were formerly outside of
the current view onto the screen (and moving windows which
were on the screen outside of the current view). Keyboard
events are described given the default Sun Type-4 keyboard
mappings, but you can use xmodmap to set up your particu-
lar keyboard.

Keyboard Events:
The arrow keys (and other keys) can be used to
shift the current view in the direction specified.
See the section on ADDITIONAL KEY BINDINGS below.
Keyboard events are also active if they occur on
the root window in addition to the VDM background.

SELECT mouse events: SELECTing on the VDM background
allows you to drag the current view within the VDM.
If the VirtualGrid resource is set to Visible or
Invisible, movement of the visible region will be
constrained to logical screen boundaries unless the
CTRL button is pressed before and held while drag-
ging the mouse. If the VirtualGrid resource is set
to None, movement of the visible region will be
unconstrained unless the CTRL button is pressed
before and held while dragging the mouse.

DOUBLE CLICK
SELECT events: Double clicking the SELECT button on
an area in the VDM background will move the current
view to the logical screen containing the point
where the mouse was double-clicked.

MENU mouse events: The MENU button brings up a
(pinnable) menu which will allow movement based on
full screen sizes in the direction indicated.

RESIZING THE VIRTUAL DESKTOP
You can use the resize corners on the VDM to resize the
virtual desktop at will. If you make the virtual desktop
smaller, windows which might be off the new virtual desk-
top will NOT be moved (though they will not be lost,
either, and you can get them back by resizing the desktop
again). Space added or subtracted is always done so from
the right and bottom of the desktop (regardless of which
resize corner you used).

STICKY WINDOWS
You’ll notice that the virtual desktop manager never moves
on your screen if you change views into the desktop.
That’s because the VDM is permanently "sticky."

Windows which are "sticky" never move position on the
screen when you change your view into the desktop. To set
a particular window as sticky, simply select "Stick" in
its frame menu. You may similarly unstick the window via
its menu.

[Note: Only base frames--those which can be iconified, as
opposed to those which have a pushpin--are eligible to
become sticky; other frames inherit the stickyness of
their base frames. Thus, for most applications, either
all windows are sticky or none of them are. The exception
to this is applications which create two or more base
frames; all base frames will be originally created as
"unsticky" (but see the VirtualSticky resource below).]

CHANGES TO THE WINDOW MENU
The window menu of all windows has all the tools defined
in olwm. In addition, the menu of base windows has the
following command

Stick/Unstick
Affect the stickyness of the particular window.
Windows which are sticky will always appear in the
same place on the screen no matter which part of
the virtual desktop you’re looking at. Windows
which are not sticky (by default, all windows
except the VDM) will move when you change the cur-
rent view on the virtual desktop.

CHANGES TO ROOT MENU
The following additional keywords can be used in the com-
mand field of a root menu menu item:

COLUMNS
This specifies the number of columns you’d like the
menu to have. Each column within a menu will be
filled in order of the items in the menu. The menu
name must appear before this keyword, and the key-
word itself must appear before the end of the menu.

STICK_UNSTICK_SELN
This specifies that the sticky state of the
selected windows should be toggled.

WINMENU
brings up a pull-right menu containing the name of
every window on the current monitor (if olvwm is
managing multiple monitors, only windows on the
current monitor will be shown). Windows which are
iconified are preceded with a graphic symbol.
Selecting one of these windows causes the view into
the desktop to shift so that the selected window is
visible; the selected window will be opened if
iconic and raised to the top of the stacking order.
This behavior can be altered; see olvwmrc(5) for
more details. You may specify the number of
columns in the pull-right menu by using a number
after the WINMENU keyword. By default, the order
of the menu is alphabetic; see the SortMenuType
resource below for more options.

DIRMENU
brings up a pull-right menu containing the name of
every file given in the named directory. This
allows you to use a local programs directory for a
tool repository; whenever tools are added to the
directory, users will see the new choices. The
directory name may contain environmental variables
(e.g. $OPENWINHOME). You may also specify a regu-
lar expression as the file part of DIRMENU; e.g.
$OPENWINHOME/bin/x* would display only those pro-
grams in the openwindows bin directory which begin
with an x. Regular expressions do not apply to the
directory name; $OPENWINHOME/b*/x* is an invalid
DIRMENU entry.

X11 Bitmaps and Pixmaps
can be specified in the menu by specifying a file-
name enclosed in <> brackets. The filename speci-
fied must be in X11 bitmap form, XPM2 form (pro-
duced by IconEdit), XPM3 form, or Gif format. You
can mix bitmap and string entries within a menu,
though perhaps menus look better if you do not.

MOVE_DESKTOP
specifies that olvwm should move the view to either
the logical screen specified after the MOVE_DESKTOP
entry (e.g. MOVE_DESKTOP 3 moves to the third logi-
cal screen) or to the logical screen containing the
point specified after the MOVE_DESKTOP entry (e.g.
MOVE_DESKTOP 2304 0 also moves to the third logical
screen in a default configuration).

Here is a version of the example olwm root menu specifica-
tion: the programs menu will have 2 columns; there will
be a way to find particular windows off the "Find" submenu
(and that menu will have 3 columns); whatever local tools
are available can be found in /usr/local; and the cmdtool
option will be displayed as an icon:

"My Custom Menu" TITLE

Programs MENU
Programs COLUMNS 2
</usr/openwin/include/X11/bitmaps/terminal> DEFAULT cmdtool
"Text Editor" textedit
Mail mailtool
"File Manager" filemgr
Other MENU
"Other Tools" TITLE
"Shell Tool" shelltool
"Icon Editor" iconedit
Clock clock
"Perf Meter" DEFAULT perfmeter
Other END
"Local Tools" DIRMENU /usr/local
Programs END PIN

"Repaint Screen" REFRESH

"Properties ..." PROPERTIES

"Find" WINMENU 3

Exit EXIT

MISCELLANEOUS NEW FEATURES
This section describes miscellaneous window manager fea-
tures which are not directly related to the virtual nature
of olvwm.

Upon receiving a USR1 signal, olvwm will execute a RESTART
function just like the restart function available from the
root menu.

The root workspace will not be repainted on exit if the
PaintWorkspace resource is False.

The olwm resource DefaultIconImage will now accept either
an X11 Bitmap file, a version 2 or 3 XPM image file or a
GIF file. If you use an image file, remember that the
DefaultIconMask must still be a X11 Bitmap; generally you
will want to create a full mask in that case.

The olwm resource WorkspaceBitmap will accept X11 Bitmap
files, version 2 or 3 XPM image files, or GIF files. The
MaxMapColors resource can restrict the number of colors
olvwm uses for each GIF file to help with colormap prob-
lems, but in general, specifying more than 1 GIF file will
lead to colormap problems.

RESOURCES TO CONTROL THE VIRTUAL DESKTOP
See the man page for olwm for a complete description of
resources. All resources of class OpenWindows and olwm
described there are supported by olvwm. In addition, for
olvwm only, resources of instance "olvwm" are also read.
You can thus name the following resources as
olvwm.<resource>, olwm.<resource>, or as OpenWin-
dows.<resource> depending on your naming preference.

Resources marked with an * may be specified on a screen-
by-screen basis; e.g. olvwm.screen0.resource and
olvwm.screen1.resource, following the pattern in olwm.

VirtualDesktop (string)*
Specifies the size of the virtual desktop. You can
specify this in terms of screen sizes, so that a
virtual desktop of 3 screens across and 2 screens
high would appear as the string 3x2. You may also
specify this in terms of absolute pixel sizes, e.g.
3800x1800, as long as the pixel size is greater
than the size of your framebuffer. Default value:
3x2

PannerScale (int)*
Sets the scale in which the virtual desktop manager
will be drawn. Default value: 15.

VirtualGeometry (string)*
Specifies the geometry string of the desktop man-
ager in standard X11 format (wxh+x+y). The width
and height, if specified, are ignored, but the x
and y can be used to specify the initial location
of the desktop manager. Default value: +0+0

VirtualIconGeometry (string)*
Specifies the geometry string of the desktop man-
ager icon in standard X11 format (wxh+x+y). The
width and height are ignored, but the x and y can
be used to specify the initial location of the
desktop manager icon. Default value: +0+0

VirtualIconic (Boolean)*
If true, the virtual desk manager will come up
iconic. Default value: False

AllowMoveIntoDesktop (Boolean)
If true, allows windows to be moved from the screen
into the VDM and vice versa. Otherwise, moving a
window on the screen will only allow it to be
placed in the visible screen; and moving a window
in the desktop manager will not let it be dragged
onto the screen. Default value: True

AllowArrowInRoot (Boolean)
If true, then key events in the root window will
affect the VDM and thus move the view into the
desktop (if the appropriate key is pressed). Oth-
erwise, only key events when the VDM has the input
event focus will have an effect. Default value:
True

VirtualFont (string)*
The font name used to display title of windows
within the virtual desktop manager. Default value:
5x8

VirtualFontColor (color specification)*
The color of the title within the virtual windows
of the virtual desktop manager. Default value:
Black

VirtualBackgroundColor (color specification)*
The color of the background of the virtual desktop
manager. Default value: Based on the frame color
of your desktop.

VirtualForegroundColor (color specification)*
The color of the virtual windows in the virtual
desktop manager. Default value: The frame color
of your desktop.

VirtualBackgroundMap (Pixmap filename)*
The name of a file containing a pixmap to use as
the background of the virtual desktop manager.
This will be drawn with the VirtualBackgroundColor
as its background color and the VirtualPixmapColor
as its foreground color. The file can be either an
X bitmap file, a Z Pixmap file, or a Gif file.
Color reduction can be carried out on these images
by specifying the MaxMapColors resource. If the
file is NOT a bitmap file the virtual desktop win-
dow title is changed to be the filename part of the
file and the Maximum Size window hint is set to the
dimensions of the pixmap. Default value: unused

MaxMapColors (number of colors)*
This integer value specifies the maximum number of
colors that olvwm will try and allocate for the
VirtualBackgroundMap. If the actual number of col-
ors in the pixmap is greater, the colors are
remapped to this number using a ’best match’ algo-
rithm (Heckbert Median Cut). Default value: 200

VirtualPixmapColor (color specification)*
See above; this value only applies when the Virtu-
alBackgroundMap has depth 1. Default value: white

VirtualSticky (list of strings)
The list of windows which should be sticky by
default. Like the olwm MinimalDecor, this should
be the list windows which should be sticky when
they are created. The matching of these strings is
done by the first word of the window’s WM_NAME
(string in its title bar), or by its WM_CLASS
class/instance variables. Default value: Null

RelativePosition (Boolean)
If true, then user-specified window co-ordinates
are assumed to be relative to the current view into
the desktop; otherwise they are absolute with
respect to the desktop. Setting to true will not
allow you to bring up windows outside your current
view (unless you specify very large or negative
numbers), and setting to false will break some pro-
grams which save window states in an odd manner.
You can defeat this variable on startup of applica-
tions by specifying which screen they should start
on; see olvwmrc(5). Default value: True

VirtualGrid (Visible, Invisible, or None)*
This controls two aspects of the VDM: If it’s vis-
ible or invisible, the grid is on (but it’s only
drawn if it’s visible). If it’s None, the grid is
off. If the grid is on, the VDM may only be
resized in logical screen-sized increments. Other-
wise, it may resized to arbitrary sizes. If the
grid is on, SELECT/dragging the mouse within the
VDM will constrain the move to logical screens
(unless the CTRL button is held down); if the grid
is off, moving the visible screen region with
SELECT/drag will be unconstrained (unless the CTRL
button is held down). Default value: Visible

VirtualGridColor (color specification)
If the VirtualGrid is Visible, it will be drawn in
this color. Default value: Same as VirtualFont-
Color

VirtualRaiseVDM (Boolean)
If this is true, the VDM will always appear on top
of the stacking order, never to be obscured by
other windows. Default value: False

VirtualMoveGroup (Boolean)
If true, then whenever a window is moved to a dif-
ferent logical screen, then all followers of that
window will also be moved a similar amount: this
affects the window’s icon and popups. In this way,
icons and popups will always appear on the same
logical screen as their corresponding base frame.
Otherwise, only the selected windows will move when
you move them, and related windows could possibly
appear on different logical screens in the desktop.
The trigger for changing between logical screens is
the window’s mid-point; all windows in the group
will appear on the same logical screen as the mid-
point of the moved window. Default value: True

UseImages (UseNone, UseVDM, or UseAll)
If set to UseNone, then window frame menus and the
VDM motion menu will be text-based. If set to
UseVDM, the window frame menus will be text-based,
but the VDM motion menu will be a graphic menu. If
set to UseAll, the window frame menus will be text-
and image-based, and the VDM motion menu will be
image-based. Default value: UseVDM

SortMenuType (Enum)
This option controls how windows appearing in the
WINMENU command are sorted. If it is set to Alpha-
betic, then windows will be sorted alphabetically
by name. If it is set to Youngest, then windows
will be sorted from youngest to oldest. Default
value: Alphabetic

VirtualDrawSticky (True)
If this option is set, sticky windows will have
their virtual windows drawn in the VDM just like
any other window. If it is false, then sticky win-
dows will not have their virtual windows drawn in
the VDM. Default value: True

StickyIcons (Boolean)
When set, StickyIcons will cause all non-sticky
windows to become sticky when iconified. This
makes all icons visible on every screen. All win-
dows made sticky when iconified will become
unsticky when reopened. Default value: False

StickyIconScreen (Boolean)
StickyIconScreen, when used in conjunction with
StickyIcons, will cause all iconified windows that
are made sticky to remember the screen on which
they were closed. When one of these windows is
reopened the user will be warped back to the screen
from which the window was closed and the window is
made unsticky. Default value: False

FreeIconSlots (Boolean)
By default, when an icon is created, it has that
icon position forever (unless it is moved manu-
ally), even when the window is not iconified. This
results in potentially large gaps in the icon area
when lots of little programs are run (clocks, load
averages, etc) which are rarely iconified. When
this resource is true and a window is opened, if
the icon position what not set manually the slots
are freed. The effect is that iconified windows
pack together in the corner specified by IconPlace-
ment. If you move an icon manually, it maintains
that position. Default value: False

UniqueIconSlots (Boolean)
This resource, when set to true, prevents icons
from overlapping. If you move an icon into icon
grid slot(s) occupied by other icons, those icons
move. If those other icons were positioned manu-
ally, they are no longer viewed as manually placed
(unless, of course, they are subsequently manually
placed) Default value: False

IconGridHeight (Integer)
IconGridWidth (Integer) Previously the size of the
icon grid was fixed. An icon takes up a number of
grid slots, depending on it’s size, and is aligned
with the lower left corner of its lower left grid
slot. Changing the size of the grid changes how
icons arrange themselves. Default value: 13 for
each

ADDITIONAL MISCELLANEOUS RESOURCES
These resources are not related specifically to the VDM,
but are included as new features within olvwm.

InputFocusColor (color specification)*
Specifying this attribute means that the frame of
the window which currently has the input focus
should be drawn in the color specified instead of
in the normal frame color. The appearance of the
title bar (with lines or indentation, depending on
your input focus mode) will remain unchanged.
Default value: None (Use standard frame color)

RaiseOnMove (Boolean)
If this is True, then whenever a window is moved,
it is also raised to the top of the stacking order.
Default value: False

AutoShowRootMenu (Boolean)
If true, the root menu will come up pinned at start
up. Default value: False

AutoRootMenuX (int)
If AutoShowRootMenu is true, this is the X location
where the menu will come up. Default value: 0

AutoRootMenuY (int)
If AutoShowRootMenu is true, this is the Y location
where the menu will come up. Default value: 0

FullSizeZoomX (Boolean)
If this is set to True, then selecting Full Size
from the window menu will zoom the window horizon-
tally as well as vertically. Default value: False

NoDecor (list of strings)
Like Minimal Decor, this attribute takes a list of
windows on which to operate; these windows should
not be decorated at all. There is a slight differ-
ence between this attribute and setting the over-
ride_redirect flag on a window: the latter causes
olvwm to ignore completely the window, while this
attribute does not adorn the window or give it a
menu, but still allows it to be manipulated via the
WINMENU and Hot Key actions. Normal olwm keys are
ignored by these windows, however.

ResizeMoveGeometry (X geometry string or the word center)
This resource only has an effect if ShowMoveGeome-
try and/or ShowResizeGeometry is set to True. This
string specifies the location of the geometry box
when it is displayed; it should be given as an X
geometry string (wxh+x+y) although the width and
height are ignored if specified. If you want the
box to be centered regardless of your monitor reso-
lution, use the string center instead of a geometry
string. Default value: +0+0

PaintWorkspace (Boolean)
If true, olvwm will paint the root workspace with
the color of the WorkspaceColor resource. If
False, olvwm will not change root workspace.
Default value: True

PointerWorkspace (Boolean)
If true, olvwm will change the cursor when it is
over window frames and other olvwm-owned windows.
If False, olvwm will not change the cursor. This
is useful in conjunction with xsetroot -cursor if
you want the specified cursor to be active over
frames. Default value: True

SaveWorkspaceCmd (String)
If set, this is the command that will be run when
the SAVE_WORKSPACE command is selected off the main
menu. Otherwise, the default command is run.
Default value: owplaces -silent -multi -script -tw
-output $HOME/.openwin-init

SyntheticEvents (boolean)
This resource controls the delivery of synthetic
events. This resource is only valid if the
-allowSynthetic argument was given to olvwm on
startup; if that argument was present and this
resource is set to True, then olvwm will process
synthetic events. Otherwise, synthetic events are
ignored. Default value: False

ParentScreenPopup (Boolean)
If true the popups are placed on the same screen as
their parent even if the parent is not currently
visible. Otherwise popups always appear on the cur-
rent screen. A suggested method is to place the
following lines at the end of your .xinitrc file
(before the final wait command):
xrdb -merge <<’EOF’
olvwm.ParentScreenPopup: False
EOF
In this way, your session will initialize with all
popups with their parents but subsequenct popups
will appear on the current screen. Default value:
True

CURSOR RESOURCES
These set of resources change the default cursors the win-
dow manager gives certain classes it creates, such as
resize buttons, close buttons, frames, icons, etc. The
<cursor string> is described as follows:

<cursor font name> <cursor index> [<fore color>
[<back color>]]

where options enclosed in []’s are optional. If the <back
color> is left out, the default back color (which, in this
version of OLVWM, is white) is used. If the <fore color>
is left out, then the default cursor (foreground) color is
used, which is black by default, unless set by the
cursorColor resource (see below). Note that to supply the
<back color>, you must supply the <fore color>. Also, if
the color name you provide is invalid, OLVWM will return
to the default colors, as described above. As per usual
with resources, no errors are reported. The cursor font
is assumed to be encoded so that the valid mask for the
cursor follows the cursor index in the font; this is the
usual behavior for font files.

There is an alternate form of <cursor string>:

<cursor name> [<fore color> [<back color>]]

where <cursor name> is either the name of the X cursor as
defined in cursorfont.h (eg: XC_X_cursor, XC_cross, etc.),
or the name of an OPEN LOOK cursor as defined in olcur-
sor.h (e.g.: OLC_basic, OLC_busy).

The valid <cursor>s are:

CursorBasic
Specify the root window cursor. Default: Basic
Pointer (arrow pointing NW)

CursorMove
Specify the cursor when a window is moved.
Default: Basic Pointer

CursorBusy
Specify the cursor for when a window is "busy".
Default: Busy Pointer (pocket watch)

CursorIcon
Specify cursor for the icon windows. Default:
Basic Pointer

CursorResize
Specify cursor for the resize buttons and when win-
dow is being "rubber-band" resized. Default:
Bull’s Eye

CursorMenu
Specify cursor for menu windows. Default: Basic
Pointer

CursorTarget
Specify cursor for window frames. Default: Basic
Pointer

CursorCloseUp
Specify cursor for close button, when NOT pressed
(the button is UP). Default: Basic Pointer

CursorCloseDown
Specify cursor for close button, when pressed (the
button is DOWN). Default: Basic Pointer

CursorSpecialResize <Bool> [<fg corner> <bg corner> <fg
move> <bg move>]
This is a special Cursor resource which turns on
specialized resize cursors. If <Bool> is false,
then the cursor for the resize button decorations
and the "rubber-band" window are all specified by
"Cursor.Resize" as discussed above. If <Bool> is
true, then the following modifications are turned
on: When the cursor is within the resize button
decorations on a frame, the cursor becomes a corner
of the appropriate orientation. When the button is
selected and the window is being "rubber-band"
resized, the cursor becomes the appropriate corner
with an appropriately oriented arrow. The colors
that you can specify are limited to prevent an
obscene number of resources. You can specify the
colors (foreground and background) of the cursors
when placed in the resize decoration without the
mouse button down (described above as <fg corner>
and <bg corner>), and you can specify the colors of
the cursors when the mouse button is down the win-
dow is being resized (described above as <fg move>
and <bg move>). Note that you must specify either
all four colors or no colors.

ADDITIONAL KEY BINDINGS
Like olwm, olvwm uses key bindings for certain actions:
all actions specified in olwm as well as an additional set
of actions to control the view into the desktop. In the
following list, the key mentioned in parentheses is the
default binding for the given action; items marked with a
plus sign ’+’ are items which exist in olwm; they are
included here to describe what action they have when they
occur on the root window or within the VDM. All other
bindings are specific to olvwm; those items marked with
an asterisk ’*’ involve keyboard grabs. Bindings which
involve a keyboard grab (those with an asterisk) are
always active, no matter where the input focus is; other-
wise the action occurs only if the root window or the VDM
has the input focus.

It’s possible to change each of these bindings, see the
olwm man page for more details.

GrabVirtualKeys " (Boolean)"
This resource controls whether the keys below
marked as involving grabs will be active or not.
If this resource is set to False, then none of the
bindings marked below with an asterisk will ever be
active. Default value: True

Up (up-arrow) +
Move the view up one screen.

JumpUp (up-arrow+Ctrl) +
Move the view up ten screens.

HalfUp (up-arrow+Shift)
Move the view up one-half screen.

VirtualUp (up-arrow+Meta) *
Move the view up one screen.

VirtualJumpUp (up-arrow+Ctrl+Meta) *
Move the view up ten screens.

VirtualHalfUp (up-arrow+Shift+Meta) *
Move the view up one-half screen.

Down (down-arrow) +
Move the view down one screen.

JumpDown (down-arrow+Ctrl) +
Move the view down ten screens.

HalfDown (down-arrow+Shift)
Move the view down one-half screen.

VirtualDown (down-arrow+Meta) *
Move the view down one screen.

VirtualJumpDown (down-arrow+Ctrl+Meta) *
Move the view down ten screens.

VirtualHalfDown (down-arrow+Shift+Meta) *
Move the view down one-half screen.

Left (left-arrow) +
Move the view left one screen.

JumpLeft (left-arrow+Ctrl) +
Move the view left ten screens.

HalfLeft (left-arrow+Shift)
Move the view left one-half screen.

VirtualLeft (left-arrow+Meta) *
Move the view left one screen.

VirtualJumpLeft (left-arrow+Ctrl+Meta) *
Move the view left ten screens.

VirtualHalfLeft (left-arrow+Shift+Meta) *
Move the view left one-half screen.

Right (right-arrow) +
Move the view right one screen.

JumpRight (right-arrow+Ctrl) +
Move the view right ten screens.

HalfRight (right-arrow+Shift)
Move the view right one-half screen.

VirtualRight (right-arrow+Meta) *
Move the view right one screen.

VirtualJumpRight (right-arrow+Ctrl+Meta) *
Move the view right ten screens.

VirtualHalfRight (right-arrow+Shift+Meta) *
Move the view right one-half screen.

GoHome (R11)
Move the view to the upper left corner.

VirtualHome (R11+Meta) *
Move the view to the upper left corner.

UpLeft (Home, R7) +
Move the view NorthWest one screen.

JumpUpLeft (R7+Ctrl) +
Move the view NorthWest ten screens.

HalfUpLeft (R7+Shift)
Move the view NorthWest one-half screen.

VirtualUpLeft (R7+Meta) *
Move the view NorthWest one screen.

VirtualJumpUpLeft (R7+Ctrl+Meta) *
Move the view NorthWest ten screens.

VirtualHalfUpLeft (R7+Shift+Meta) *
Move the view NorthWest one-half screen.

DownLeft (End, R13) +
Move the view SouthWest one screen.

JumpDownLeft (R13+Ctrl) +
Move the view SouthWest ten screens.

HalfDownLeft (R13+Shift)
Move the view SouthWest one-half screen.

VirtualDownLeft (R13+Meta) *
Move the view SouthWest one screen.

VirtualJumpDownLeft (R13+Ctrl+Meta) *
Move the view SouthWest ten screens.

VirtualHalfDownLeft (R13+Shift+Meta) *
Move the view SouthWest one-half screen.

UpRight (R9)
Move the view NorthEast one screen.

JumpUpRight (R9+Ctrl)
Move the view NorthEast ten screens.

HalfUpRight (R9+Shift)
Move the view NorthEast one-half screen.

VirtualUpRight (R9+Meta) *
Move the view NorthEast one screen.

VirtualJumpUpRight (R9+Ctrl+Meta) *
Move the view NorthEast ten screens.

VirtualHalfUpRight (R9+Shift+Meta) *
Move the view NorthEast one-half screen.

DownRight (R15, PgDn)
Move the view SouthEast one screen.

JumpDownRight (R15+Ctrl)
Move the view SouthEast ten screens.

HalfDownRight (R15+Shift)
Move the view SouthEast one-half screen.

VirtualDownRight (R15+Meta) *
Move the view SouthEast one screen.

VirtualJumpDownRight (R15+Ctrl+Meta) *
Move the view SouthEast ten screens.

VirtualHalfDownRight (R15+Shift+Meta) *
Move the view SouthEast one-half screen.

Screen1 (F1)
Move to the first logical screen in the desktop.

VirtualScreen1 (F1+Meta) *
Move to the first logical screen in the desktop.

Screen2 (F2)
Move to the second logical screen in the desktop.

VirtualScreen2 (F2+Meta) *
Move to the second logical screen in the desktop.

Screen3 (F3)
Move to the third logical screen in the desktop.

VirtualScreen3 (F3+Meta) *
Move to the third logical screen in the desktop.

Screen4 (F4)
Move to the fourth logical screen in the desktop.

VirtualScreen4 (F4+Meta) *
Move to the fourth logical screen in the desktop.

Screen5 (F5)
Move to the fifth logical screen in the desktop.

VirtualScreen5 (F5+Meta) *
Move to the fifth logical screen in the desktop.

Screen6 (F6)
Move to the sixth logical screen in the desktop.

VirtualScreen6 (F6+Meta) *
Move to the sixth logical screen in the desktop.

Screen7 (F7)
Move to the seventh logical screen in the desktop.

VirtualScreen7 (F7+Meta) *
Move to the seventh logical screen in the desktop.

Screen8 (F8)
Move to the eighth logical screen in the desktop.

VirtualScreen8 (F8+Meta) *
Move to the eighth logical screen in the desktop.

Screen9 (F9)
Move to the ninth logical screen in the desktop.

VirtualScreen9 (F9+Meta) *
Move to the ninth logical screen in the desktop.

Screen10 (F10)
Move to the tenth logical screen in the desktop.

VirtualScreen10 (F10+Meta) *
Move to the tenth logical screen in the desktop.

SaveWorkspace (F10+Meta+Alt+Shift) *
Execute a Save Workspace command

ToggleDragWindows (F6+Alt+Shift) *
Toggles the setting of the DragWindow resource

ToggleMoveGroups (g+Alt) *
Toggles the setting of the VirtualMoveGroup
resource

ToggleSizeFullZoomX (F3+Alt+Shift) *
Toggles the setting of the FullSizeZoomX resource

ToggleSticky (s+Alt) *
Toggles the sticky state of the window with input
focus.

ADVANCED USAGE
olvwm will read a resource file ($HOME/.olvwmrc) for spe-
cial customizations. These customizations allow the fol-
lowing:

HOT KEYS
You can specify that when a certain key (or, more
likely, key in combination with modifiers) is
pressed that certain actions are performed: you
can warp to a particular application, open, raise,
or close applications, execute applications, and
quit applications.

SCREEN BINDINGS
You can specify that certain applications will
always start on a particular logical screen.

MENU OPTIONS
You can alter the behaviour of WINMENU selections
on a particular window.

Please see olvwmrc(5) for details of these options.

COPYRIGHTS
The X Window system is a trademark of the Massachusetts
Institute of Technology.
OPEN LOOK is a trademark of AT&T.
OpenWindows is a trademark of Sun Microsystems, Inc.
Portions (c) Copyright 1989-1991 Sun Microsystems, Inc.
Sun design patents pending in the U.S. and foreign coun-
tries. OPEN LOOK is a trademark of AT&T. Used by written
permission of the owners.
Portions (c) Copyright Bigelow & Holmes 1986, 1985. Lucida
is a registered trademark of Bigelow & Holmes. Permission
to use the Lucida trademark is hereby granted only in
association with the images and fonts described in this
file.
Portions may be (c) 1990 Solbourne Computers.
Portions not covered under the above copyrights are (c)
1991 Scott Oaks.
Please see the LEGAL_NOTICES file for full disclosure of
copyright information.

CREDITS
Most of the code in this application comes from release
3.0 of olwm, authored at Sun Microsystems and distributed
in the contrib section of MIT’s X11R5. [Note that nothing
in xview3 or release 3.0 requires R5; they will happily
run on R4 and exist in R5 simply because that’s when they
were released.]
The virtual desktop section was authored by Scott Oaks,
who is responsible for its maintenance. Please direct any
comments to scott.oaks@sun.com. This code is not sup-
ported by Sun Microsystems in any way.
Notwithstanding the above, the staff at Sun Microsystems,
and especially Stuart Marks, deserve credit as original
author of olwm for most of the work contained in this
application.
Innumerable people have made fixes and enhancements to
olvwm, and I’m very bad at listing them all (but drop me a
note and I’ll do better in a future release :-)). Thus,
the following list is by no means comprehensive, but these
people have all provided something to olvwm: Tor Arntsen,
Paul Andrews, Rich Berlin, David Boyd, David Chase, John
Durand, Alexander Dupuy, Paul Eggert, Eric Fifer, Duane
Gibson, Jimmy Guggemos, Orest Jarosiewicz, Russel Kegley,
Murray Laing, Tom McConnell, Blair MacIntyre, Chuck Mus-
ciano, Matthias Pfuetzner, David Plotkin, Harry Protoolis,
Nir Samburski, Andreas Stolcke, Hinrich Tobaben, Larry
Virden, Ken West, and Ron Winacott.

MachTen 30 November 1992 18