VUEWMRC(4X)
NAME
vuewmrc - The HP VUE Workspace Manager Resource Description File.
DESCRIPTION
The vuewm resource description file is a supplementary resource file that controls much of the operation of the HP Visual User Environment Window Manager (vuewm). It contains descriptions of resources that are to be used by vuewm, and that cannot be easily written using standard X Window System, Version 11 resource syntax:
| Vuewm*resource_id |
The resource description file contains entries that are cross-referenced by entries in the resource defaults files (for example, /usr/lib/X11/app-defaults/Vuewm). For example, the resource description file enables you to specify different types of window menus; on the other hand, the default resource file enables you to specify which of these window menus the manager should use for a particular window.
The specifications of the resource description file supported by the HP VUE workspace manager are a strict superset of the specifications supported by the HP/OSF Motif Window Manager (mwm 1.0). In other words, the /usr/lib/X11/system.mwmrc or $HOME/.mwmrc file that you’ve used for mwm is immediately usable by vuewm: Simply open the vuewm resource description file with a text editor (make a copy first!), then cut and paste specifications from your current .mwmrc file into it. When you restart the workspace manager, your menu, key, and button definitions will take immediate effect.
Location
The workspace manager searches for one of the following resource description files, where $LANG is the value of the language environment on a per-user basis: $HOME/.vue/$LANG/vuewmrc $HOME/.vue/vuewmrc /usr/lib/X11/vue/Vuewm/$LANG/sys.vuewmrc /usr/lib/X11/vue/Vuewm/sys.vuewmrc
The first file found is the first used.
If none is found, then a set of built-in specifications is used. For example, the front panel, if used, will consist solely of the workspace switch (a set of buttons for changing workspaces).
A particular resource description file can be selected using the configFile resource.
The following shows how a different resource description file can be specified from the command line:
| /usr/bin/X11/vuewm -xrm "Vuewm*configFile: myvuewmrc" |
Resource Types
The following types of resources can be described in the vuewm resource description file:
Buttons Workspace manager functions can be bound (associated) with button events.
Keys Workspace manager functions can be bound (associated) with key press events.
Menus Menu panes can be used for the window menu and other menus posted with key bindings and button bindings.
Front Panel The vuewm front panel can be configured for a custom content or layout.
VUEWM RESOURCE DESCRIPTION FILE SYNTAX
The vuewm resource description file is a standard text file that contains items of information separated by blanks, tabs, and new lines characters. Blank lines are ignored. Items or characters can be quoted to avoid special interpretation (e.g., the comment character can be quoted to prevent it from being interpreted as the comment character). A quoted item can be contained in double quotes (").
Single characters can be quoted by preceding them by the back-slash character (\), except for workspace names, which may contain no back-slash characters.
All text from an unquoted # to the end of the line is regarded as a comment and is not interpreted as part of a resource description. If ! is the first character in a line, the line is regarded as a comment.
Workspace Manager Functions
Workspace manager functions can be accessed with button and key bindings, and with workspace manager menus. Functions are indicated as part of the specifications for button and key binding sets, and menu panes. The function specification has the following syntax:
| function = | function_name [function_args] |
| function_name = | workspace manager function |
| function_args = | {quoted_item | unquoted_item} |
The following functions are supported. If a function is specified that isn’t one of the supported functions then it is interpreted by vuewm as f.nop.
f.action
This function causes the specified action to be invoked by means of the message server.
f.beep
This function causes a beep.
f.circle_down [icon | window]
This function causes the window or icon that is on the top of the window stack to be put on the bottom of the window stack (so that it is no longer obscuring any other window or icon). This function affects only those windows and icons that are obscuring other windows and icons, or that are obscured by other windows and icons. Secondary windows (i.e. transient windows) are restacked with their associated primary window. Secondary windows always stay on top of the associated primary window and there can be no other primary windows between the secondary windows and their primary window. If an icon function argument is specified, then the function applies only to icons. If a window function argument is specified then the function applies only to windows.
f.circle_up [icon | window]
This function raises the window or icon on the bottom of the window stack (so that it is not obscured by any other windows). This function affects only those windows and icons that are obscuring other windows and icons, or that are obscured by other windows and icons. Secondary windows (i.e. transient windows) are restacked with their associated primary window. If an icon function argument is specified then the function applies only to icons. If an window function argument is specified then the function applies only to windows.
f.exec or !
This function causes command to be executed (using the value of the $SHELL environment variable if it is set, otherwise /bin/sh). The ! notation can be used in place of the f.exec function name.
f.focus_color
This function sets the colormap focus to a client window. If this function is done in a root context, then the default colormap (setup by the X Window System for the screen where vuewm is running) is installed and there is no specific client window colormap focus. This function is treated as f.nop if colormapFocusPolicy is not explicit.
f.focus_key
This function sets the keyboard input focus to a client window or icon. This function is treated as f.nop if keyboardFocusPolicy is not explicit or the function is executed in a root context.
f.goto_workspace
This function causes the workspace manager to switch to the specified workspace. If no workspace exists by the specified name, then no action occurs.
f.killIf the WM_DELETE_WINDOW protocol is set up, the client is sent a client message event indicating that the client window should be deleted. If the WM_SAVE_YOURSELF protocol is set up and the WM_DELETE_WINDOW protocol is not set up, the client is sent a client message event indicating that the client needs to prepare to be terminated. If the client does not have the WM_DELETE_WINDOW or WM_SAVE_YOURSELF protocol set up, this function causes a client’s X connection to be terminated (usually resulting in termination of the client). Refer to the description of the quitTimeout resource and the WM_PROTOCOLS property.
f.lower [-client]
This function lowers a client window to the bottom of the window stack (where it obscures no other window). Secondary windows (i.e. transient windows) are restacked with their associated primary window. The client argument indicates the name or class of a client to lower. If the client argument is not specified then the context that the function was invoked in indicates the window or icon to lower.
f.maximize
This function causes a client window to be displayed with its maximum size.
f.menu
This function associates a cascading (pull-right) menu with a menu pane entry or a menu with a button or key binding. The menu_name function argument identifies the menu to be used.
f.minimize
This function causes a client window to be minimized (iconified). When a window is minimized with no icon box in use, and if the lowerOnIconify resource has the value True (the default), the icon is placed on the bottom of the window stack (such that it obscures no other window). If an icon box is used, then the client’s icon changes to its iconified form inside the icon box. Secondary windows (i.e. transient windows) are minimized with their associated primary window. There is only one icon for a primary window and all its secondary windows.
f.move
This function allows a client window or icon to be moved interactively.
f.next_cmap
This function installs the next colormap in the list of colormaps for the window with the colormap focus.
f.next_key [icon | window | transient]
This function sets the keyboard input focus to the next window/icon in the set of windows/icons managed by the workspace manager (the ordering of this set is based on the stacking of windows on the screen). This function is treated as f.nop if keyboardFocusPolicy is not explicit. The keyboard input focus is only moved to windows that do not have an associated secondary window that is application modal. If the transient argument is specified, then transient (secondary) windows are traversed (otherwise, if only window is specified, traversal is done only to the last focused window in a transient group). If an icon function argument is specified, then the function applies only to icons. If a window function argument is specified, then the function applies only to windows.
f.next_workspace
This function causes the workspace manager to switch to the next workspace. If you’re viewing the last workspace, the switch occurs to the first workspace.
f.nopThis function does nothing.
f.normalize
This function causes a client window to be displayed with its normal size. Secondary windows (i.e. transient windows) are placed in their normal state along with their associated primary window.
f.normalize_and_raise
This function causes a client window to be displayed with its normal size and raised to the top of the window stack. Secondary windows (i.e. transient windows) are placed in their normal state along with their associated primary window.
f.occupy_all
This function causes the associated window to be placed in all workspaces.
f.pack_icons
This function is used to relayout icons (based on the layout policy being used) on the root window or in the icon box. In general this causes icons to be "packed" into the icon grid.
f.pass_keys
This function is used to enable/disable (toggle) processing of key bindings for workspace manager functions. When it disables key binding processing all keys are passed on to the window with the keyboard input focus and no workspace manager functions are invoked. If the f.pass_keys function is invoked with a key binding to disable key binding processing the same key binding can be used to enable key binding processing.
f.post_wmenu
This function is used to post the window menu. If a key is used to post the window menu and a window menu button is present, the window menu is automatically placed with its top-left corner at the bottom-left corner of the window menu button for the client window. If no window menu button is present, the window menu is placed at the top-left corner of the client window.
f.prev_cmap
This function installs the previous colormap in the list of colormaps for the window with the colormap focus.
f.prev_key [icon | window | transient]
This function sets the keyboard input focus to the previous window/icon in the set of windows/icons managed by the workspace manager (the ordering of this set is based on the stacking of windows on the screen). This function is treated as f.nop if keyboardFocusPolicy is not explicit. The keyboard input focus is only moved to windows that do not have an associated secondary window that is application modal. If the transient argument is specified, then transient (secondary) windows are traversed (otherwise, if only window is specified, traversal is done only to the last focused window in a transient group). If an icon function argument is specified then the function applies only to icons. If an window function argument is specified then the function applies only to windows.
f.prev_workspace
This function causes the workspace manager to switch to the previous workspace. If you’re viewing the first workspace, the switch occurs to the last workspace.
f.quit_vuewm
This function terminates vuewm (but NOT the X window system).
f.raise [-client]
This function raises a client window to the top of the window stack (where it is obscured by no other window). Secondary windows (i.e. transient windows) are restacked with their associated primary window. The client argument indicates the name or class of a client to raise. If the client argument is not specified then the context that the function was invoked in indicates the window or icon to raise.
f.raise_lower
This function raises a client window to the top of the window stack if it is partially obscured by another window, otherwise it lowers the window to the bottom of the window stack. Secondary windows (i.e. transient windows) are restacked with their associated primary window.
f.refresh
This function causes all windows to be redrawn.
f.refresh_win
This function causes a client window to be redrawn.
f.remove
This function causes a client window to be removed from the current workspace. If the client window exists only in this workspace, no action will occur.
f.resize
This function allows a client window to be interactively resized.
f.restart
This function causes vuewm to be restarted (effectively terminated and re-executed).
f.send_msg message_number
This function sends a client message of the type _MOTIF_WM_MESSAGES with the message_type indicated by the message_number function argument. The client message will only be sent if message_number is included in the client’s _MOTIF_WM_MESSAGES property. A menu item label is grayed out if the menu item is used to do f.send_msg of a message that is not included in the client’s _MOTIF_WM_MESSAGES property.
f.separator
This function causes a menu separator to be put in the menu pane at the specified location (the label is ignored).
f.set_behavior
This function causes the workspace manager to restart with the default behavior (if a custom behavior is configured) or a custom behavior (if a default behavior is configured).
f.titleThis function inserts a title in the menu pane at the specified location.
f.toggle_frontpanel
This function causes the front panel component of the workspace manager to be minimized or, alternately, normalized.
f.version
This function causes the workspace manager to display its release version in a dialog box.
f.workspace_presence
This function posts the workspace presence dialog box. This allows you to view and set the workspace in which a particular window resides. The root context is disallowed for this function.
f.workspace_rename
This function posts the workspace rename dialog box. This allows you to rename the current workspace.
Each function may be constrained as to which resource types can specify the function (e.g., menu pane) and also what context the function can be used in (e.g., the function is done to the selected client window). Function contexts are
root No client window or icon has been selected as an object for the function.
window A client window has been selected as an object for the function. This includes the window’s title bar and frame. Some functions are applied only when the window is in its normalized state (e.g., f.maximize) or its maximized state (e.g., f.normalize).
icon An icon has been selected as an object for the function.
If a function is specified in a type of resource where it is not supported or is invoked in a context that does not apply then the function is treated as f.nop. The following table indicates the resource types and function contexts in which workspace manager functions apply.
| Function | Contexts | Resources |
| f.action | root,icon,window | button,key,menu |
| f.beep | root,icon,window | button,key,menu |
| f.circle_down | root,icon,window | button,key,menu |
| f.circle_up | root,icon,window | button,key,menu |
| f.exec | root,icon,window | button,key,menu |
| f.focus_color | root,icon,window | button,key,menu |
| f.focus_key | root,icon,window | button,key,menu |
| f.goto_workspace | root,icon,window | button,key,menu |
| f.kill | icon,window | button,key,menu |
| f.lower | root,icon,window | button,key,menu |
| f.maximize | icon,window(normal) | button,key,menu |
| f.menu | root,icon,window | button,key,menu |
| f.minimize | window | button,key,menu |
| f.move | icon,window | button,key,menu |
| f.next_cmap | root,icon,window | button,key,menu |
| f.next_key | root,icon,window | button,key,menu |
| f.next_workspace | root,icon,window | button,key,menu |
| f.nop | root,icon,window | button,key,menu |
| f.normalize | icon,window(maximized) | button,key,menu |
| f.normalize_and_raise | icon,window | button,key,menu |
| f.occupy_all | icon, window | button,key,menu |
| f.pack_icons | root,icon,window | button,key,menu |
| f.pass_keys | root,icon,window | button,key,menu |
| f.post_wmenu | root,icon,window | button,key |
| f.prev_cmap | root,icon,window | button,key,menu |
| f.prev_key | root,icon,window | button,key,menu |
| f.prev_workspace | root,icon,window | button,key,menu |
| f.quit_vuewm | root | button,key,menu |
| f.raise | root,icon,window | button,key,menu |
| f.raise_lower | icon,window | button,key,menu |
| f.refresh | root,icon,window | button,key,menu |
| f.refresh_win | window | button,key,menu |
| f.remove | root,icon,window | button,key,menu |
| f.resize | window | button,key,menu |
| f.restart | root | button,key,menu |
| f.send_msg | icon,window | button,key,menu |
| f.separator | root,icon,window | menu |
| f.set_behavior | root,icon,window | button,key,menu |
| f.title | root,icon,window | menu |
| f.toggle_frontpanel | root,icon,window | button,key,menu |
| f.version | root,icon,window | button,key,menu |
| f.workspace_presence | window | button,key,menu |
| f.workspace_rename | root,icon,window | button,key,menu |
WORKSPACE MANAGER EVENT SPECIFICATION
Events are indicated as part of the specifications for button and key binding sets, and menu panes.
Button events have the following syntax:
| button = | [modifier_list]<button_event_name> |
| modifier_list = | modifier_name {modifier_name} |
All modifiers specified are interpreted as being exclusive (this means that only the specified modifiers can be present when the button event occurs). The following table indicates the values that can be used for modifier_name. The [Alt] key is frequently labeled [Extend] or [Meta]. Alt and Meta can be used interchangeably in event specification.
| Modifier | Description |
| Shift | Shift Key |
| Alt | Alt/Meta Key |
| Meta | Meta/Alt Key |
| Lock | Lock Key |
| Mod1 | Modifier1 |
| Mod2 | Modifier2 |
| Mod3 | Modifier3 |
| Mod4 | Modifier4 |
| Mod5 | Modifier5 |
The following table indicates the values that can be used for button_event_name.
| Button | Description |
| Btn1Up | Button 1 Release |
| Btn1Click | Button 1 Press and Release |
| Btn1Click2 | Button 1 Double Click |
| Btn2Down | Button 2 Press |
| Btn2Up | Button 2 Release |
| Btn2Click | Button 2 Press and Release |
| Btn2Click2 | Button 2 Double Click |
| Btn3Down | Button 3 Press |
| Btn3Up | Button 3 Release |
| Btn3Click | Button 3 Press and Release |
| Btn3Click2 | Button 3 Double Click |
| Btn4Down | Button 4 Press |
| Btn4Up | Button 4 Release |
| Btn4Click | Button 4 Press and Release |
| Btn4Click2 | Button 4 Double Click |
| Btn5Down | Button 5 Press |
| Btn5Up | Button 5 Release |
| Btn5Click | Button 5 Press and Release |
| Btn5Click2 | Button 5 Double Click |
Key events that are used by the workspace manager for menu mnemonics and for binding to workspace manager functions are single key presses; key releases are ignored. Key events have the following syntax:
| key = | [modifier_list]<Key>key_name |
| modifier_list = | modifier_name {modifier_name} |
All modifiers specified are interpreted as being exclusive (this means that only the specified modifiers can be present when the key event occurs). Modifiers for keys are the same as those that apply to buttons. The key_name is an X11 keysym name. Keysym names can be found in the keysymdef.h file (remove the XK_ prefix).
BUTTON BINDINGS
The buttonBindings resource value is the name of a set of button bindings that are used to configure workspace manager behavior. A workspace manager function can be done when a button press occurs with the pointer over a framed client window, an icon or the root window. The context for indicating where the button press applies is also the context for invoking the workspace manager function when the button press is done (significant for functions that are context sensitive).
The button binding syntax is
Buttons bindings_set_name
{
button context function
button context function
.
.
button context function
}
The syntax for the context specification is
| context = | object[|context] |
| object = | root | icon | window | title | frame | border | app |
The context specification indicates where the pointer must be for the button binding to be effective. For example, a context of window indicates that the pointer must be over a client window or window management frame for the button binding to be effective. The frame context is for the window management frame around a client window (including the border and titlebar), the border context is for the border part of the window management frame (not including the titlebar), the title context is for the title area of the window management frame, and the app context is for the application window (not including the window management frame).
If an f.nop function is specified for a button binding, the button binding will not be done.
KEY BINDINGS
The keyBindings resource value is the name of a set of key bindings that are used to configure workspace manager behavior. A window manager function can be done when a particular key is pressed. The context in which the key binding applies is indicated in the key binding specification. The valid contexts are the same as those that apply to button bindings.
The key binding syntax is
Keys bindings_set_name
{
key context function
key context function
.
.
key context function
}
If an f.nop function is specified for a key binding, the key binding will not be done. If an f.post_wmenu or f.menu function is bound to a key, vuewm will automatically use the same key for removing the menu from the screen after it has been popped up.
The context specification syntax is the same as for button bindings. For key bindings, the frame, title, border, and app contexts are equivalent to the window context. The context for a key event is the window or icon that has the keyboard input focus (root if no window or icon has the keyboard input focus).
MENU PANES
Menus can be popped up using the f.post_wmenu and f.menu workspace manager functions. The context for workspace manager functions that are done from a menu is root, icon or window depending on how the menu was popped up. In the case of the window menu or menus popped up with a key binding, the location of the keyboard input focus indicates the context. For menus popped up using a button binding, the context of the button binding is the context of the menu.
The menu pane specification syntax is
Menu menu_name
{
label [mnemonic] [accelerator] function
label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function
}
Each line in the Menu specification identifies the label for a menu item and the function to be done if the menu item is selected. Optionally a menu button mnemonic and a menu button keyboard accelerator may be specified. Mnemonics are functional only when the menu is posted and keyboard traversal applies.
The label may be a string or a bitmap file. The label specification has the following syntax:
| label = | text | bitmap_file |
| bitmap_file = | @file_name |
| text = | quoted_item | unquoted_item |
The string encoding for labels must be compatible with the menu font that is used. Labels are greyed out for menu items that do the f.nop function or an invalid function or a function that doesn’t apply in the current context.
A mnemonic specification has the following syntax
| mnemonic = | _character |
The first matching character in the label is underlined. If there is no matching character in the label, no mnemonic is registered with the workspace manager for that label. Although the character must exactly match a character in the label, the mnemonic will not execute if any modifier (such as Shift) is pressed with the character key. The accelerator specification is a key event specification with the same syntax as is used for key bindings to workspace manager functions.
FRONT PANEL CONTENT AND LAYOUT
The resource description file enables you to specify the content and layout of the front panel, including the number of controls, their size and arrangment within the front panel, and their operation.
The layout is arranged horizontally, in terms of rows of controls.
The front panel specification syntax is demonstrated in the sys.vuewmrc system file included in the /usr/lib/X11/vue/Vuewm directory.
ERRORS
Errors that occur as a result of parsing or trying to use the resource description file will be reported to a log file under your home directory: $HOME/.vue/errorlog. Be sure to check this text file if the appearance or behavior of vuewm is not what you expect.
FILES
$HOME/.vue/$LANG/vuewmrc
$HOME/.vue/vuewmrc
/usr/lib/X11/vue/Vuewm/$LANG/sys.vuewmrc
/usr/lib/X11/vue/Vuewm/sys.vuewmrc
$HOME/.vue/errorlog
COPYRIGHT
(c) Copyright 1989, 1990 by Open Software Foundation, Inc.
(c) Copyright 1987, 1988, 1989, 1990 by Hewlett-Packard Company
All rights reserved.
AUTHOR
The OSF/HP Motif Window Manager and the Hewlett-Packard Visual User Environment Window Manager were developed by HP.
ORIGIN
Hewlett-Packard Company ITO
SEE ALSO
Hewlett-Packard Company — HP VUE 2.0 (8/90)