AWM(1) X Version 11 AWM(1) 23 July 1988 NAME awm - Window Manager X Client Application SYNOPSIS awm [ -f filename ] [ -e execfile ] [ -b ] [ -i ] DESCRIPTION The awm command is a window manager client application of the window server. It is heavily based on an earlier work by M. Gancarz of Digital Equipment Corporation (see the end of this document for appropriate acknowledgments). When awm is invoked, it traces a predefined search path to locate any awm startup files. If no startup files exist, awm initializes itself from a built-in default file. If startup files exist in any of the following locations, their contents are merged together to create awm's configuration. In the case of contention, the bindings in the last file found override previous specifications. Files in the awm search path are: $LIBDIR/awm/system.awmrc (where $LIBDIR is defined in awm's Makefile) $HOME/.awmrc To use only the settings defined in a single startup file, include the variables, resetbindings, resetmenus and resetgadgets at the top of that specific startup file. OPTIONS -f filename Names an alternate file as an awm startup file. -e execfile Names a file to exec (typically a shell script invoking other clients) after all startup files have been loaded. This is useful for minimizing the number of map/unmaps that occur when titlebars are added. -b Causes awm to ignore the system startup file. -i Causes awm to ignore $HOME/.awmrc. STARTUP FILE VARIABLES Variables are typically entered first, at the top of the startup file. Because of a merge with the resource manager, very few variables are set here now. The directives resetbindings, resetmenus and resetgadgets are still allowed, as are gadget declarations of the - 1 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 form: gadget[n]=expr Where n is a positive integer indicating the gadget to initialize and expr is one of the following: string or "string" [ ^ attributes ] Set the name of the gadget to string. The name will be painted in the gadget box with the gadget.font resource or an overriding font attribute (see below). string may contain embedded non- alphanumeric characters in the form of \# where # is one or more decimal digits (i.e. \54) or \c where c is a character in the standard C string literal set (i.e. n, r, t, f). This is useful if you've specified a gadget font with glyphs in it (such as cursor) and you want to paint a specific glyph from it in a gadget box. Many such glyphs are not represented by ascii characters. (string) [ ^ attributes ] Load a pixmap from the file named by string and tile the gadget with it (see also: path). Additional attributes may be specified after a '^' (caret) character in the form: offset|gravity|foreground|background|font Any omitted parameters will be set to default values. offset is an integer specifying how far to place this gadget from its nearest neighbor (or an edge). Default offset is gadget.pad, or 2 if gadget.pad is not defined. gravity is one of NoGravity, LeftGravity, RightGravity or CenterGravity. NoGravity specifies that the gadget is to be placed opposite of wherever the last gadget was placed. LeftGravity specifies that the gadget should stick to the left of the title bar, RightGravity to the right and CenterGravity to the center. foreground and background specify the colors used to tile the gadget or draw the text. font is the name of the font you want the gadget's name drawn in. This overrides the gadget.font setting for this gadget. The default values for attributes are 0, NoGravity, black (reverse: white) and white (reverse: black), the setting of gadget.font. - 2 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 It is important to note that in the absence of a gravity specification (i.e. we've defaulted to NoGravity), the window manager will automatically place a gadget on the side opposite of the last gadget placed. If it's the first gadget placed, it will go to the right. Thus in the absence of any gravity (or offset) specifications, the window manager will place gadgets in a right-left-right fashion until all gadgets have been placed. For example: gadget[0] = "die" gadget[1] = (resize.b) ^ 2 | red | orange gadget[2] = (iconbox.b) ^ | LeftGravity gadget[3] = "\56" ^ | LeftGravity | green | black | cursor These declarations will create 4 gadget boxes, situated in the following manner: The first gadget box will be created wide enough to print the word "die" in it (in whatever gadget font has been defined) and will be placed on the right side (since it hasn't chosen a gravity) against the edge (since it hasn't chosen an offset). Background and foreground colors will be black and white (assignment depending on whether reverse is set). The second gadget box will be tiled with the contents of the file "resize.b" (assuming that it's a valid bitmap file) and will go on the left side (since it also has no gravity and the last one went on the right). It will be offset from the edge by 2 pixels since there was an offset for it. Foreground will be red, background will be orange. The third gadget will be tiled with the contents of "iconbox.b" and will be placed against the second gadget on the left hand side since we specified a gravity. Colors will be black and white (depending on reverse). The fourth gadget will display glyph #56 from the cursor font in green and black (it's gumby of course). IMPORTANT: Gadgets may be declared in any order, but you are not allowed to leave gaps, i.e..it's perfectly acceptable to declare gadgets in the order 0, 2, 3, 1, but not legal to declare gadgets in the order 0, 3, 2, 4 as gadget #1 has been omitted. This restriction may be removed in the future, but for now you'll get a diagnostic and awm will exit. All other variables controlling window manager behavior are described in the X DEFAULTS section of this man page. - 3 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 BINDING SYNTAX Mouse buttons may be bound to particular window manager functions with: "function=[modifier key(s)]:[context]:mouse events:" menu name " or "function=[modifier key(s)]:[context]:mouse events:" text action " Function and mouse events are the only required fields. The menu name is required with the f.menu function definition only. Similarly, text action is required only with the f.action function definition. Function f.action Invokes a text action. `text' should be in quotes with a preceding "action" character (one of '^', '!' or '|'). The syntax is identical to menu text actions which are discussed in greater detail under the Menus section of this document. f.action=[modifier key(s)]:[context ]:mouse events:action" text " f.beep emits a beep from the keyboard. Loudness is determined by the volume variable. f.circledown causes the top window that is obscuring another window to drop to the bottom of the stack of windows. f.circleup exposes the lowest window that is obscured by other windows. f.continue releases the window server display action after you stop action with the f.pause function. f.destroy calls XKillClient on the selected window. Use with caution!! Binding it to naked mouse buttons is probably not a good idea! f.exit exits the window manager. If you've started awm from xinit (actually sort of useful now that the -e flag has been added), this will also exit the window system. f.focus directs all keyboard input to the selected window. To reset the focus to all windows, invoke f.focus from the root window. f.iconify When implemented from a window, this function converts the window to its respective icon. When implemented - 4 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 from an icon, f.iconify converts the icon to its respective window. f.lock locks the screen by displaying random (and somewhat pretty) patterns. The lock can be exited by typing in your password or pulling the power cord for your system out of its socket. f.lower lowers a window that is obstructing a window below it. f.menu invokes a menu. Enclose `menu name' in quotes if it contains blank characters or parentheses. f.menu=[modifier key(s)]:[context ]:mouse events:" menu name " f.move moves a window or icon to a new location, which becomes the default location. f.moveopaque moves a window or icon to a new screen location. When using this function, the entire window or icon is moved to the new screen location. The grid effect is not used with this function. f.neaten neatens the desktop using the RTL neaten package. See the X DEFAULTS for the resources necessary to customize this somewhat complex feature. This function only works if awm has been compiled with the -DNEATEN flag (which compiles in the neaten package). Invoking this function without this is a noop (though a warning diagnostic is printed to stderr). See the INSTALLATION section of the README document for more details. f.newiconify allows you to create a window or icon and then position the window or icon in a new default location on the screen. f.pause temporarily stops all display action. To release the screen and immediately update all windows, use the f.continue function. f.pushdown moves a window down. The distance of the push is determined by the push variables. f.pushleft moves a window to the left. The distance of the push is determined by the push variables. f.pushright moves a window to the right. The distance of the push is determined by the push variables. - 5 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 f.pushup moves a window up. The distance of the push is determined by the push variables. f.raise raises a window that is being obstructed by a window above it. f.refresh results in exposure events being sent to the window server clients for all exposed or partially exposed windows. The windows will not refresh correctly if the exposure events are not handled properly. f.resize resizes an existing window. Note that some clients, notably editors, react unpredictably if you resize the window while the client is running. f.restart causes the window manager application to restart, retracing the awm search path and initializing the variables it finds. f.[no]decorate adds or removes "decorations" on the selected window. What decorations are added (or deleted) depends on the settings of various booleans and client-specific resources (see: SPECIAL RESOURCES). The booleans titles, gadgets and borderContext.width currently influence awm's choice of default decorations. Modifier Keys It is preferable to use meta as a modifier key for awm (or any other window manager, for that matter), but one may also use ctrl, shift, lock, or null (no modifier key). Modifier keys must be entered in lower case, and can be abbreviated as: c, l, m, s for ctrl, lock, meta, and shift, respectively. It's also permissible to refer to the the modifier keys directly as "mod1, mod2, mod3, mod4 or mod5". A mouse button with no modifier key(s) is often referred to as a "naked" mouse button. You may bind any number of modifier keys to a function, use the bar (|) character to combine them. Context The context refers to the screen location of the cursor when a command is initiated. When you include a context entry in a binding, the cursor must be in that context or the function will not be activated. The window manager recognizes the following seven contexts: icon, window, root, title, gadget[n] (where n is the gadget number), border and (null). The icon context refers to any icon and may be safely bound without interfering with window events. - 6 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 The window context refers to application windows and should be used carefully to avoid usurping button events that applications may want for their own purposes. The root context refers to the root, or background window. The title context refers to the titlebar area of a window, if one exists. The gadget context (with mandatory index) specifies a given gadget box. Binding to a gadget that's undefined (not initialized to anything) is an error. The border context refers to the artificial border area created when the resource borderContext.width is defined (see borderContext.width under X DEFAULTS). Using this context when no border area exists (i.e. borderContext.width is not defined) is a noop. A (null) context is indicated when the context field is left blank, and allows a function to be invoked from any screen location. This is basically equivalent to specifying all the possible contexts. Combine contexts using the bar (|) character. Mouse Buttons Any of the following mouse buttons are accepted (in lower case) and may be abbreviated as l, m, or r, respectively: left, middle, right. With the specific button, you must identify the action of that button. Mouse actions can be: down function occurs when the specified button is pressed down. up function occurs when the specified button is released. delta indicates that the mouse must be moved the number of pixels specified with the delta variable before the specified function is invoked. The mouse can be moved in any direction to satisfy the delta requirement. MENU DEFINITION After binding a set of function keys and a menu name to f.menu, you must define the menu to be invoked, using the following syntax: menu = (string) " menu name " { "item name" : "action" . . . } - 7 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 The string in parenthesis is an optional argument which names a pixmap file (see also: path) to use as the menu title rather than just using the name of the menu. This is generally only useful if you're using pixmaps for the menu panes as well (see below). Though the menu name isn't displayed when you specify string, you still need to specify one for awm to use when looking up the binding to it. Enter the menu name exactly the way it is entered with the f.menu function or the window manager will not recognize the link. If the menu name contains blank strings, tabs or parentheses, it must be quoted here and in the f.menu function entry. If you haven't chosen to display a pixmap title in string, the menu name will be displayed at the top of the menu in whatever font has been chosen for menu.boldFont (or its default). You can enter as many menu items as your screen is long. You cannot scroll within menus. Any menu entry that contains quotes, special characters, parentheses, tabs, or strings of blanks must be enclosed in double quotes. Follow the item name by a colon (:). A special case is an item surrounded by parenthesis, which designates the item name as the name of a pixmap file to tile the menu pane with. Given a pixmap for the menu title as well (see above), it's possible to create menus that are totally pictorial in nature. There are, however, two caveats. Due to the fact that it's easier to do, the pixmaps are used as backgrounds for the menu panes rather than painting them on whenever a given pane in exposed. This has rather ugly consequences if one of the pixmaps (or a line of text if a pane is textual) is larger than the others. Since the server replicates pixmaps over the entire window, it results in a "wallpaper" effect on the smaller pixmaps. The solution is to make all the pixmaps the same size and/or not mix in any text items that will need a wider pane. The second problem is that the check marks and pull-right indicators are always displayed in fixed positions on the right and left edges of menu panes. If your pixmaps try to use this real-estate, they may be partially covered by a check mark or pull-right pixmap. Design your menus with this in mind. Menu Action Window manager functions Any function previously described, e.g., f.move or f.iconify. Using f.menu results in a pull-right pane which you can use to "walk" between menus (see below). A "walk" can be done by moving the cursor onto the pull-right arrow displayed at the right edge of the pane, or by clicking another button in the pane while holding the original one down. - 8 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 Walking menus Select the function f.menu and separate it from the menu name with a colon (:) i.e. menu = "foo" { Walking Menu: f.menu: "NextMenu" } Text actions There are two kinds of special "actions" involving arbitrary strings of text. These are: Shell commands Begin with an exclamation point (!) and set to run in background. You cannot include a new line character within a shell command. Text strings Text strings are placed in the window server's cut buffer. The strings must be preceeded by one of: A carat (^), which is stripped off, signifies that the string will automatically be followed by a newline (I.E using '^' causes one to be added at the end). A vertical bar (|), also stripped off, signifies the the string should not end with a newline. Booleans Any boolean variable previously described, e.g., reverse or autoraise. The current state of a boolean variable in a menu will be indicated with a check mark (a check mark means the boolean is set to true). Note that the boolean is *not* preceeded by "awm." as it is in the resource database. SPECIAL NOTE: Menus bound to title bars, gadget boxes or borders cause (where logical) the selected menu action to occur automatically on the client window as opposed to having to select a window for the action. However, actions requiring mouse tracking (i.e. move, resize) will usually not work well in this context. While this limitation will be eliminated in the near future, it is suggested that you use this feature to do things that do not require mouse tracking, such as raise, lower, iconify, etc. Color Defaults Colors default to the colors of the root window under any of the following conditions: - 9 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 1) If you run out of color map entries, either before or during an invocation of awm. 2) If you specify a foreground or background color that does not exist in the RGB color database ($LIBDIR/rgb.txt). 3) If you omit a foreground or background color. 4) If you specify no colors in the resource database. - 10 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 X DEFAULTS A number of variables that used to be specified in the .uwmrc file (of uwm, for those familiar with it) are now retrieved from the resource database. When a value cannot be found, a default (compiled into awm) is substituted. A much wider range of options can be specified this way and it is suggested that you read the following section carefully before bringing up awm. In the descriptions below, variable names are listed in boldface, their type in parenthesis, and their default value in double quotes. All resources are preceeded by an implied "awm.", as is the standard. I.E. "autoraise" would be specified as: "awm.autoraise: ..." in the resource database. autoraise (boolean) ``off'' Automatically raise a window to the top when it gains the input focus. See also: raiseDelay autoselect (boolean) ``off'' Specifies that the pointer be placed over the first item in a menu, rather than the title, when the menu is popped up. background (string) The default background color for all other color choices in awm. If reverse is not set, this defaults to white, otherwise it defaults to black. References to background in this document refer to this resource. border.foreground (boolean) ``foreground'' Specifies the border color to use for all windows (this color may be drawn solid or stippled, depending on the window focus and the setting of border.hilite). border.hilite (boolean) ``on'' Specifies whether or not window border colors are to be changed on focus changes. On focus in, the window border is changed to solid border.foreground. On focus out, it is changed to a "gray" stipple. borderContext.background (string) ``background'' Background color to use for border context pixmap. Value is meaningless if borderContext.width and borderContext.pixmap are undefined. borderContext.boldPixmap (string) ``none'' The name of a pixmap file to load and tile the border context area with when the focus is in. If this is defined, and hilite is set, focus changes will cause the border context background to alternate between borderContext.pixmap and borderContext.boldPixmap. If borderContext.boldPixmap is defined, - 11 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 but borderContext.pixmap is not, a blank pixmap will be used in place of borderContext.pixmap. borderContext.cursor (int) ``XC_cross'' Glyph (in decimal) to retrieve from cursor font for use in border context. borderContext.foreground (string) ``foreground'' Foreground color to use for border color pixmap. Value is meaningless if borderContext.width and borderContext.pixmap are undefined. borderContext.pixmap (string) ``background Pixmap to display as border context area background. Value is meaningless is borderContext.width is undefined (or set to zero). Used exclusively as the background unless borderContext.boldPixmap and hilite are defined. borderContext.width (int) ``0'' Number of pixels wide to make the border context. Though functions may be bound to the border context (see: Context) without setting this, they will be impossible to invoke due to the fact that there will be nothing to click on. The border context should not be confused with the actual window border. It is an artificial area around each window that resembles a border. delta (int) ``1'' Number of pixels that must be moved over before a "delta" action is taken (see: BINDING SYNTAX). foreground (string) The default foreground color for all other color choices in awm. If reverse is not set, this defaults to black, otherwise it defaults to white. References to foreground in this document refer to this resource. frameFocus (boolean) ``off'' [De]highlight when the pointer [leaves] enters the "frame" of the window (the frame includes the client window, title bar and border context areas, if present). Setting this option also causes the focus to follow the pointer so that keyboard input will go the the client regardless of where the pointer is in the "frame". freeze (boolean) ``off'' Lock out all other clients during certain window manager tasks, such as move and resize. gadget.border (int) ``1'' The width of all gadget borders in pixels. - 12 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 gadget.font (string) ``fixed'' Which font to use for (textual) gadget labels. gadget.pad (int) ``3'' The number of pixels to pad a gadget from its neighbor if it has no offset defined. gadgets (boolean) ``off'' Display gadgets in title bars, if any are declared. grid (boolean) ``off'' Display a finely ruled grid when positioning or resizing windows/icons. hilite (boolean) ``off'' Causes the following actions to occur when a window gains the input focus: 1. If showName is on: 1a. If title.boldFont is defined, the window name is redrawn in this font. 1b. If it's not, then the window name is redrawn in reverse video. 2. If title.boldPixmap is defined, the background of the title bar is set to it. 3. If borderContext.boldPixmap is defined, the background of the border context area is set to it. On focus out, the window name is redrawn in title.font the title background to title.pixmap and the border context to borderContext.pixmap, respectively. If border.hilite is undefined, this variable will set it automatically. Note that most icon variables only affect icons owned by awm. Except for foreground and background colors, client created icons are left alone. icon.background (string) ``background'' Icon (pixmap) background color. icon.backpixmap (string) ``grey'' Pixmap to display as icon background for text icons. Note that this pixmap is only used for "text" icons, I.E. icons in the uwm style of a line of editable text. This should typically be cross hatch pattern or some similar background weave that will be - 13 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 displayed surrounding the text. For "pictoral" icons, use icon.defpixmap. See also: path, icon.foreground, icon.background, icon.defpixmap. icon.border (string) ``icon.foreground'' Color to use for icon borders. icon.borderWidth (int) ``2'' Width of icon border in pixels. icon.defpixmap (string) ``xlogo'' For windows that don't specify their own pixmaps, use this image. This is only useful if icon.labels is turned on. icon.font (string) ``8x13'' Which font to use for icon text. icon.foreground (string) ``foreground'' Icon (pixmap) foreground color. icon.hPad (int) ``2'' Number of pixels to pad icon text horizontally. icon.labels (boolean) ``off'' Specifys that icons should be displayed in the "twm" style. I.E. The icon pixmap (or icon.defpixmap if the window has no icon pixmap) with the icon name displayed underneath (or above, if icon.labelTop is set). icon.labelTop (boolean) ``off'' Specifys that "labeled" icons should have the text portion displayed on top, rather than the bottom. Only useful if icon.labels is set. icon.vPad (int) ``2'' Number of pixels to pad icon text vertically. icon.text.background (string) ``icon.background'' Background color to use for icon text. icon.text.foreground (string) ``icon.foreground'' Foreground color to use for icon text. installColormap (boolean) ``false'' Install a given window's colormap when the pointer enters it. When the pointer leaves, the default colormap is installed. menu.background (string) ``background'' Menu background color. - 14 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 menu.boldFont (string) ``8x13bold'' Which font to use for (textual) menu panes. Currently, the only pane using this font is the title pane (unless, of course, it's a pixmap). menu.border (string) ``foreground'' Menu border color. menu.borderWidth (int) ``2'' Width of menu border in pixels. menu.delta (int) ``20'' Number of pixels to move on a "pull-right" pane before the submenu attached to it is popped up. menu.font (string) ``8x13'' Which font to use in (textual) menu panes. menu.foreground (string) ``foreground'' Menu foreground color. menu.itemBorder (int) ``1'' Width of individual (menu) item borders. menu.pad (int) ``2'' Number of pixels to pad menu text/pixmaps vertically. The following resources pertain only to the RTL Neaten package and are ignored if awm has not been compiled with that option (see the INSTALLATION file). neaten.absMinWidth (int) ``64'' Indicates the amount of space in pixels, that is used as the absolute minimum width of a window during the neaten operation. neaten.absMinHeight (int) ``64'' Indicates the amount of space in pixels, that is used as the absolute minimum height of a window during the neaten operation. neaten.retainSize (boolean) ``true'' Forces to windows to be at least their current size. Windows may overlap as a side effect. neaten.fill (boolean) ``true'' Allows windows to grow to their maximum size during the neaten operation. Normally a window will grow only to the maximum of its desired (based on the WM_NORMAL_HINTS property) and current size. neaten.fixTopOfStack (boolean) ``true'' Fixes the size and location of the window at the top of the - 15 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 window hierarchy. If necessary, this window will overlap even other windows which can not be tiled. neaten.keepOpen (boolean) ``true'' Constrains all windows to remain open during the neaten operation. No windows will be iconized. This operation may cause windows to overlap. neaten.usePriorities (boolean) ``true'' Assigns the windows priorities based on their stacking order (windows closer to the top in the stacking order are given higher priorities). Priorities are used when determining size and location of windows on the screen. neaten.primaryIconPlacement (string) ``Top'' Selects the side of the screen where icons are first placed. Legal values are: Top, Left, Bottom, Right and Closest (to its current position). neaten.secondaryIconPlacement (string) ``Left'' Determines where along the specified primary side the icon should be placed. Legal values are those for neaten.primaryIconPlacement plus Center. Not used if neaten.primaryIconPlacement is Closest normali (boolean) ``on'' Make sure that icons created with f.newiconify stay wholly within the root window (on screen), regardless of attempted placement. If off, put icons wherever the cursor is placed. normalw (boolean) ``on'' Make sure that windows mapped with f.newiconify are placed on- screen, regardless of cursor position. If off, put windows wherever the cursor is placed. path (string) ``null'' A number of items (titles, menus, etc) now allow you to specify a pixmap file, rather than just a text string to display. Since it would be tedious to type in full pathnames for these files if they all lived in the same places, the directory(s) named by path are searched if the pixmap file's pathname does not begin with a slash (/) or tilde (~) and is not found in the current directory. path is a white-space separated list of one or more directories to search, much like that used by the Unix C-shell. The ~ notation used to designate your (or someone else's) home directory is supported, but wildcards are not. popup.background (string) ``background'' Background color to use for pop-up text. - 16 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 popup.borderWidth (int) ``2'' Width of pop-up window border in pixels. popup.font (string) ``9x15'' Which font to use for popup window text. popup.foreground (string) `` Foreground color to use for pop-up text. popup.pad (int) ``4'' Number of pixels to pad pop-up text horizontally. pushRelative (boolean) ``on'' When a window is pushed, push 1/push of the window. If off, move window push pixels. raiseDelay (int) ``100'' Amount of time in milliseconds to wait (while window has focus) before raising. If pointer leaves window before time elapses, raise is not performed. reverse (boolean) ``on'' Reverse background/foreground colors for titles, menus, gadget windows, popup windows, etc. In the absence of any color specifications, this results in black-on-white. rootResizeBox (boolean) ``on'' Put the resize (popup) window in the upper left corner of the root window, rather than on the window being resized. This saves a potentially expensive refresh that would occur when the popup was unmapped. If your server supports save-unders, it's generally (but not always) better to turn saveUnder on instead. saveUnder (boolean) ``off'' Use save-unders for menus and pop-up windows. If the server does not support save-unders, this action does nothing. showName (boolean) ``on'' Display the window name in a title (assuming that the window is titled in the first place). title.background (string) ``background'' Background color to use for title pixmap. title.boldFont (string) ``none'' Which font to use for titlebar labels if focus is and hilite is enabled. If this isn't set, and hilite is, the title text will be displayed with title.font in reverse video. title.boldPixmap (string) ``none'' The name of a pixmap file to load and tile titlebars with when - 17 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 the focus is in. If this is defined, and hilite is set, focus changes will cause title backgrounds to alternate between title.pixmap and title.boldPixmap. If title.boldPixmap is defined, but title.pixmap is not, a blank pixmap will be used in place of title.pixmap. title.cursor (int) ``XC_left_ptr'' Glyph (in decimal) to retrieve from cursor font for use in title bar. title.font (string) ``vtsingle'' Which font to use for titlebar labels. Used exclusively unless title.boldFont and hilite are set. title.foreground (string) ``foreground'' Foreground color to use when drawing background (both normal and bold) pixmaps. title.pad (int) ``2'' Number of pixels to pad title bar text vertically. title.pixmap (string) ``none'' The name of a pixmap file to load and tile titlebars with. This background is use exclusively unless the title.boldPixmap is defined and hilite is set. title.text.background (string) ``title.background'' Background color to use when drawing title bar text. title.push (boolean) ``false'' When adding a title bar or border context to a window, put the border or title bar area at the current x, y position and "push" the window down to make room. For windows with an upper edge at or near the top of the screen, this gives the most asthetically pleasing results. For windows near the bottom, it does not. If set to false, the title bar/border will be added "on top" and the window will not be moved down. Note that the setting of this resource also affects how the window is maniplated during resizes, title removals, etc. title.text.foreground (string) ``title.foreground'' Foreground color to use when drawing title bar. titles (boolean) ``off'' Put title bars on all windows (both existing windows and new ones as they're created. See also: f.title volume (int) ``2'' Specifies the bell volume (delta on volume set with xset). - 18 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 wall (boolean) ``off'' Restrict window movement to edges of screen (rootwindow). This feature is fairly handy and should probably be bound to a menu so that it can readily be turned on and off. warpOnDeIconify (boolean) ``off'' Warp pointer to upper right corner of window on de-iconify. warpOnIconify (boolean) ``off'' Warp pointer to center of icon on iconify. warpOnRaise (boolean) ``off'' Warp pointer to upper left corner of window on raise. windowName.offset (int) ``0'' Number of pixels from the right or left edge of a titlebar to print the window name (assuming that showName is set). If this value is negative, the name will be offset nameOffset (plus the name length) pixels from the right edge. If the value is positive, then the name will be offset nameOffset pixels from the left edge. If the value is zero, the name will be centered. Since the length of a window name can vary dynamically, this value will be adjusted, when necessary, to ensure that the name is visible in the title bar. zap (boolean) ``off'' Causes ghost lines to follow the window or icon from its previous location to its new location during a move, resize or iconify operation. SPECIAL RESOURCES name.wm_option.autoRaise (boolean) name.wm_option.borderContext (boolean) name.wm_option.gadgets (boolean) name.wm_option.icon.labels (boolean) name.wm_option.title (boolean) name.wm_option.foreground (string) name.wm_option.background (string) These resources determine whether or not a given application really wants a title, gadgets, border context area, to be auto- raised etc etc.. The application's CLASS and NAME (in the WM_CLASS property) are checked against the string supplied for name (for example: Xclock*wm_option.title: off). - 19 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 Specifying one of these resources overrides any other boolean settings (I.E. awm.titles or awm.gadgets) and may be used to turn things on and off at the application and/or class level for applications, regardless of awm's settings. Note: Both class and name resources are checked, and in that order. Thus specific applications may override settings for their class, if desired. These resources are ``special'' as they are checked for under the application's name, not awm's; I.E. xclock.wm_option.autoRaise is not awm.xclock.wm_option.autoRaise as one might think. The resources wm_option.foreground and wm_option.background are only meaningful if awm has been compiled with -DRAINBOW. They allow the border color to be specified for individual applications/classes. - 20 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 EXAMPLES The following sample startup file shows the default window manager options: # Global variables # resetbindings resetmenus # # Mouse button/key maps # # FUNCTION KEYS CONTEXT BUTTON MENU(if any) # ======== ==== ======= ====== ============ f.menu = meta : :left down :"WINDOW OPS" f.menu = meta : :middle down :"EXTENDED WINDOW OPS" f.move = meta :w|i :right down f.circleup = meta :root :right down # # Menu specifications # menu = "WINDOW OPS" { "(De)Iconify": f.iconify Move: f.move Resize: f.resize Lower: f.lower Raise: f.raise } menu = "EXTENDED WINDOW OPS" { Create Window: !"xterm &" Iconify at New Position: f.lowericonify Focus Keyboard on Window: f.focus Freeze All Windows: f.pause Unfreeze All Windows: f.continue Circulate Windows Up: f.circleup Circulate Windows Down: f.circledown } - 21 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 RESTRICTIONS The color specifications have no effect on a monochrome system. There's currently no way to specify a keysym in place of a button (up/down/delta) specification. This restriction will be removed in the near future. FILES $LIBDIR/rgb.txt $LIBDIR/font /usr/skel/.awmrc $LIBDIR/awm/system.awmrc $HOME/.awmrc SEE ALSO X(1), X(8C) AUTHOR Copyright 1988 Ardent Computer Corporation Sunnyvale, Ca All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Ardent Computer Corporation or the author not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. COPYRIGHT 1985, 1986 DIGITAL EQUIPMENT CORPORATION MAYNARD, MASSACHUSETTS ALL RIGHTS RESERVED. THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Digital Equipment Corporation not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M. Gancarz, DEC Ultrix Engineering Group, Merrimack, New Hampshire, using some algorithms originally by Bob Scheifler, MIT Laboratory for - 22 - Formatted: December 27, 2024 AWM(1) X Version 11 AWM(1) 23 July 1988 Computer Science J. Hubbard, U.C. Berkeley, Berkeley, Ca. Ardent Computer, Sunnyvale, Ca. Various modifications and enhancements using code developed by M. Gancarz and Digital Equipment Corp. - 23 - Formatted: December 27, 2024