MWM(1)
πΈ mwm β The Motif Window Manager πΈ
okay bestie, welcome to the manual page for mwm (user cmd) β The Motif Window Manager. She's the one helping you and your programs control window-state stuff like placement, size, icon/normal display, and input-focus ownership π
β¨
π NAME π
mwm β The Motif Window Manager. yes, that's her, and this is her mwm(user cmd) manual page π«Ά
β¨ SYNOPSIS β¨
mwm [options]
π¦ DESCRIPTION π¦
The mwm window manager provides functions that facilitate control (by the user and the programmer) of elements of window state such as placement, size, icon/normal display, and input-focus ownership. literally window-manager main character energy π
bestie, real talk: the stand-alone window manager is not an integral part of CDE and does not support communication with other components in the CDE environment, such as the Style Manager and the Session Manager. no cap π
π Options π
-displaydisplay β tellsmwmwhich display to use; seeX(1). π-xrmresourcestring β givesmwma resource string to use. π-multiscreenβ makesmwmmanage all screens on the display. the default is to manage only a single screen. π-namename β makesmwmretrieve its resources using the specified name, as inname*resource. β¨-screensname [name [...]] β specifies the resource names to use for the screens managed bymwm. Ifmwmis managing a single screen, only the first name in the list is used. Ifmwmis managing multiple screens, the names are assigned to the screens in order, starting with screen 0. Screen 0 gets the first name, screen 1 the second name, and so on. π¦
π¦ Appearance π¦
The following sections describe the basic default behaviors of windows, icons, the icon box, input focus, and window stacking. The appearance and behavior of the window manager can be altered by changing the configuration of specific resources. Resources are defined under the heading "X DEFAULTS." π
π Screens π
By default, mwm manages only the single screen specified by the -display option or the DISPLAY environment variable (by default, screen 0). If the -multiscreen option is specified or if the multiScreen resource is True, mwm tries to manage all the screens on the display. π
When mwm is managing multiple screens, the -screens option can be used to give each screen a unique resource name. The names are separated by blanks, for example, -screens scr0 scr1. If there are more screens than names, resources for the remaining screens will be retrieved using the first name. By default, the screen number is used for the screen name. π
πͺ Windows πͺ
Default mwm window frames have distinct components with associated functions:
- Title Area β In addition to displaying the client's title, the title area is used to move the window. To move the window, place the pointer over the title area, press button 1 and drag the window to a new location. By default, a wire frame is moved during the drag to indicate the new location. When the button is released, the window is moved to the new location. β¨
- Title Bar β The title bar includes the title area, the minimize button, the maximize button, and the window menu button. In shaped windows, such as round windows, the title bar floats above the window. π«Ά
- Minimize Button β To turn the window into an icon, click button 1 on the minimize button (the frame box with a small square in it). π
- Maximize Button β To make the window fill the screen (or enlarge to the largest size allowed by the configuration files), click button 1 on the maximize button (the frame box with a large square in it). π
- Window Menu Button β The window menu button is the frame box with a horizontal bar in it. To pull down the window menu, press button 1. While pressing, drag the pointer on the menu to your selection, then release the button when your selection is highlighted. Pressing button 3 in the title bar or resize border handles also posts the window menu. Alternately, you can click button 1 to pull down the menu and keep it posted; then position the pointer and select. You can also post the window menu by pressing Shift Esc or Alt Space. Double-clicking button 1 with the pointer on the window menu button closes the window. π
okay so here's the window menu lineup, bestie:
π Default Window Menu π
- Restore β Accelerator: none listed. Restores the window to its size before minimizing or maximizing. π
- Move β Accelerator: none listed. Allows the window to be moved with keys or mouse. π±οΈ
- Size β Accelerator: none listed. Allows the window to be resized. π
- Minimize β Accelerator: none listed. Turns the window into an icon. π
- Maximize β Accelerator: none listed. Makes the window fill the screen. π₯
- Lower β Accelerator: none listed. Moves window to bottom of window stack. β¬οΈ
- Close β Accelerator:
Alt+F4. Causes client to terminate. π - Resize Border Handles β To change the size of a window, move the pointer over a resize border handle (the cursor changes), press button 1, and drag the window to a new size. When the button is released, the window is resized. While dragging is being done, a rubber-band outline is displayed to indicate the new window size. π¦
- Matte β An optional matte decoration can be added between the client area and the window frame (see the
matteWidthresource). A matte is not actually part of the window frame. There is no functionality associated with a matte. πΈ
π Icons π
Icons are small graphic representations of windows. A window can be minimized (iconified) using the minimize button on the window frame. Icons provide a way to reduce clutter on the screen. β¨
Pressing mouse button 1 when the pointer is over an icon causes the icon's window menu to pop up. Releasing the button (press + release without moving mouse = click) causes the menu to stay posted. The menu contains the following selections: π
π§ Icon Window Menu π§
- Restore β Accelerator: none listed. Opens the associated window. π
- Move β Accelerator: none listed. Allows the icon to be moved with keys. π
- Size β Accelerator: none listed. Inactive (not an option for icons). π
- Minimize β Accelerator: none listed. Inactive (not an option for icons). π
- Maximize β Accelerator: none listed. Opens the associated window and makes it fill the screen. π₯
- Lower β Accelerator: none listed. Moves icon to bottom of icon stack. β¬οΈ
- Close β Accelerator:
Alt+F4. Removes client frommwmmanagement. π«Ά
Note that pressing button 3 over an icon also causes the icon's window menu to pop up. To make a menu selection, drag the pointer over the menu and release button 3 when the desired item is highlighted. π¦
Double-clicking button 1 on an icon invokes the f.restore_and_raise function and restores the icon's associated window to its previous state. For example, if a maximized window is iconified, double-clicking button 1 restores it to its maximized state. Double-clicking button 1 on the icon box's icon opens the icon box and allows access to the contained icons. (In general, double-clicking a mouse button is a quick way to perform a function.) Pressing Shift Esc or Menu (the pop-up menu key) causes the icon window menu of the currently selected icon to pop up. π
π Icon Box π
When icons begin to clutter the screen, they can be packed into an icon box. (To use an icon box, mwm must be started with the icon box configuration already set.) The icon box is a mwm window that holds client icons. It includes one or more scroll bars when there are more window icons than the icon box can show at the same time. π
Icons in the icon box can be manipulated with the mouse. The following table summarizes the behavior of this interface. Button actions apply whenever the pointer is on any part of the icon. Note that double-clicking an icon in the icon box invokes the f.restore_and_raise function. π
- Button 1 β click β Selects the icon. π
- Button 1 β double-click β Normalizes (opens) the associated window. Raises an already open window to the top of the stack. β¨
- Button 1 β drag β Moves the icon. π±οΈ
- Button 3 β press β Causes the menu for that icon to pop up. πΈ
- Button 3 β drag β Highlights items as the pointer moves across the menu. π¦
Pressing mouse button 3 when the pointer is over an icon causes the menu for that icon to pop up. π
π§Έ Icon Menu for the Icon Box π§Έ
- Restore β Accelerator: none listed. Opens the associated window (if not already open). π
- Move β Accelerator: none listed. Allows the icon to be moved with keys. π±οΈ
- Size β Accelerator: none listed. Inactive. π
- Minimize β Accelerator: none listed. Inactive. π
- Maximize β Accelerator: none listed. Opens the associated window (if not already open) and maximizes its size. π₯
- Lower β Accelerator: none listed. Inactive. π
- Close β Accelerator:
Alt+F4. Removes client frommwmmanagement. π«Ά
To pull down the window menu for the icon box itself, press button 1 with the pointer over the menu button for the icon box. The window menu of the icon box differs from the window menu of a client window: The "Close" selection is replaced with the "PackIcons Shift+Alt+F7" selection. When selected, PackIcons packs the icons in the box to achieve neat rows with no empty slots. β¨
You can also post the window menu by pressing Shift, Esc or Alt Space. Pressing Menu (the pop-up menu key) causes the icon window menu of the currently selected icon to pop up. π
π Input Focus π
The mwm window manager supports (by default) a keyboard input focus policy of explicit selection. This means when a window is selected to get keyboard input, it continues to get keyboard input until the window is withdrawn from window management, another window is explicitly selected to get keyboard input, or the window is iconified. Several resources control the input focus. The client window with the keyboard input focus has the active window appearance with a visually distinct window frame. ππ
okay so here's the tea on keyboard input focus selection behavior π (the columns are Button, Action, Object, and Function Description, just fyi):
Button 1β press β on a Window / window frame β keyboard focus selection.Button 1β press β on an Icon β keyboard focus selection.
and for keys, the columns are Key Action and Function Description:
[Alt][Tab]β move input focus to next window in window stack (available only in explicit focus mode).[Alt][Shift][Tab]β move input focus to previous window in window stack (available only in explicit focus mode).
πͺ Window Stacking
There are two types of window stacks: global window stacks and an application's local family window stack.
The global stacking order of windows may be changed as a result of setting the keyboard input focus, iconifying a window, or performing a window manager window stacking function. When keyboard focus policy is explicit the default value of the focusAutoRaise resource is True. This causes a window to be raised to the top of the stack when it receives input focus, for example, by pressing button 1 on the title bar. The key actions defined in the previous key-action list will thus raise the window receiving focus to the top of the stack.
In pointer mode, the default value of focusAutoRaise is False, that is, the window stacking order is not changed when a window receives keyboard input focus. The following key actions can be used to cycle through the global window stack.
[Alt][ESC]β place top window on bottom of stack.[Alt][Shift][ESC]β place bottom window on top of stack.
By default, a window's icon is placed on the bottom of the stack when the window is iconified; however, the default can be changed by the lowerOnIconify resource.
Transient windows (secondary windows such as dialog boxes) stay above their parent windows by default; however, an application's local family stacking order may be changed to allow a transient window to be placed below its parent top-level window. The following arguments show the modification of the stacking order for the f.lower function.
f.lowerβ lowers the transient window within the family (staying above the parent) and lowers the family in the global window stack.f.lower [ within]β lowers the transient window within the family (staying above the parent) but does not lower the family in the global window stack.f.lower [freeFamily ]β lowers the window free from its family stack (below the parent), but does not lower the family in the global window stack.
The arguments within and freeFamily can also be used with f.raise and f.raise_lower.
π§ Session Management
The window manager is an X Session Management Protocol aware client. It responds to SaveYourself (and other associated messages) by saving the geometries of its clients to a state file. mwm can then be restarted by the XSMP session manager. The default location for the state file is $HOME/.mwmclientdb. This location can be overridden with the resource sessionClientDB.
π X Resources
The mwm command is configured from its resource database. This database is built from the following sources. They are listed in order of precedence, low to high:
/usr/X11R6/lib/X11/app-defaults/Mwm$HOME/MwmRESOURCE_MANAGERroot window property or$HOME/.XdefaultsXENVIRONMENTvariable or$HOME/.Xdefaults-hostmwmcommand line options
The file names /usr/X11R6/lib/X11/app-defaults/Mwm and $HOME/Mwm represent customary locations for these files. The actual location of the system-wide class resource file may depend on the XFILESEARCHPATH environment variable and the current language environment. The actual location of the user-specific class resource file may depend on the XUSERFILESEARCHPATH and XAPPLRESDIR environment variables and the current language environment.
Entries in the resource database may refer to other resource files for specific types of resources. These include files that contain bitmaps, fonts, and mwm specific resources such as menus and behavior specifications (for example, button and key bindings).
Mwm is the resource class name of mwm and mwm is the default resource name used by mwm to look up resources. the -screens command line option specifies resource names, such as "mwm_b+w" and "mwm_color".) In the following discussion of resource specification, "Mwm" and "mwm" (and the aliased mwm resource names) can be used interchangeably, but "mwm" takes precedence over "Mwm".
The mwm command uses the following types of resources:
- Component Appearance Resources: These resources specify appearance attributes of window manager user interface components. They can be applied to the appearance of window manager menus, feedback windows (for example, the window reconfiguration feedback window), client window frames, and icons.
- General Appearance and Behavior Resources: These resources specify
mwmappearance and behavior (for example, window management policies). They are not set separately for differentmwmuser interface components. They apply to all screens and workspaces. - Screen Specific Appearance and Behavior Resources: These resources specify the appearance and behavior of
mwmelements that are settable on a per-screen basis. - Client Specific Resources: These
mwmresources can be set for a particular client window or class of client windows. They specify client-specific icon and client window frame appearance and behavior.
Resource identifiers can be either a resource name (for example, foreground) or a resource class (for example, Foreground). If the value of a resource is a filename and if the filename is prefixed by "~/", then it is relative to the path contained in the HOME environment variable (generally the user's home directory).
π¦ Component Appearance Resources
The syntax for specifying component appearance resources that apply to window manager icons, menus, and client window frames is Mwm* resource_id.
For example, Mwm*foreground is used to specify the foreground color for mwm menus, icons, client window frames, and feedback dialogs.
The syntax for specifying component appearance resources that apply to a particular mwm component is Mwm*[menu|icon|client|feedback] *resource_id.
If menu is specified, the resource is applied only to mwm menus; if icon is specified, the resource is applied to icons; and if client is specified, the resource is applied to client window frames. For example, Mwm*icon*foreground is used to specify the foreground color for mwm icons, Mwm*menu*foreground specifies the foreground color for mwm menus, and Mwm*client*foreground is used to specify the foreground color for mwm client window frames.
The appearance of the title area of a client window frame (including window management buttons) can be separately configured. The syntax for configuring the title area of a client window frame is Mwm*client*title* resource_id.
For example, Mwm*client*title*foreground specifies the foreground color for the title area. Defaults for title area resources are based on the values of the corresponding client window frame resources.
The appearance of menus can be configured based on the name of the menu. The syntax for specifying menu appearance by name is Mwm*menu* menu_name*resource_id.
For example, Mwm*menu*my_menu*foreground specifies the foreground color for the menu named my_menu. The user can also specify resources for window manager menu components, that is, the gadgets that comprise the menu. These may include for example, a menu title, title separator, one or more buttons, and separators. If a menu contains more than one instance of a class, such as multiple PushButtonGadgets, the name of the first instance is "PushButtonGadget1", the second is "PushButtonGadget2", and so on. The following list identifies the naming convention used for window manager menu components:
- Menu Title
LabelGadgetβ"TitleName" - Menu Title
SeparatorGadgetβ"TitleSeparator" CascadeButtonGadgetβ"CascadeButtonGadget<n>"PushButtonGadgetβ"PushButtonGadget<n>"SeparatorGadgetβ"SeparatorGadget<n>"
Refer to the man page for each class for a list of resources that can be specified.
The following component appearance resources that apply to all window manager parts can be specified:
π Component Appearance Resources - All Window Manager Parts
Each bullet below is Name β Class β Value Type β Default:
backgroundβBackgroundβcolorβvariesβbackgroundPixmapβBackgroundPixmapβstringβ ββvariesβbottomShadowColorβForegroundβcolorβvariesβbottomShadowPixmapβForegroundβstringβ ββvariesβfontListβFontListβstringβ β ββ"fixed"foregroundβForegroundβcolorβvariesβsaveUnderβSaveUnderβT/FβFtopShadowColorβBackgroundβcolorβvariesβtopShadowPixmapβTopShadowPixmapβstringβ ββvariesβ
β β The default is chosen based on the visual type of the screen.
β β β Image name. See XmInstallImage(3).
β β β β X11 X Logical Font Description
background(classBackground) β This resource specifies the background color. Any legal X color may be specified. The default value is chosen based on the visual type of the screen.backgroundPixmap(classBackgroundPixmap) β This resource specifies the background Pixmap of themwmdecoration when the window is inactive (does not have the keyboard focus). The default value is chosen based on the visual type of the screen.bottomShadowColor(classForeground) β This resource specifies the bottom shadow color. This color is used for the lower and right bevels of the window manager decoration. Any legal X color may be specified. The default value is chosen based on the visual type of the screen.bottomShadowPixmap(classBottomShadowPixmap) β This resource specifies the bottom shadow Pixmap. This Pixmap is used for the lower and right bevels of the window manager decoration. The default is chosen based on the visual type of the screen.
fontList (class FontList) β the font used for the window manager decoration, bestie. The character encoding of the font should match the character encoding of the strings you're using. Default? "fixed."
foreground (class Foreground) β the foreground color. Default gets picked based on the visual type of the screen.
saveUnder (class SaveUnder) β says whether "save unders" get used for mwm components. For this to do literally anything, save unders must be implemented by the X server. If they are, the X server saves the contents of windows obscured by windows that have the save under attribute set. If saveUnder is True, mwm will set the save under attribute on the window manager frame of any client that has it set. If saveUnder is False, save unders will not be used on any window manager frames. Default is False.
topShadowColor (class Background) β the top shadow color, used for the upper and left bevels of the window manager decoration β¨. Default chosen based on the visual type of the screen.
topShadowPixmap (class TopShadowPixmap) β the top shadow Pixmap. Same deal: it's for the upper and left bevels of the window manager decoration. Default chosen based on the visual type of the screen.
The following component appearance resources that apply to frame and icons can be specified:
π Frame and Icon Components π
activeBackgroundβ classBackground, value type color, default variesβactiveBackgroundPixmapβ classBackgroundPixmap, value type stringβ β , default variesβactiveBottomShadowColorβ classForeground, value type color, default variesβactiveBottomShadowPixmapβ classBottomShadowPixmap, value type stringβ β , default variesβactiveForegroundβ classForeground, value type color, default variesβactiveTopShadowColorβ classBackground, value type color, default variesβactiveTopShadowPixmapβ classTopShadowPixmap, value type stringβ β , default variesβ
β The default is chosen based on the visual type of the screen. β β See XmInstallImage(3).
activeBackground (class Background) β the background color of the mwm decoration when the window is active (aka has the keyboard focus π). Default is chosen based on the visual type of the screen.
activeBackgroundPixmap (class ActiveBackgroundPixmap) β the background Pixmap of the mwm decoration when the window is active (has the keyboard focus). Default chosen based on the visual type of the screen.
activeBottomShadowColor (class Foreground) β the bottom shadow color of the mwm decoration when the window is active (has the keyboard focus). Default based on the visual type of the screen.
activeBottomShadowPixmap (class BottomShadowPixmap) β the bottom shadow Pixmap of the mwm decoration when the window is active (has the keyboard focus). Default based on the visual type of the screen.
activeForeground (class Foreground) β the foreground color of the mwm decoration when the window is active (has the keyboard focus). Default based on the visual type of the screen.
activeTopShadowColor (class Background) β the top shadow color of the mwm decoration when the window is active (has the keyboard focus). Default based on the visual type of the screen.
activeTopShadowPixmap (class TopShadowPixmap) β the top shadow Pixmap of the mwm decoration when the window is active (has the keyboard focus). Default based on the visual type of the screen.
π General Appearance and Behavior Resources π
The syntax for specifying general appearance and behavior resources is:
Mwm*resource_id
For example, Mwm*keyboardFocusPolicy specifies the window manager policy for setting the keyboard focus to a particular client window π.
The following general appearance and behavior resources can be specified:
π General Appearance and Behavior Resources π
autoKeyFocusβ classAutoKeyFocus, value type T/F, defaultTautoRaiseDelayβ classAutoRaiseDelay, value type millisec, default500bitmapDirectoryβ classBitmapDirectory, value type directory, default/usr/X11R6/include/X11/bitmapsclientAutoPlaceβ classClientAutoPlace, value type T/F, defaultTcolormapFocusPolicyβ classColormapFocusPolicy, value type string, defaultkeyboardconfigFileβ classConfigFile, value type file, default$HOME/mwmrcdeiconifyKeyFocusβ classDeiconifyKeyFocus, value type T/F, defaultTdoubleClickTimeβ classDoubleClickTime, value type millisec., default multi-click timeβenableWarpβ classenableWarp, value type T/F, defaultTenforceKeyFocusβ classEnforceKeyFocus, value type T/F, defaultTframeStyleβ classFrameStyle, value type string, defaultrecessediconAutoPlaceβ classIconAutoPlace, value type T/F, defaultTiconClickβ classIconClick, value type T/F, defaultTinteractivePlacementβ classInteractivePlacement, value type T/F, defaultTkeyboardFocusPolicyβ classKeyboardFocusPolicy, value type string, defaultexplicitlowerOnIconifyβ classLowerOnIconify, value type T/F, defaultTmoveThresholdβ classMoveThreshold, value type pixels, default4multiScreenβ classMultiScreen, value type T/F, defaultFpassButtonsβ classPassButtons, value type T/F, defaultFpassSelectButtonβ classPassSelectButton, value type T/F, defaultTpositionIsFrameβ classPositionIsFrame, value type T/F, defaultTpositionOnScreenβ classPositionOnScreen, value type T/F, defaultTquitTimeoutβ classQuitTimeout, value type millisec., default1000raiseKeyFocusβ classRaiseKeyFocus, value type T/F, defaultFrefreshByClearingβ classRefreshByClearing, value type T/F, defaultTrootButtonClickβ classRootButtonClick, value type T/F, defaultFscreensβ classScreens, value type string, default variessessionClientDBβ classSessionClientDB, value type string, default$HOME/.mwmclientdbshowFeedbackβ classShowFeedback, value type string, defaultallstartupKeyFocusβ classStartupKeyFocus, value type T/F, defaultTwMenuButtonClickβ classWMenuButtonClick, value type T/F, defaultTwMenuButtonClick2β classWMenuButtonClick2, value type T/F, defaultT
β The resourcedoubleClickTimeis included for backward compatibility. Use of the Xt resourcemultiClickTimeis preferred. (iykyk β old resource, but the new one ate π )
autoKeyFocus (class AutoKeyFocus) β this one's only available when the keyboard input focus policy is explicit. If autoKeyFocus is True, then when a window with the keyboard input focus is withdrawn from window management or is iconified, the focus is set to the previous window that had the focus. If it's False, there's no automatic setting of the keyboard input focus. It is recommended that both autoKeyFocus and startupKeyFocus be True to work with tear off menus π. Default value is True.
autoRaiseDelay (class AutoRaiseDelay) β only available when the focusAutoRaise resource is True and the keyboard focus policy is pointer. It specifies the amount of time (in milliseconds) that mwm will wait before raising a window after it gets the keyboard focus. Default value is 500 (ms). impatient icon behavior fr.
bitmapDirectory (class BitmapDirectory) β a directory to be searched for bitmaps referenced by mwm resources. This directory is searched if a bitmap is specified without an absolute pathname. Default value is /usr/X11R6/include/X11/bitmaps. The directory /usr/X11R6/include/X11/bitmaps represents the customary locations for this directory β the actual location may vary on some systems. If the bitmap isn't found in the specified directory, XBMLANGPATH is searched π.
clientAutoPlace (class ClientAutoPlace) β determines the position of a window when the window hasn't been given a program- or user-specified position. With a value of True, windows are positioned with the top left corners of the frames offset horizontally and vertically. A value of False causes the currently configured position of the window to be used. In either case, mwm will attempt to place the windows totally on-screen β¨. Default value is True.
colormapFocusPolicy (class ColormapFocusPolicy) β which colormap focus policy is in use. If the value is explicit, a colormap selection action is done on a client window to set the colormap focus to that window. If the value is pointer, the client window containing the pointer has the colormap focus. If the value is keyboard, the client window that has the keyboard input focus has the colormap focus. Default value is keyboard π.
configFile(classConfigFile) β bestie, this is literally just the path to your mwm resource description file π . Real talk on how it resolves: if the path starts with"~/", mwm treats it as relative to your home directory (the one from theHOMEenvironment variable, duh). IfLANGis set, mwm goes looking in$HOME/$LANG/configFilefirst. If that file's not there orLANGis unset, it falls back to$HOME/configFile. And if yourconfigFilepath starts with neither"~/"nor"/", mwm treats it as relative to the current working directory. If you don't specify theconfigFileresource at all, or the file is just... not there π, mwm tries a bunch of default paths to find a config file. The search order, iconically:
/usr/X11R6/lib/X11/$LANG/system.mwmrcβ
/usr/X11R6/lib/X11/system.mwmrcβ
Paths marked with β are implementation dependent. Noted, bestie π.
deiconifyKeyFocus(classDeiconifyKeyFocus) β okay so this one ONLY matters when your keyboard input focus policy isexplicit. If you set it toTrue, a window gets the keyboard input focus right when it's normalized (aka deiconified).Trueis the default, slay β¨.doubleClickTime(classDoubleClickTime) β this sets the max time (in ms) between the clicks (button presses) that make up a double-click. But heads up bestie, this resource is deprecated π β use the Xt resourcemultiClickTimeinstead. The value ofdoubleClickTimedynamically defaults to the value ofmultiClickTime, iykyk.enableWarp(classEnableWarp) β the default value,True, makes mwm warp the pointer to the center of the selected window during keyboard-controlled resize and move operations. Set it toFalseand mwm leaves the pointer exactly where it was on screen β unless you explicitly move it yourself with the cursor keys or pointing device. Your call, queen π.enforceKeyFocus(classEnforceKeyFocus) β give thisTrueand the keyboard input focus is always explicitly set to selected windows, even when there's a sign they're "globally active" input windows. (Example of a globally active window: a scroll bar you can operate without ever setting focus to that client. Main character energy fr.) If it'sFalse, focus is not explicitly set to those globally active windows. Default isTrueπ.frameStyle(classframeStyle) β set this to"slab"and the window manager frame is drawn so the client area looks like it's at the same height as the top of the window frame. Set it to"recessed"and the frame is drawn so the client area looks lower than the top of the frame. Default is"recessed"π.iconAutoPlace(classIconAutoPlace) β this decides whether the window manager arranges icons in a particular area of the screen, or plops each icon right where the window was when it got iconified.True= icons arranged in that special area, determined by theiconPlacementresource.False= the icon goes exactly where the window was when it was iconified. Default isTrueβ¨.iconClick(classIconClick) β set this toTrueand the system menu gets posted and left posted when you click an icon. Default value isTrueπ«Ά.interactivePlacement(classInteractivePlacement) β controls the initial placement of new windows on screen. IfTrue, the pointer shape changes before a new window is placed, signaling to you that you should pick a position for the upper-left hand corner of the window. IfFalse, windows get placed according to the initial window configuration attributes. Default value isFalseπ .keyboardFocusPolicy(classKeyboardFocusPolicy) β set it topointerand the keyboard focus goes to the client window that contains the pointer (the pointer could also be chilling in the client window decoration that mwm adds). Set it toexplicitand focus goes to a client window when the user presses button 1 with the pointer on the client window or any part of the associated mwm decoration. Default value for this resource isexplicitπ.lowerOnIconify(classLowerOnIconify) β with the default value ofTrue, a window's icon appears on the bottom of the window stack when the window is minimized (iconified). Value ofFalseplaces the icon in the stacking order at the same place as its associated window. Default value isTrue, periodt π.moveThreshold(classMoveThreshold) β controls the sensitivity of dragging operations that move windows and icons. The value is the number of pixels the locator moves with a button down before the move operation kicks off. This exists to prevent window/icon movement when you click or double-click and there's unintentional pointer movement with the button down (we've all been there π). Default value of this resource is4(pixels) π.multiScreen(classMultiScreen) β ifTrue, mwm manages all the screens on the display. IfFalse, mwm manages only a single screen. Default value isFalseπΈ.passButtons(classPassButtons) β indicates whether or not button press events are passed to clients after they're used to do a window manager function in the client context. IfFalse, the button press is not passed to the client. IfTrue, the button press is passed to the client window. Either way, the window manager function still gets done β no cap. Default value for this resource isFalseπ.passSelectButton(classPassSelectButton) β same vibe, but for the select button press events. This indicates whether or not to pass select button press events to clients after they're used to do a window manager function in the client context.False= button press won't be passed to the client.True= button press is passed to the client window. The window manager function is done in either case, fr. Default value for this resource isTrueπ.positionIsFrame(classPositionIsFrame) β tells mwm how to interpret client window position info (from theWM_NORMAL_HINTSproperty and from configuration requests). IfTrue, the info is interpreted as the position of the mwm client window frame. IfFalse, it's interpreted as the position of the client area of the window. Default value isTrueπ¦.positionOnScreen(classPositionOnScreen) β indicates that windows should initially be placed (if possible) so they're not clipped by the edge of the screen (whenTrue). If a window is bigger than the screen, at least the upper-left corner stays on-screen. IfFalse, windows get placed in the requested position even if that's totally off-screen π. Default value isTrueπ.quitTimeout(classQuitTimeout) β specifies the amount of time (in milliseconds) that mwm waits for a client to update theWM_COMMANDproperty after mwm has sent theWM_SAVE_YOURSELFmessage. Default value is1000(ms). (Peep thef.killfunction description for extra info, bestie π.)raiseKeyFocus(classRaiseKeyFocus) β only available when the keyboard input focus policy isexplicit, noted. WhenTrue, this specifies that a window raised via thef.normalize_and_raisefunction also gets the input focus. Default value isFalseβ¨.refreshByClearing(classRefreshByClearing) β determines the mechanism used to refresh a window (or the whole screen) whenf.refresh_win(f.refresh) runs. WhenTrue, anXClearAreais performed over the window forf.refresh_win. WhenFalse, a covering window is created and destroyed over the top of the window being refreshed. If the function isf.refreshand this resource isTrue, then anXClearAreais performed over every window on the screen. IfFalse, then one big window covering the entire screen is created and destroyed. Default value isTrueπ₯.rootButtonClick(classRootButtonClick) β controls whether a click on the root window posts the root menu in "sticky" mode π . IfTrue, a button click on the root window posts the menu bound to the button down event for that button in a "sticky" fashion. IfFalse, that same button click would only make the menu flash, since it gets unposted once the button up event is seen. The criterion for "is it a button click" is whether the pointer doesn't move between the button down and button up events. Default value for this resource isTrueπ.screens(classScreens) β okay so this one tells mwm which resource names to use for the screens it's babysitting β¨ If mwm is managing a single screen, only the first name in the list gets used, periodt. If it's managing multiple screens, the names get handed out in order starting at screen 0 β screen 0 gets the first name, screen 1 gets the second, and so on down the line. Default screen names are0,1, etc. πsessionClientDB(classSessionClientDB) β this identifies a file name to use as a root when saving state at the request of an XSMP session manager π«Ά When the session gets saved, the window manager then reuses that file name by automatically incrementing a suffix. Cute, right? It just bumps the number.showFeedback(classShowFeedback) β controls whether feedback windows and confirmation dialogs show up at all π A feedback window shows a client window's initial placement, and shows position and size during move and resize operations. Confirmation dialogs can pop up for certain operations. The value here is basically a list of feedback option names to enable or disable, and the names must be separated by a space. If an option has a minus sign in front of it, that option is excluded from the list. The sign of the first item in the list determines the initial set of options β if the first option's sign is minus, mwm assumes all options are present and starts subtracting from that set; if the first decoration's sign is plus (or not specified at all), mwm starts with no options and builds the list up from the resource. π§
The names of the feedback options are shown below:
allβ Show all feedback (Default value).behaviorβ Confirm behavior switch.killβ Confirm on receipt of KILL signal.moveβ Show position during move.noneβ Show no feedback.placementβ Show position and size during initial placement.quitβ Confirm quitting mwm.resizeβ Show size during resize.restartβ Confirm mwm restart.
The following command line illustrates the syntax for showFeedback:
Mwm*showFeedback: placement resize behavior restart
This resource specification provides feedback for initial client placement and resize, and enables the dialog boxes to confirm the restart and set behavior functions π₯ It disables feedback for the move function. The default value for this resource is all.
startupKeyFocus(classStartupKeyFocus) β heads up, this one is available only when the keyboard input focus policy isexplicitπ When given the default value ofTrue, a window gets the keyboard input focus when the window is mapped (that is, initially managed by the window manager). It is recommended that bothautoKeyFocusandstartupKeyFocusbeTrueto work with tear off menus π The default value isTrue.wMenuButtonClick(classWMenuButtonClick) β this one's about mouse clicks π It indicates whether a click of the mouse, when the pointer is over the window menu button, posts and leaves posted the window menu. If the value given to this resource isTrue, the menu remains posted.Trueis the default value for this resource.wMenuButtonClick2(classWMenuButtonClick2) β when this resource is given the default value ofTrue, a double-click action on the window menu button does anf.killfunction π no cap.
π Screen Specific Appearance and Behavior Resources π
The syntax for specifying screen specific resources is Mwm*screen_name*resource_id β¨ For example, Mwm*1*keyBindings specifies the key bindings to use for screen "1".
π Screen Specific Resources π
buttonBindingsβ classButtonBindings, value typestring, defaultDefaultButtonBindingscleanTextβ classCleanText, value typeT/F, defaultTfadeNormalIconβ classFadeNormalIcon, value typeT/F, defaultFfeedbackGeometryβ classFeedbackGeometry, value typestring, defaultcenter on screenframeBorderWidthβ classFrameBorderWidth, value typepixels, defaultvariesiconBoxGeometryβ classIconBoxGeometry, value typestring, default6x1+0-0iconBoxNameβ classIconBoxName, value typestring, defaulticonboxiconBoxSBDisplayPolicyβ classIconBoxSBDisplayPolicy, value typestring, defaultalliconBoxTitleβ classIconBoxTitle, value typeXmString, defaultIconsiconDecorationβ classIconDecoration, value typestring, defaultvariesiconImageMaximumβ classIconImageMaximum, value typewxh, default48x48iconImageMinimumβ classIconImageMinimum, value typewxh, default16x16iconPlacementβ classIconPlacement, value typestring, defaultleft bottomiconPlacementMarginβ classIconPlacementMargin, value typepixels, defaultvarieskeyBindingsβ classKeyBindings, value typestring, defaultDefaultKeyBindingslimitResizeβ classLimitResize, value typeT/F, defaultTmaximumMaximumSizeβ classMaximumMaximumSize, value typewxh (pixels), default2X screen w&hmoveOpaqueβ classMoveOpaque, value typeT/F, defaultFresizeBorderWidthβ classResizeBorderWidth, value typepixels, defaultvariesresizeCursorsβ classResizeCursors, value typeT/F, defaultTtransientDecorationβ classTransientDecoration, value typestring, defaultmenu titletransientFunctionsβ classTransientFunctions, value typestring, default-minimize-maximizeuseIconBoxβ classUseIconBox, value typeT/F, defaultF
buttonBindings(classButtonBindings) β this resource identifies the set of button bindings for window management functions π The named set of button bindings is specified in themwmresource description file. These button bindings are merged with the built-in default bindings. The default value for this resource is"DefaultButtonBindings".cleanText(classCleanText) β controls the display of window manager text in the client title and feedback windows β¨ If the default value ofTrueis used, the text is drawn with a clear (no stipple) background. This makes text easier to read on monochrome systems where abackgroundPixmapis specified. Only the stippling in the area immediately around the text is cleared. IfFalse, the text is drawn directly on top of the existing background.fadeNormalIcon(classFadeNormalIcon) β if this resource is given a value ofTrue, an icon is grayed out whenever it has been normalized (its window has been opened) π«Ά The default value isFalse.feedbackGeometry(classFeedbackGeometry) β sets the position of the move and resize feedback window π If this resource is not specified, the default is to place the feedback window at the center of the screen. The value of the resource is a standard window geometry string with the following syntax:[=]{+-}xoffset{+-}yoffset]frameBorderWidth(classFrameBorderWidth) β specifies the width (in pixels) of a client window frame border without resize handles π The border width includes the 3-D shadows. The default value is based on the size and resolution of the screen.iconBoxGeometry(classIconBoxGeometry) β indicates the initial position and size of the icon box π The value of the resource is a standard window geometry string with the following syntax:[=][widthxheight][{+-}xoffset {+-}yoffset]If the offsets are not provided, theiconPlacementpolicy is used to determine the initial placement. The units for width and height are columns and rows β not pixels, bestie. The actual screen size of the icon box window depends on theiconImageMaximum(size) andiconDecorationresources. The default value for size is(6 * iconWidth + padding)wide by(1 * iconHeight + padding)high. The default value of the location is+0 -0.iconBoxName(classIconBoxName) β specifies the name that is used to look up icon box resources π¦ The default name isiconbox.iconBoxSBDisplayPolicy(classIconBoxSBDisplayPolicy) β specifies the scroll bar display policy of the window manager in the icon box π Three possible values:all,vertical, andhorizontal. The default value,"all", causes both vertical and horizontal scroll bars always to appear. The value"vertical"causes a single vertical scroll bar to appear in the icon box and sets the orientation of the icon box to horizontal (regardless of theiconBoxGeometryspecification). The value"horizontal"causes a single horizontal scroll bar to appear in the icon box and sets the orientation of the icon box to vertical (regardless of theiconBoxGeometryspecification). Yes, it's crosswise like that β that's just how it is, lowkey iconic πΈiconBoxTitle(classIconBoxTitle) β specifies the name used in the title area of the icon box frame β The default value isIcons.iconDecoration(classIconDecoration) β specifies the general icon decoration π The resource value islabel(only the label part is displayed) orimage(only the image part is displayed) orlabel image(both the label and image parts are displayed). A value ofactivelabelcan also be specified to get a label (not truncated to the width of the icon) when the icon is selected π The default icon decoration for icon box icons is that each icon has a label part and an image part (label image). The default icon decoration for stand alone icons is that each icon has an active label part, a label part, and an image part (activelabel label image).iconImageMaximum(classIconImageMaximum) β specifies the maximum size of the icon image π The resource value iswidthxheight(for example,64x64). The maximum supported size is128x128. The default value of this resource is50x50.iconImageMinimum(classIconImageMinimum) β specifies the minimum size of the icon image π The resource value iswidthxheight(for example,32x50). The minimum supported size is16x16. The default value of this resource is16x16.iconPlacement(classIconPlacement) β this one decides the whole icon placement scheme bestie, like where your minimized windows go to chill. The value looks like this:
primary_layout secondary_layout [tight]
The layout values are literally these four:
topβ lay the icons out top to bottom.bottomβ lay the icons out bottom to top.leftβ lay the icons out left to right.rightβ lay the icons out right to left.
β οΈ Okay so do not use a horizontal (vertical) layout value for both theprimary_layoutand thesecondary_layout. Like, don't puttopfor theprimary_layoutandbottomfor thesecondary_layout. That's a vibe violation, don't do it. π
The primary_layout tells you whether, when an icon placement is done, the icon gets placed in a row or a column, plus the direction of placement. The secondary_layout tells you where to place the new rows or columns. So for example, top right means icons go top to bottom on the screen, and columns get added from right to left on the screen. Slay, it's giving grid energy. β¨
The default placement is left bottom β icons placed left to right on the screen, first row on the bottom of the screen, new rows added from the bottom of the screen to the top of the screen. And a tight value? It places icons with zero spacing in between icons. Super useful for aesthetic reasons π and also for X-terminals with small screens, iykyk.
iconPlacementMargin(classIconPlacementMargin) β sets the distance between the edge of the screen and the icons placed along the edge of the screen. The value should be greater than or equal to0. If the value you specified is invalid, a default value (see below π) gets used instead. That default value for this resource equals the space between icons as they're placed on the screen β and that space is based on maximizing the number of icons in each row and column. Efficiency queen. πkeyBindings(classKeyBindings) β identifies the set of key bindings for window management functions. If you specify it, these key bindings replace the built-in default bindings, no cap. The named set of key bindings is specified in themwmresource description file. Default value for this resource is"DefaultKeyBindings".limitResize(classLimitResize) β if this resource isTrue, you're not allowed to resize a window to greater than the maximum size. Default value isTrue. Respect the limits bestie. π§maximumMaximumSize(classMaximumMaximumSize) β used to limit the maximum size of a client window as set by the user or client. The resource value iswidthxheight(for example,1024x1024) where the width and height are in pixels. Default value is twice the screen width and height. Double it and give it to the next person, literally. π«ΆmoveOpaque(classMoveOpaque) β controls whether the actual window moves or whether a rectangular outline of the window moves. A default value ofFalsedisplays a rectangular outline on moves. (So by default it's the lil' outline ghost version, not the whole window dragging along.)resizeBorderWidth(classResizeBorderWidth) β specifies the width (in pixels) of a client window frame border with resize handles. The specified border width includes the 3-D shadows. The default value is based on the size and resolution of the screen. πresizeCursors(classResizeCursors) β indicates whether the resize cursors are always displayed when the pointer is in the window size border. IfTrue, cursors are shown; otherwise the window manager cursor is shown. Default value isTrue.transientDecoration(classTransientDecoration) β controls the amount of decoration thatmwmputs on transient windows. The decoration specification is exactly the same as for theclientDecoration(client specific) resource. Transient windows are identified by theWM_TRANSIENT_FORproperty, which is added by the client to indicate a relatively temporary window. Default value for this resource ismenu titleβ that is, transient windows have frame borders and a titlebar with a window menu button. π
An application can also specify which decorations mwm should apply to its windows. If it does so, mwm applies only those decorations indicated by both the application and the transientDecoration resource. Otherwise, mwm applies the decorations indicated by the transientDecoration resource. For more information see the description of XmNmwmDecorations on the VendorShell(3) reference page.
transientFunctions(class **TransientFunctions``**) β indicates which window management functions are applicable (or not applicable) to transient windows. The function specification is *exactly* the same as for theclientFunctions(client specific) resource. Default value for this resource is-minimize -maximize`. π no minimize and no maximize for the temp windows, they're on a strict schedule.
An application can also specify which functions mwm should apply to its windows. If it does so, mwm applies only those functions indicated by both the application and the transientFunctions resource. Otherwise, mwm applies the functions indicated by the transientFunctions resource. For more information see the description of XmNmwmFunctions on the VendorShell(3) reference page.
useIconBox(classUseIconBox) β if you give this resource a value ofTrue, icons are placed in an icon box. When an icon box is not used, the icons are placed on the root window (which is the default value). It's giving organized vs. free-range icons. π¦
π Client Specific Resources π
The syntax for specifying client specific resources is:
Mwm*client_name_or_class*resource_id
For example, Mwm*mterm*windowMenu is used to specify the window menu to be used with mterm clients. The syntax for specifying client specific resources for all classes of clients is:
Mwm*resource_id
Specific client specifications take precedence over the specifications for all clients. For example, Mwm*windowMenu is used to specify the window menu to be used for all classes of clients that don't have a window menu specified. Hierarchy! π
The syntax for specifying resource values for windows that have an unknown name and class β that is, windows that do not have a WM_CLASS property associated with them β is:
Mwm*defaults*resource_id
For example, Mwm*defaults*iconImage is used to specify the icon image to be used for windows that have an unknown name and class. Cute lil' fallback bestie. π«Ά
The following client specific resources can be specified:
π Client Specific Resources π
Here's the full list, one bullet per row so nothing gets lost β Name, Class, Value Type, Default, all of it π :
clientDecoration/ClientDecoration/ string /all.clientFunctions/ClientFunctions/ string /all.focusAutoRaise/FocusAutoRaise/ T/F / variesiconImage/IconImage/ pathname / (image)iconImageBackground/Background/ color / icon backgroundiconImageBottomShadowColor/Foreground/ color / icon bottom shadowiconImageBottomShadowPixmap/BottomShadowPixmap/ color / icon bottom shadow pixmapiconImageForeground/Foreground/ color / variesiconImageTopShadowColor/Background/ color / icon top shadow coloriconImageTopShadowPixmap/TopShadowPixmap/ color / icon top shadow pixmapmatteBackground/Background/ color / backgroundmatteBottomShadowColor/Foreground/ color / bottom shadow colormatteBottomShadowPixmap/BottomShadowPixmap/ color / bottom shadow pixmapmatteForeground/Foreground/ color / foregroundmatteTopShadowColor/Background/ color / top shadow colormatteTopShadowPixmap/TopShadowPixmap/ color / top shadow pixmapmatteWidth/MatteWidth/ pixels /0maximumClientSize/MaximumClientSize/wxh,vertical horizontal/ fill the screenuseClientIcon/UseClientIcon/ T/F /TusePPosition/UsePPosition/ string /nonzerowindowMenu/WindowMenu/ string /DefaultWindowMenuclientDecoration(classClientDecoration) β controls the amount of window frame decoration. The resource is specified as a list of decorations to specify their inclusion in the frame. If a decoration is preceded by a minus sign, that decoration is excluded from the frame. The sign of the first item in the list determines the initial amount of decoration. If the sign of the first decoration is minus,mwmassumes all decorations are present and starts subtracting from that set. If the sign of the first decoration is plus (or not specified), thenmwmstarts with no decoration and builds up a list from the resource. It's giving subtract-from-full vs. build-from-empty, and honestly? Both are valid. β¨
An application can also specify which decorations mwm should apply to its windows. If it does so, mwm applies only those decorations indicated by both the application and the clientDecoration resource. Otherwise, mwm applies the decorations indicated by the clientDecoration resource. For more information see the description of XmNmwmDecorations on the VendorShell(3) reference page.
The decoration menu is giving:
allβ Include all decorations (default value).borderβ Window border.maximizeβ Maximize button (includes title bar).minimizeβ Minimize button (includes title bar).noneβ No decorations.resizehβ Border resize handles (includes border).menuβ Window menu button (includes title bar).titleβ Title bar (includes border).
Examples, bestie:
Mwm*XClock.clientDecoration: -resizeh -maximize
This removes the resize handles and maximize button from XClock windows.
Mwm*XClock.clientDecoration: menu minimize border
This does the same thing as above. Note that either menu or minimize implies title.
π
clientFunctions (class ClientFunctions) π
This resource is used to indicate which mwm functions are applicable (or not applicable) to the client window. The value for the resource is a list of functions. If the first function in the list has a minus sign in front of it, then mwm starts with all functions and subtracts from that set. If the first function in the list has a plus sign in front of it, then mwm starts with no functions and builds up a list. Each function in the list must be preceded by the appropriate plus or minus sign and separated from the next function by a space.
An application can also specify which functions mwm should apply to its windows. If it does so, mwm applies only those functions indicated by both the application and the clientFunctions resource. Otherwise, mwm applies the functions indicated by the clientFunctions resource. For more information see the description of XmNmwmFunctions on the VendorShell(3) reference page.
The following table lists the functions available for this resource:
allβ Include all functions (default value).noneβ No functions.resizeβf.resizeβ .moveβf.moveβ .minimizeβf.minimizeβ .maximizeβf.maximizeβ .closeβf.killβ .
β See mwmrc(4).
π¦ focusAutoRaise (class FocusAutoRaise) π¦
When the value of this resource is True, clients are raised when they get the keyboard input focus. If the value is False, the stacking of windows on the display is not changed when a window gets the keyboard input focus. The default value is True when the keyboardFocusPolicy is explicit and False when the keyboardFocusPolicy is pointer.
π iconImage (class IconImage) π
This resource can be used to specify an icon image for a client (for example, Mwm*myclock*iconImage). The resource value is a pathname for a pixmap or bitmap file. The value of the (client specific) useClientIcon resource is used to determine whether or not user supplied icon images are used instead of client supplied icon images. The default value is to display a built-in window manager icon image.
πΈ iconImageBackground (class Background) πΈ
This resource specifies the background color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon background color (that is, specified by Mwm*background or Mwm*icon*background).
π iconImageBottomShadowColor (class Foreground) π
This resource specifies the bottom shadow color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon bottom shadow color (that is, specified by Mwm*icon*bottomShadowColor).
β iconImageBottomShadowPixmap (class BottomShadowPixmap) β
This resource specifies the bottom shadow Pixmap of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon bottom shadow Pixmap (that is, specified by Mwm*icon*bottomShadowPixmap).
π iconImageForeground (class Foreground) π
This resource specifies the foreground color of the icon image that is displayed in the image part of an icon. The default value of this resource varies depending on the icon background.
π§ iconImageTopShadowColor (class Background) π§
This resource specifies the top shadow color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon top shadow color (that is, specified by Mwm*icon*topShadowColor).
π iconImageTopShadowPixmap (class TopShadowPixmap) π
This resource specifies the top shadow Pixmap of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon top shadow pixmap (that is, specified by Mwm*icon*topShadowPixmap).
π matteBackground (class Background) π
This resource specifies the background color of the matte, when matteWidth is positive. The default value of this resource is the client background color (that is, specified by Mwm*background or Mwm*client*background).
π₯ matteBottomShadowColor (class Foreground) π₯
This resource specifies the bottom shadow color of the matte, when matteWidth is positive. The default value of this resource is the client bottom shadow color (that is, specified by Mwm*bottomShadowColor or Mwm*client*bottomShadowColor).
π matteBottomShadowPixmap (class BottomShadowPixmap) π
This resource specifies the bottom shadow Pixmap of the matte, when matteWidth is positive. The default value of this resource is the client bottom shadow pixmap (that is, specified by Mwm*bottomShadowPixmap or Mwm*client*bottomShadowPixmap).
π matteForeground (class Foreground) π
This resource specifies the foreground color of the matte, when matteWidth is positive. The default value of this resource is the client foreground color (that is, specified by Mwm*foreground or Mwm*client*foreground).
π«Ά matteTopShadowColor (class Background) π«Ά
This resource specifies the top shadow color of the matte, when matteWidth is positive. The default value of this resource is the client top shadow color (that is, specified by Mwm*topShadowColor or Mwm*client*topShadowColor).
β¨ matteTopShadowPixmap (class TopShadowPixmap) β¨
This resource specifies the top shadow pixmap of the matte, when matteWidth is positive. The default value of this resource is the client top shadow pixmap (that is, specified by Mwm*topShadowPixmap or Mwm*client*topShadowPixmap).
π― matteWidth (class MatteWidth) π―
This resource specifies the width of the optional matte. The default value is 0, which effectively disables the matte.
π maximumClientSize (class MaximumClientSize) π
This resource is either a size specification or a direction that indicates how a client window is to be maximized. The resource value can be specified as a size specification widthxheight. The width and height are interpreted in the units that the client uses (for example, for terminal emulators this is generally characters). Alternately, vertical or horizontal can be specified to indicate the direction in which the client maximizes.
If this resource is not specified, the maximum size from the WM_NORMAL_HINTS property is used if set. Otherwise the default value is the size where the client window with window management borders fills the screen. When the maximum client size is not determined by the maximumClientSize resource, the maximumMaximumSize resource value is used as a constraint on the maximum size.
πΈ useClientIcon (class UseClientIcon) πΈ
If the value given for this resource is True, a client-supplied icon image takes precedence over a user-supplied icon image. The default value is True, giving the client-supplied icon image higher precedence than the user-supplied icon image.
π usePPosition (class UsePPosition) π
This resource specifies whether Mwm honors program specified position PPosition specified in the WM_NORMAL_HINTS property in the absence of an user specified position. Setting this resource to on, causes mwm to always honor program specified position. Setting this resource to off, causes mwm to always ignore program specified position. Setting this resource to the default value of nonzero cause mwm to honor program specified position other than (0,0).
π windowMenu (class WindowMenu) π
This resource indicates the name of the menu pane that is posted when the window menu is popped up (usually by pressing button 1 on the window menu button on the client window frame). Menu panes are specified in the mwm resource description file. Window menus can be customized on a client class basis by creating custom menus in your mwmrc file (see mwmrc(4)) and specifying resources to activate the custom menus. The resources have the form Mwm*client_name_or_class*windowMenu. The default value of this resource is DefaultWindowMenu.
π Resource Description File π
The mwm resource description file is a supplementary resource file that contains resource descriptions that are referred to by entries in the resource manager property (see xrdb(1) and the defaults files (.Xdefaults, app-defaults/Mwm). It contains descriptions of resources that are to be used by mwm, and that cannot be easily encoded in the defaults files (a bitmap file is an analogous type of resource description file). A particular mwm resource description file can be selected using the configFile resource.
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 π yes bestie, your mouse can do tricks too
- Keys β window manager functions can be bound (associated) with key press events β¨οΈ the classic, the iconic
- Menus β menu panes can be used for the window menu and other menus posted with key bindings and button bindings β¨ the whole
mwmresource description file is described over inmwmrc(4), go read that one for the full tea π«
π Environment π
okay so mwm reads a bunch of environment variables and honestly they're all doing their own little job, here's the whole roster:
HOMEβ this one tells themwmwindow manager where the user's home directory is πLANGβ tellsmwmthe user's choice of language, which it uses for themwmmessage catalog and themwmresource description file πXFILESEARCHPATH,XUSERFILESEARCHPATH,XAPPLRESDIR,XENVIRONMENT,LANG, andHOMEβmwmuses all of these when determining search paths for resource defaults files π (yep,LANGandHOMEshow up twice on this list, they're just that booked and busy)XBMLANGPATHβmwmmay also use this one to search for bitmap files πΌοΈ$HOME/.motifbindβmwmreads this file if it exists, to install a virtual key bindings property on the root window π for more information on the content of the.motifbindfile, see β¨ (that's literally how it ends, the manpage is being mysterious, iykyk)MWMSHELL(orSHELL, ifMWMSHELLis not set) β this one specifies the shell to use when executing commands via thef.execfunction π so like, it's the plug, basically
π Files π
here's the map, bestie, no cap:
/usr/X11R6/lib/X11/$LANG/system.mwmrc
/usr/X11R6/lib/X11/system.mwmrc
/usr/X11R6/lib/X11/app-defaults/Mwm
$HOME/Mwm
$HOME/$LANG/.mwmrc
$HOME/.mwmrc
π RELATED INFORMATION π
go touch grass in these other pages, they're all linked and lowkey essential π
VendorShell(3), VirtualBindings(3), X(1), XmInstallImage(3), xrdb(1).
fr fr, that's the whole page β you made it to the end and I'm so proud of you π₯Ήπ
okay that's a wrap on the mwm manual, signed off as the mwm(user cmd) page π go forth and manage your windows, you're literally the main character of the X server now πβ¨π
π¦ where this page comes from
- alpine 3.24: motif-doc 2.5.2-r0 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms