Provided by: olvwm_4.4.3.2p1.4-28.1_amd64 bug

NAME

       olvwmrc - Resource file for the OPEN LOOK Virtual Window Manager

SYNOPSIS

       $HOME/.olvwmrc

DESCRIPTION

        .olvwmrc is a file which controls advanced keybinding and menu features for the OPEN LOOK
       Window Manager olvwm.  Four features of olvwm are controlled by entries in this file:

       Local Variables
              which can be used in key or screen bindings

       Key Bindings
              which can map specific actions to function keys

       Screen Bindings
              which can control where certain applications are started

       WINMENU
              entries which can control the behavior of items selected  from  the  olvwm  WINMENU
              menu.

       The  syntax for each of these entries is given below.  Common to all syntax entries is the
       notion of an ``identifier'':  this is a string which somehow specifies which window(s) the
       given  entry  applies  to.   When  determining  if  a  particular  window is affected by a
       particular rule in .olvwmrc, olvwm first checks a window's WM_NAME to see  if  it  matches
       the  identifier  listed  in  the  rule.   This  match  is  done only for the length of the
       identifier, so that the identifier Mail will match all windows  which  begin  with  the  4
       letters Mail in their WM_NAME.  If this does not match, olvwm next checks the instance and
       then the class fields of the window's WM_CLASS attribute to check for  a  possible  match.
       If  a  match  is  found for any of these fields, the window is affected by the given rule.
       Case is significant in checking all matches.

       Identifiers may contain  any  alpha-numeric  characters;  any  other  characters  must  be
       enclosed  within quotes (single or double).  Thus, Mail is a valid identifier, as is "Mail
       Tool" but Mail Tool is not.  Similarly,  strings  which  are  to  be  executed  should  be
       enclosed  in quotes if they contain non alpha-numeric characters.  Quotes may be nested in
       strings, so that to start a clock with the label foo bar, you would specify  'clock -label
       "foo  bar"'.   Finally,  single  quotes  may be escaped with a backslash, so that the full
       WM_NAME of DevGuide, for example, should appear as "OpenWindows Developer\'s Guide".

       All whitespace in this file is ignored; and  lines  beginning  with  a  #  are  considered
       comments (but only if the # is in column 1).

Variables

       The  .olvwmrc  file  may  define  local variables by assigning a value to a legal variable
       name.  Variable names must be made up of alphanumeric charcaters  or  the  '_'  character.
       Variable names may begin with a number and assignments may contain spaces either before of
       after the '=' operator.

       Variable names are referenced by using %VariableName or %{VariableName}; %% will  yield  a
       single  %.   Variable references may appear as part of the definition of any key or screen
       binding.  Variable references may also appear in assignment statements.

       In addition to olvwm variables, environment variables may be used  in  the  same  contexts
       using the familiar $NAME or ${NAME} syntax; again, $$ will yield a single $.

       The following example illustrates the use of variables:

       #
       # Define screen size.
       #
       Xsize = '1136'
       Ysize = '798'

       WholeScreenSize = '%{Xsize}x%{Ysize}+3+3'

       #
       # Define file names.
       #
       FileName = '.olvwmrc'

       PathName = '$HOME/%FileName'

Key/Action Bindings

       olvwm  can be made to perform a series of actions when a specific key is pressed.  The key
       can be any valid X keysym name and may be specified by itself or with any one or  more  of
       the  following  modifiers:   Shift,  Control, Alt, Meta, Hyper, Super, Shift Lock, or Caps
       Lock, in which case the key must be pressed with the given modifiers.

       The functionality for a key specified in a binding in .olvwmrc takes precedence  over  any
       other  functions  that  key  might  perform.  Thus, if you bind the L5 key to an action in
       .olvwmrc, you will not be able to use the L5 key to bring windows to  the  front;  if  you
       bind  the  R8 key, you will not be able to scroll up on the desktop using that key.  Since
       the unmodified versions of 29 of the possible  35  standard  function  keys  on  a  type-4
       keyboard  (L1-L10,  F1-F10,  and  R1-R15)  already  have  a  meaning  within  olvwm, it is
       recommended that at least one modifier be used for keys  in  this  manner  so  as  not  to
       conflict with other key meanings.

       There are thirteen valid actions which can be associated with a key:

       Warp   This  action  requires  a  single  identifier.   The  youngest window matching this
              identifier will be located, and the view into the desktop will be  warped  so  that
              the  found  window  is  displayed on the screen.  The window itself will not change
              position relative to the other windows; merely the view into the  desktop  will  be
              changed.   If  no  matching  window  is found, the view is unchanged.  The mouse is
              moved into the matching window, and that window is given input focus.

       Open   This action requires a list of identifiers separated  by  commas.   Each  iconified
              window  will  be  matched against this list and those which match any identifier in
              the list will be opened.

       Close  This action requires a list of identifiers separated by commas.  Each non-iconified
              window  will  be  matched against this list and those which match any identifier in
              the list will be closed.

       Raise  This action requires a list of identifiers separated by commas.  Each  window  will
              be  matched against this list and those which match any identifier in the list will
              be raised.  Windows will be raised youngest first, so that the  oldest  windows  in
              the list will end up on top.

       Lower  This  action  requires a list of identifiers separated by commas.  Each window will
              be matched against this list and those which match any identifier in the list  will
              be  lowered.  Windows will be lowered youngest first, so that the oldest windows in
              the list will end up on the bottom.

       RaiseLower
              This action requires a list of identifiers separated by commas.  Each  window  will
              be  matched against this list and those which match any identifier in the list will
              be raised to the top of the stack if they are partially obscured or lowered to  the
              bottom of the stack if they are on top.

       Execute
              This  action requires a list of commands separated by commas.  Each command will be
              executed via a Bourne-shell in the same manner as commands given in the olvwm  menu
              file [except that multiple commands may be listed in this case.]

       Goto   This  action  requires  a  single integer parameter, which is the logical screen to
              which the desktop should warp when the given key(s) are pressed.

       Quit   This action requires a list of identifiers separated by commas.  Each  window  will
              be  matched against this list and those which match any identifier in the list will
              be killed.

       Geometry
              This action requires a single  identifier.   The  identifier  must  be  a  valid  X
              geometry string but may be partially specified (may only specify position or size).
              This geometry will be applied to the current window.  If there is no current window
              this action will have no effect.

       Rebind This  action  optionally  takes a filename parameter.  If no parameter is specified
              the normal search is performed to find the correct version of the .olvwmrc file (as
              at startup).  If a parameter is given it is used as the .olvwmrc file.  All current
              key bindings are discarded and the .olvwmrc file is read.  If  the  .olvwmrc  files
              does not exist the current key bindings are not discarded.

       Stick  This  action  requires  a  single  parameter  which  must  be one of the following:
              OLVWM_USE_SELECTION, on, off, toggle, or a list of window names.  If the  parameter
              is either OLVWM_USE_SELECTION or toggle, the sticky attribute of the current window
              will be toggled.  Similarly, if the parameter is a list of window names then  those
              window's  sticky  attributes will be toggled.  The values on and off can be used to
              explicitly set the current window's sticky attribute.

       SetSize
              This action requires a single  parameter  which  must  be  one  of  the  following:
              OLVWM_USE_SELECTION, full, save, store, restore, toggle, or a list of window names.
              If the parameter is OLVWM_USE_SELECTION or  toggle,  either  the  window's  current
              geometry  will be saved and its size will be set to full size or its saved geometry
              will be restored, depending on the  window's  current  state.   Similarly,  if  the
              parameter  is  a  list  of  window names then the same action will be performed for
              those windows.  The parameter save can be used to  preserve  the  current  window's
              geometry such that a restore size (or toggle) will restore the windows position and
              size.  Note that save will only store the windows geometry if it  has  not  already
              been  saved.   The  parameter  store  will always save a windows geometry (possibly
              overwriting the currently saved  geometry).   The  restore  parameter  will  simply
              restore the current window's saved geometry (if it has one).

       Focus  This  action requires a single parameter which must be either save or restore.  The
              save parameter will cause the window with  focus  to  be  remembered  such  that  a
              restore will restore focus to that window.

       These  actions  may  appear in any order and will be performed in the reverse of the order
       specified.  Commands may be listed multiple times; this is  useful  in  case  you  want  a
       different  stacking order than that obtained by using a single raise command.  To do this,
       list separate raise commands for each window and put the raise command for the window  you
       want to be on top first.

       The full syntax for a Key/Action binding is

              KeyName { Actions }

       A  Key  Name  is  a  valid  key (L1-L10, F1-F10, or R1-R15) followed by plus signs and the
       modifiers desired.

       For example, given the following entry:

       L2 + Shift {
           Warp: "OpenWindows Developer\'s Guide"
           Execute: '$OPENWINHOME/bin/xview/clock -label "foo bar"',
                 "$OPENWINHOME/bin/xview/iconedit"
           Raise: xterm, shelltool
       }

Then when Shift L2 is pressed, the following will occur:

       1)     The view will shift so that the youngest copy of DevGuide is on the screen.

       2)     A clock will be started; its namestripe will contain foo bar.  The IconEditor  will
              also be started.

       3)     All xterms and shelltools will be raised to the front of the stacking order.

Screen Bindings

       olvwm  can  arrange  to  begin any application relative to a particular logical screen.  A
       ``logical screen'' is the area on the virtual desktop which  maps  to  the  size  of  your
       monitor; in the VDM, each logical screen is outlined in dashed lines (unless you've turned
       this feature off).  Screens are numbered by row starting with 1.  Note that  the  position
       of  a  logical  screen will vary depending on the size of a desktop:  in the default (2x3)
       configuration, screen 4 is in the bottom left-hand corner of the  VDM  but  in  a  smaller
       (2x2) configuration, it is in the bottom right-hand corner.

       The syntax for specifying a screen binding is

              Screen # { Identifiers }

       where  #  is the logical number of the screen and Identifiers is a list of comma-separated
       window identifiers for windows which should always start on that screen.  Note that it  is
       always possible to move the window to another screen later.

       For  example, the following entry will ensure that the windows started by Sun's AnswerBook
       (windows with names Navigator and Viewer) will always start on screen 6:

       Screen 6 { Navigator, Viewer }

WINMENU Actions

       When a window is selected in the WINMENU menu, olvwm will perform  certain  actions.   The
       possible actions are the same as those listed above for Key Actions, except that the mouse
       position will not change on a warp.  By default, windows behave as if a warp,  raise,  and
       open were performed on the selected window.

       To effect a different action list for a particular window, you can specify

              Identifier { Actions }

       Each of these is a MenuGroup; one or more of these can appear in the following syntax:

              WINMENU { MenuGroups }

       For example, here is a possible entry:

       WINMENU {
           "File Manager" {
               Warp: "Mail Tool"
               Open: OLVWM_USE_SELECTION
           }
           xterm { }
           "Virtual Desktop" {
               Open: OLVWM_USE_SELECTION
               Execute: "$OPENWINHOME/bin/props"
           }
       }

       If you select the File Manager from your WINMENU, then the view will
       warp  to  your  Mail  Tool instead of your file manager, and your file manager, if closed,
       will be opened.  [This isn't that contrived an  example:  pretend  your  file  manager  is
       sticky  and  your mail tool isn't, and you anticipate that you'll need to drag between the
       two.]

       If you select an xterm from your WINMENU, absolutely nothing will happen.  This implements
       a No-Op for that window.

       If  you select the VDM from your WINMENU, it will be opened and the properties application
       will be started.

       Note that this Identifier list can contain the special entry OLVWM_USE_SELECTION which, as
       you  might expect, operates on the single window corresponding to the one you selected.  A
       subtle distinction exists here:  given the MenuGroup

              xterm { Raise:  xterm }

       then ALL xterms will be raised when any xterm is selected via the WINMENU.   However,  the
       entry

              xterm { Raise:  OLVWM_USE_SELECTION }

       will raise only the xterm corresponding to the one selected via the WINMENU.

RESOURCES AND KEY BINDINGS

       There are a few resources which are particular to the operation of olvwmrc.

       VirtualReRead (boolean)
              When  this  resource  is  True,  olvwm  will  re-read the .olvwmrc file whenever it
              receives a Function Key event.  This will happen whenever a function key is pressed
              in  the  VDM  or on the root window, or whenever a function key grabbed by olvwm is
              pressed.  Default value:  True

       NoVirtualKey (list of windows)
              This resource disables the virtual keys set up in .olvwmrc for a particular window.
              The  list  of  windows  follows  the  same  syntax  as  other  resource  lists like
              MinimalDecor and VirtualSticky.  When a window in this list has the input focus and
              the  user executes a key sequence which is mentioned in .olvwmrc, that key sequence
              will be passed to the application rather than initiating the olvwmrc action.   Note
              that  this  disabling applies only to bindings established via entries in .olvwmrc;
              normal olvwm and olwm bindings are not affected.  Default value:  None

       NoVirtualFKey (list of windows)
              This resource is like NoVirtualKey, but only the Function keys F1 to  F10  will  be
              disabled for the given window.  Default value:  None

       NoVirtualLKey (list of windows)
              This  resource  is  like  NoVirtualKey,  but  only the keys L1 to L10 (which map to
              F11-F20 on non-Sun keyboards) will be  disabled  for  the  given  window.   Default
              value:  None

       NoVirtualRKey (list of windows)
              This  resource  is  like NoVirtualKey, but only the keys R1 to R15 will be disabled
              for the given window.  Default value:  None

SEE ALSO

       olvwm(1), olwm(1)

NOTES

       Please see the LEGAL_NOTICES  file  for  full  disclosure  of  copyright  information  and
       olvwm(1) for acknowledgments.

BUGS

       The  multiple  interfaces  for  NoVirtualKeys is something only a Wall Street trader could
       appreciate.

                                         30 November 1992                              OLVWMRC(5)