4:mwmrc

From Linux Man Pages

Jump to: navigation, search
      mwmrc -- the Motif Window Manager Resource Description File
      

Contents

DESCRIPTION

      The  mwmrc  file  is a supplementary resource file that controls much of the behavior of the Motif window manager
      mwm.  It contains descriptions of resources that cannot easily be written using standard X Window System, Version
      11  resource  syntax.  The  resource  description  file  contains  entries that are referred to by X resources in
      defaults files (for example, /usr/X11R6/lib/X11/app-defaults/Mwm) or in the RESOURCE_MANAGER property on the root
      window.  For  example, the resource description file enables you to specify different types of window menus; how-
      ever, an X resource is used to specify which of these window menus mwm should use for a particular window.

Location

      The window 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/$LANG/.mwmrc
      $HOME/.mwmrc
      /usr/X11R6/lib/X11/$LANG/system.mwmrc
      /usr/X11R6/lib/X11/system.mwmrc
 
      The first file found is the first used. If no file is found, a set of built-in specifications is used. A particu-
      lar 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/X11R6/bin/X11/mwm -xrm "mwm*configFile: mymwmrc"

Resource Types

      The following types of resources can be described in the mwm resource description file:
 
      Buttons   Window manager functions can be bound (associated) with button events.
 
      Keys      Window 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 bind-
                ings.

MWM RESOURCE DESCRIPTION FILE SYNTAX

      The mwm 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 (for example, the comment character can be quoted to prevent it from being interpreted as the com-
      ment character).  A quoted item can be contained in double quotes (" ").  Single characters can be quoted by pre-
      ceding them by the back-slash character (\). If a line ends with a back-slash, the next line is considered a con-
      tinuation  of  that  line. 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.

Window Manager Functions

      Window  manager  functions can be accessed with button and key bindings, and with window manager menus. Functions
      are indicated as part of the specifications for button and key binding sets, and menu panes. The function  speci-
      fication has the following syntax:
 
      function = function_name [function_args]
      function_name = window 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 mwm as f.nop.
 
      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 (that is, 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 speci-
                fied 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 win-
                dows  and icons, or that are obscured by other windows and icons. Secondary windows (that is, 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 command (or ! command)
                This function causes command to be executed (using the value of the  $MWMSHELL  or  $SHELL  environment
                variable if 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 mwm 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.kill    This function is used to close application windows. The actual processing that occurs  depends  on  the
                protocols that the application observes. The application lists the protocols it observes in the WM_PRO-
                TOCOLS property on its top level window. If the application observes the WM_DELETE_WINDOW protocol,  it
                is sent a message that requests the window be deleted.  If the application observes both WM_DELETE_WIN-
                DOW and WM_SAVE_YOURSELF, it is sent one message requesting the window be deleted and  another  message
                advising  it  to  save its state. If the application observes only the WM_SAVE_YOURSELFprotocol , it is
                sent a message advising it to save its state. After a delay (specified by  the  resource  quitTimeout),
                the  application's  connection  to  the  X server is terminated. If the application observes neither of
                these protocols, its connection to the X server is terminated.
 
      f.lower [- client | within | freeFamily]
                This function lowers a primary window to the bottom of the global window stack (where  it  obscures  no
                other  window)  and lowers the secondary window (transient window or dialog box) within the client fam-
                ily. The arguments to this function are mutually exclusive. The client argument indicates the  name  or
                class  of  a  client  to  lower.  The name or class of a client appears in the WM_CLASS property on the
                client's top-level window. If the client argument is not specified, the context that the  function  was
                invoked  in indicates the window or icon to lower. Specifying within lowers the secondary window within
                the family (staying above the parent) but does not lower the client family in the global window  stack.
                Specifying freeFamily lowers the window to the bottom of the global windows stack from its local family
                stack.
 
      f.maximize
                This function causes a client window to be displayed with its maximum size. Refer to the maximumClient-
                Size, maximumMaximumSize, and limitResize resources in mwm(1).
 
      f.menu menu_name
                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 (that
                is, 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 initiates an interactive move of a client window.
 
      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  window  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.nop     This function does nothing.
 
      f.normalize
                This  function causes a client window to be displayed with its normal size. Secondary windows (that is,
                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  (that is, transient windows) are placed in their normal state along
                with their associated primary window.
 
      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 window manager func-
                tions. When it disables key binding processing all keys are passed on to the window with  the  keyboard
                input  focus and no window 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 window 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 (oth-
                erwise, 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.quit_mwm
                This function terminates mwm (but NOT the X window system).
 
      f.raise [-client | within | freeFamily]
                This function raises a primary window to the top of the global window stack (where it is obscured by no
                other  window)  and raises the secondary window (transient window or dialog box) within the client fam-
                ily. The arguments to this function are mutually exclusive. The client argument indicates the  name  or
                class  of  a client to lower. If the client is not specified, the context that the function was invoked
                in indicates the window or icon to lower. Specifying within raises the secondary window within the fam-
                ily  but  does not raise the client family in the global window stack. Specifying freeFamily raises the
                window to the top of its local family stack and raises the family to  the  top  of  the  global  window
                stack.
 
      f.raise_lower [ within | freeFamily]
                This function raises a primary window to the top of the global window stack if it is partially obscured
                by another window; otherwise, it lowers the window to the bottom of the window stack. The arguments  to
                this  function  are  mutually  exclusive. Specifying within raises a secondary window within the family
                (staying above the parent window), if it is partially obscured by another window in  the  application's
                family;  otherwise,  it  lowers  the  window to the bottom of the family stack. It has no effect on the
                global window stacking order. Specifying freeFamily raises the window to the top of  its  local  family
                stack, if obscured by another window, and raises the family to the top of the global window stack; oth-
                erwise, it lowers the window to the bottom of its local family stack and lowers the family to the  bot-
                tom of the global window stack.
 
      f.refresh This function causes all windows to be redrawn.
 
      f.refresh_win
                This function causes a client window to be redrawn.
 
      f.resize  This function initiates an interactive resize of a client window.
 
      f.restore This  function  restores  the  previous state of an icon's associated window.  If a maximized window is
                iconified, then f.restore restores it to its maximized state. If a normal  window  is  iconified,  then
                f.restore restores it to its normalized state.
 
      f.restore_and_raise
                This  function  restores the previous state of an icon's associated window and raises the window to the
                top of the window stack. If a maximized window is iconified, then f.restore_and_raise  restores  it  to
                its maximized state and raises it to the top of the window stack. If a normal window is iconified, then
                f.restore_and_raise restores it to its normalized state and raises it to the top of the window stack.
 
      f.restart This function causes mwm to be restarted (effectively terminated and re-executed). Restart is necessary
                for mwm to incorporate changes in both the mwmrc file and X resources.
 
      f.screen [ next | prev | back | screen_number]
                This  function  causes  the pointer to be warp to a specific screen number or to the next, previous, or
                last visited (back) screen. The arguments to this function are mutually  exclusive.  The  screen_number
                argument  indicates  the  screen number that the pointer is to be warped. Screens are numbered starting
                from screen 0. Specifying next cause the pointer to warp to the next managed screen (skipping over  any
                unmanaged  screens). Specifying prev cause the pointer to warp to the previous managed screen (skipping
                over any unmanaged screens). Specifying back cause the pointer to warp to the last visited screen.
 
      f.send_msg message_number
                This function sends an XClientMessageEvent of type _MOTIF_WM_MESSAGES with  message_type  set  to  mes-
                sage_number.   The  client  message  is  sent  only  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 window manager to restart with the default behavior (if a custom  behavior  is
                configured)  or  a  custom  behavior (if a default behavior is configured). By default this is bound to
                Shift Ctrl Alt <Key>!.
 
      f.title   This function inserts a title in the menu pane at the specified location.
 
      f.version This function causes the window manager to display its release version in a dialog box.

Function Constraints

      Each function may be constrained as to which resource types can specify the function (for example, menu pane) and
      also  what context the function can be used in (for example, 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 (for example,
                f.maximize) or its maximized state (for example, 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 window manager functions apply.
 
      tab();  lw(2.289841i)  lw(1.851594i)  lw(1.358566i).   FunctionContextsResources   _   f.beeproot,icon,windowbut-
      ton,key,menu   f.circle_downroot,icon,windowbutton,key,menu   f.circle_uproot,icon,windowbutton,key,menu  f.exec-
      root,icon,windowbutton,key,menu   f.focus_colorroot,icon,windowbutton,key,menu    f.focus_keyroot,icon,windowbut-
      ton,key,menu  f.killicon,windowbutton,key,menu  f.lowerroot,icon,windowbutton,key,menu f.maximizeicon,window(nor-
      mal)button,key,menu f.menuroot,icon,windowbutton,key,menu  f.minimizewindowbutton,key,menu  f.moveicon,windowbut-
      ton,key,menu    f.next_cmaproot,icon,windowbutton,key,menu    f.next_keyroot,icon,windowbutton,key,menu    f.nop-
      root,icon,windowbutton,key,menu  f.normalizeicon,window(maximized)button,key,menu  f.normalize_and_raiseicon,win-
      dowbutton,key,menu     f.pack_iconsroot,icon,windowbutton,key,menu     f.pass_keysroot,icon,windowbutton,key,menu
      f.post_wmenuroot,icon,windowbutton,key f.prev_cmaproot,icon,windowbutton,key,menu  f.prev_keyroot,icon,windowbut-
      ton,key,menu  f.quit_mwmrootbutton,key,menu  (root  only)  f.raiseroot,icon,windowbutton,key,menu f.raise_loweri-
      con,windowbutton,key,menu       f.refreshroot,icon,windowbutton,key,menu       f.refresh_winwindowbutton,key,menu
      f.resizewindowbutton,key,menu   f.restartrootbutton,key,menu   (root   only)  f.restoreicon,windowbutton,key,menu
      f.restore_and_raiseicon,windowbutton,key,menu  f.screenroot,icon,windowbutton,key,menu  f.send_msgicon,windowbut-
      ton,key,menu  f.separatorroot,icon,windowmenu f.set_behaviorroot,icon,windowbutton,key,menu f.titleroot,icon,win-
      dowmenu f.versionroot,icon,windowbutton,key,menu

WINDOW 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}
 
      The  following  table  indicates the values that can be used for modifier_name. Note that [Alt] and [Meta] can be
      used interchangably on some hardware.
 
      tab(); lw(1.097588i) lw(4.402412i).  ModifierDescription _ CtrlControl Key ShiftShift Key AltAlt Key MetaMeta Key
      Mod1Modifier1 Mod2Modifier2 Mod3Modifier3 Mod4Modifier4 Mod5Modifier5
 
      Locking  modifiers  are ignored when processing button and key bindings.  The following table lists keys that are
      interpreted as locking modifiers.  The X server may map some of these symbols to the Mod1 - Mod5  modifier  keys.
      These  keys  may  or  may  not  be available on your hardware: Key Symbol Caps Lock Shift Lock Kana Lock Num Lock
      Scroll Lock The following table indicates the values that can be used for button_event_name.
 
      tab(); lw(1.290570i) lw(4.209430i).  ButtonDescription _ Btn1DownButton 1 Press Btn1UpButton 1 Release Btn1Click-
      Button  1  Press  and  Release  Btn1Click2Button  1  Double  Click  Btn2DownButton 2 Press Btn2UpButton 2 Release
      Btn2ClickButton 2 Press and Release Btn2Click2Button 2 Double Click Btn3DownButton 3 Press Btn3UpButton 3 Release
      Btn3ClickButton 3 Press and Release Btn3Click2Button 3 Double Click Btn4DownButton 4 Press Btn4UpButton 4 Release
      Btn4ClickButton 4 Press and Release Btn4Click2Button 4 Double Click Btn5DownButton 5 Press Btn5UpButton 5 Release
      Btn5ClickButton 5 Press and Release Btn5Click2Button 5 Double Click
 
      Key events that are used by the window manager for menu mnemonics and for binding to window 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 window  man-
      ager  behavior.   A window 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 window 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 win-
      dow  management frame (not including the titlebar), the title context is for the title area of the window manage-
      ment 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 is not done.

KEY BINDINGS

      The  keyBindings  resource  value  is the name of a set of key bindings that are used to configure window 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 is not done. If an  f.post_wmenu  or  f.menu
      function  is  bound  to a key, mwm automatically uses 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 with  one  addition.  The
      context  ifkey  may  be  specified for binding keys that may not be available on all displays.  If the key is not
      available and if ifkey is in the context, then reporting of the error message to the  error  log  is  suppressed.
      This feature is useful for networked, heterogeneous environments. 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 window manager functions. The context for window 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 window manager for that label. Although the character must exactly match a char-
      acter in the label, the mnemonic does 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 window manager functions.

INCLUDING FILES

      You may include other files into your mwmrc file by using the include construct. For example,
 
      INCLUDE
      {
          /usr/local/shared/mwm.menus
          /home/kmt/personal/my.bindings
      }
 
      causes the files named to be read in and interpreted in order as an additional part of the mwmrc file. Include is
      a top-level construct. It cannot be nested inside another construct.

WARNINGS

      Errors that occur during the processing of the resource description file are recorded in: $HOME/.mwm/errorlog. Be
      sure to check this file if the appearance or behavior of mwm is not what you expect.

FILES

      $HOME/$LANG/.mwmrc
      $HOME/.mwmrc
      /usr/X11R6/lib/X11/$LANG/system.mwmrc
      /usr/X11R6/lib/X11/system.mwmrc

RELATED INFORMATION

      mwm(1), X(1).


                                                          mwmrc(special file)

CATEGORY

Personal tools