7.5. Window Manager 'Events'   

The next frame indicates the format of the key, button and menu binding file for the 4Dwm Window Manager on SGs. This file is normally $HOME/.4Dwmrc It indicates the format of the "function action" pairs. It is typical of the Motif Window Manager. This is the main way of tailoring your window environment - keys may be changed, keys may be programmed to do various things in conjunction with mouse button events. These Motif events "f.xxxx" are used to propagate real events to the user and his/her environment. For example, it is possible to tie the user pressing the middle mouse button when the cursor is in the root window, to executing some utility program! Therefore the following Window Manager functions such as f.exec, f.kill, etc should be understood.

A similar mechanism is used in other Window Managers - see the equivalent file for the X11R5 distribution in a later frame.


    ############################################################################

#
# NAME
# $HOME/.4Dwmrc - sample file for customizing menus, key and button bindings
#
# DESCRIPTION
#
# The .4Dwmrc file can be used to customize:
# 1) What happens when specific KEY and MOUSE BUTTONS are pressed when the
# pointer is over any part of the screen
# (e.g., the root window, a window's frame, an icon, etc.).
# 2) What items appear in the WINDOW MENU.
# 3) What items appear in the ROOT MENU--the pop-up menu that appears
# when you press a mouse button over an any part of the root window.
#
# REFERENCES
#
# 1) 4Dwm(1X)
# 2) mwm(1X)
# 3) "OSF/Motif Programmer's Guide" (especially Part II, Motif Window Manager,
# Chapter 5, Managing Menus, Mouse Buttons, and Keyboard Bindings)
# 4) O'Reilly, Vol. 3, Part 4, Appendix C, the OSF/Motif Window Manager
# pp. 610-629, 3rd Edition, May 1990
#
############################################################################
############################################################################
#
# Menu Pane Description
#
# The following 5 menu definitions (starting 70 lines below) demonstrate
# various customizations one can specify for their own menu set.
#
# The syntax for this type of structure is as follows:
#
# menu menu_name
# {
# label [mnemonic] [accelerator] function
# .
# .
# label [mnemonic] [accelerator] function
# }
#
# The entries above are defined as:
#
# label this string appears as a selectable menu item. If the string
# "no-label" is specifed here, 4Dwm will place a "separator"
# (horizontal bar) in the menu to separate other labels.
#
# mnemonic a character which, if pressed while the menu is active,
# will select the associated menu item.
#
# accelerator a key sequence which activates a window manager function
#
# function an action which the window manager can perform the following
# functions are used in this file:
#
# f.exec causes the command following it to be executed
# (using the value of the MWMSHELL environment
# variable if it is set, otherwise the value of the SHELL
# environment variable if it is set, otherwise /bin/sh).
#
# f.kill ends execution of a client.
#
# f.lower pushes a client window to the bottom of the window stack.
#
# f.maximize causes a client window to be displayed with its maximum size
# (in most cases this means make the window fill the screen).
#
# f.menu associates a pull-right or roll-over 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 causes a client window to be iconified or stowed.
#
# f.move causes a client window to be interactively moved.
#
# f.normalize causes a client window to be displayed with its normal
# (de-iconified or de-maximized) size.
#
# f.post_wmenu posts 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.quit_apps ends execution of the current application.
#
# f.quit_mwm ends execution of the 4Dwm window manager
# (but NOT the X Window System.)
#
# f.raise pops a client window to the top of the window stack.
#
# f.restart causes 4Dwm to be restarted (effectively sending terminate and
# re-execute commands sequences to the X server).
#
# f.refresh causes all windows to be redrawn.
#
# f.resize causes a client window to be interactively resized.
#
# f.separator causes a menu separator to be drawn in the menu at the specified
# location (the label is ignored).
#
# f.title inserts a title in the menu at the specified location.
#
############################################################################