dtwmrc(4)

dtwmrc - the dtwm Window Manager Resource Description File

As shipped in IRIX 6.5.30. Added in IRIX 6.5.19.

     NAME
          dtwmrc - the dtwm Window Manager Resource Description File

     DESCRIPTION
          The dtwmrc window manager is a supplementary resource file
          that controls much of the behavior of the CDE window manager
          dtwm.  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/dt/app-defaults/$LANG/Dtwm) 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; however, an X
          resource is used to specify which of these window menus the
          dtwm should use for a particular window.

          The specifications of the resource description file
          supported by the dtwm workspace manager are a strict
          superset of the specifications supported by the OSF Motif
          Window Manager (mwm 1.2.4).  In other words, the
          system.mwmrc or $HOME/.mwmrc file that you've used for mwm
          is easily made usable by dtwm.

          To merge your personal mwm resource specifications into
          dtwm:

             o       Copy either /etc/dt/config/$LANG/sys.dtwmrc or
                     /usr/dt/config/$LANG/sys.dtwmrc to
                     $HOME/.dt/dtwmrc.

             o       Use a text editor to move menu definitions, key
                     bindings, and button bindings from your .mwmrc
                     file to your dtwmrc file.  To merge your key and
                     button bindings, you'll need to augment the key
                     and button bindings that are referenced by dtwm
                     by default (refer to buttonBindings and
                     keyBindings resources in the dtwm app-defaults
                     file /usr/dt/app-defaults/$LANG/Dtwm).  To
                     replace the key or button bindings, you'll also
                     need to modify your personal keyBindings and
                     buttonBindings resources.

             o       Restart dtwm.

        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/.dt/$LANG/dtwmrc
          $HOME/.dt/dtwmrc
          /etc/dt/config/$LANG/sys.dtwmrc
          /etc/dt/config/sys.dtwmrc
          /usr/dt/config/$LANG/sys.dtwmrc
          /usr/dt/config/sys.dtwmrc

          The first file found is the first used.
          If no file is found, a set of built-in specifications is
          used.

          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/dt/bin/dtwm -xrm "Dtwm*configFile: mydtwmrc"

        Resource Types
          The following types of resources can be described in the
          dtwm 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.

     DTWM RESOURCE DESCRIPTION FILE SYNTAX
          The dtwm 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 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.  If a line ends with a
          back-slash, the next line is considered a continuation 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.

        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 dtwm 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 (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 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
                            (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.create_workspace
                            This function creates a new workspace.
                            The new workspace name is generated
                            automatically and is of the form ws_n
                            where n is an integer.

             f.delete_workspace
                            This function deletes the current
                            workspace.  Windows that reside only in
                            this workspace will be moved to the next
                            workspace.  If the last workspace is being
                            deleted, then windows will be moved to the
                            first workspace.

             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, /usr/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 dtwm 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 workspace
                            This function causes the workspace manager
                            to switch to the workspace named by
                            workspace.  If no workspace exists by the
                            specified name, then no action occurs.
                            Note that adding and deleting workspaces
                            dynamically and affect this function.
             f.help [topic [volume]]
                            This function displays help on the
                            specified topic and volume.  If no volume
                            is given, then the workspace manager
                            volume is assumed.  If no topic is given,
                            then help on the front panel is shown.

             f.help_mode    This function causes the workspace manager
                            to enter into help mode. In help mode, the
                            pointer changes shape to indicate that the
                            window manager is waiting for you to
                            select a front panel control.  Any help
                            defined for the control is then shown in a
                            help window.

             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_PROTOCOLS 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_WINDOW 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
                            family.  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.marquee_selection
                            This function is only useful in
                            conjunction with the CDE file manager (see
                            dtfile(1)).  It enables selection of file
                            manager objects that have been placed on
                            the root window.  It must be bound to a
                            button when used.

             f.maximize     This function causes a client window to be
                            displayed with its maximum size.  Refer to
                            the maximumClientSize, maximumMaximumSize,
                            and limitResize resources in dtwm(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 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 the
                            last workspace is currently active, then
                            this function will switch to the first
                            workspace.

             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.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
                            the first workspace is currently active,
                            then this function switches to the last
                            workspace.

             f.quit_mwm     This function terminates dtwm (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
                            family.  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 family 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; otherwise, it lowers the window to
                            the bottom of its local family stack and
                            lowers the family to the bottom 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.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 occurs.

             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.

             2f.restart     This function causes dtwm to be restarted
                            (effectively terminated and re-executed).
                            Restart is necessary for dtwm to
                            incorporate changes in both the dtwmrc
                            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 message_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 workspace 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.toggle_frontpanel
                            If the front panel is in the normal state,
                            this function causes it to be minimized.
                            If the front panel is minimized, this
                            function will change it to the normal
                            state.

             f.version      This function causes the workspace manager
                            to display its release version in a dialog
                            box.

             f.workspace_presence
                            This function displays the workspace
                            presence (or "Occupy Workspace") dialog
                            box.  This dialog allows you to view and
                            set the workspace in which a particular
                            window resides.  The root context is
                            disallowed for this function.

        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
          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.create_workspace      root,icon,window         button,key,menu
          f.delete_workspace      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.help                  root,icon,window         button,key,menu
          f.help_mode             root,icon,window         button,key,menu
          f.kill                  icon,window              button,key,menu
          f.lower                 root,icon,window         button,key,menu
          f.marquee_selection     root                     button
          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_dtwm             root                     button,key,menu (root only)
          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 (root only)
          f.restore               icon,window              button,key,menu
          f.restore_and_raise     icon,window              button,key,menu
          f.screen                root,icon,window         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

     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}

          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.

          ______________________
          Modifier   Description
          ______________________
          Ctrl       Control Key
          Shift      Shift Key
          Alt        Alt Key
          Meta       Meta Key
          Mod1       Modifier1
          Mod2       Modifier2
          Mod3       Modifier3
          Mod4       Modifier4
          Mod5       Modifier5

          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.

          _______________________________________
          Button       Description
          _______________________________________
          Btn1Down     Button 1 Press

          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 is not 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 is not done.  If an f.post_wmenu or f.menu function
          is bound to a key, dtwm 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
          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 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
          workspace manager functions.

     INCLUDING FILES
          You may include other files into your dtwmrc file by using
          the include construct.  For example,

               INCLUDE
               {
                   /usr/local/shared/dtwm.menus
                   /home/kmt/personal/my.bindings
               }

          causes the files named to be read in and interpreted in
          order as an additional part of the dtwmrc 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/.dt/errorlog. Be
          sure to check this file if the appearance or behavior of
          dtwm is not what you expect.

     FILES
          $HOME/.dt/$LANG/dtwmrc
          $HOME/.dt/dtwmrc
          /etc/dt/config/$LANG/sys.dtwmrc
          /etc/dt/config/sys.dtwmrc
          /usr/dt/config/$LANG/sys.dtwmrc
          /usr/dt/config/sys.dtwmrc
          $HOME/.dt/errorlog

     RELATED INFORMATION
          dtwm(1), mwm(1X), dtfile(1), X(1).