4Dwm(1X)
4Dwm - The IRIS Extended Motif Window Manager.
As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.
NAME 4Dwm - The IRIS Extended Motif Window Manager. SYNOPSIS 4Dwm [options] DESCRIPTION 4Dwm is an X Window System client based on mwm. It provides window management functionality, desks and some session management functionality. It provides functions that facilitate control (by the user and the programmer) of elements of window states such as placement, size, icon/normal display, and input-focus ownership. The session management functionality can launch clients as well as provide a way of stopping a client. This manual page only describes additions to and differences from mwm. Refer to the mwm manual page for more information. For menu contents, button bindings and key bindings see /usr/lib/X11/system.4Dwmrc. For 4Dwm resources settings see /usr/lib/X11/app-defaults/4DWm. Options -display display This option specifies the display to use; see X(1). -xrm resourcestring This option specifies a resource string to use. -multiscreen This option causes 4Dwm to manage all screens on the display. The default is to manage only a single screen, but the /usr/lib/X11/app-defaults/4DWm overrides the default behavior by setting the resource multiScreen to True. -name name This option causes 4Dwm to retrieve its resources using the specified name, as in name*resource. -screens name [name [...]] This option specifies the resource names to use for the screens managed by 4Dwm. If 4Dwm is managing a single screen, only the first name in the list is used. If 4Dwm is 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. -launch This option along with SG_manageSession being True causes 4Dwm to check the list of windows that have been saved and their commands and attempt to launch the appropriate applications. This option is removed from the command line of a 4Dwm that has been restarted, so as to not launch applications the user has quit (useful for explicit session management). Windows Control Panel The Windows control panel (accessed from toolchest Desktop- >Customize->Windows) can be used to set selected 4Dwm resources such as useIconBox, moveOpaque, clientAutoPlace/interactivePlacement, and SG_autoSave. See the windows man page for more details. Desks Desks allows the user to organize windows into related groups called "desks". A desk typically contains all of the windows relating to a particular task or context. Desks manages the location, size and state of windows in each desk. Desks does not manage minimized window icons. A window that is not visible in a desk is referred to as "hidden". With SG_manageSession set to True, desks information gets saved at the time that the session information gets saved. The active desk at the time the save is done is the desk that will first be active the next time 4Dwm starts. The toolchest entry "Desktop->Desks Overview" invokes the user interface controls (ov) needed to use desks easily and effectively. Ov can display a miniature picture of the layout of each desk. Ov provides ways to create a desk, rename a desk, delete a desk, switch between desks, move windows between desks, copy windows between desks, put a window in all desks, list all the windows, and some other window management tasks. See the ov man page for more details. See the CAVEATS section at the end of this man page for some desks behaviors that may be unexpected. Session Management 4Dwm keeps track of the windows that are open on your display. If SG_manageSession is True and the "-launch" option is given, 4Dwm checks the list of windows that may have been saved and their commands to determine which applications 4Dwm should attempt to launch automatically. If SG_manageSession is True, 4Dwm reads the WM_COMMAND property on the windows that it manages to get the commands with which the application wishes to be launched. Not all applications provide a WM_COMMAND property or sufficient information in the property to successfully launch the application. Sometimes 4Dwm can launch applications that were started remotely. The WM_CLIENT_MACHINE property on the application window identifies the remote machine on which the application runs. The default 4Dwm session behavior is to save the list of window commands and minimized window icon locations periodically and when you log out or quit or restart 4Dwm. This behavior corresponds to the "Save Windows & Desks - Continuously" option on the Windows control panel (SG_autoSave: true). The other option is to use a list that you explicitly saved. This behavior corresponds to the "Save Windows & Desks - Explicitly" option on the Windows control panel (SG_autoSave: false). The toolchest entry "Desktop- >Customize->Windows" provides access to the Windows control panel. See the windows man page and help text for more details on "Saving Your Desktop Layout". Backgrounds It switches the screen backgrounds automatically when the user switches desks, and it communicates to the file manager when icons are on the background, so the file manager can maintain the background. Only those backgrounds set through either the Background customization panel or through the xsetroot command are accepted. Backgrounds set through any other tool are ignored. If file manager icons are on the background, the change will not be seen. If icons on the background are disabled, the change will have an effect, although it will not show up in the desks overview, and will be forgotten after the user switches desks or starts a new login session. Whenever a new desk is created, one of a set of "granite" backgrounds will be assigned to that desk. Dynamic Menus Dynamic menus are used internally for several desktop applications to combine their menus with specific 4Dwm root menus and dynamically update the contents the menu. Dynamic menus have special limitations that other menus do not have. There is currently no publicly available method for other applications to take advantage of this capability. Dynamic menus can be identified in the /usr/lib/X11/system.4Dwmrc file by their use of the keyword "dynamic". tellwm Some 4Dwm functions are available through the "tellwm" command. Tellwm is meant to be used for 4Dwm related toolchest and windows control panel functions. See the tellwm man page for more details. Rounded Looks The window frames have been given a slightly more rounded look. Resources have been added to allow a black outline around the frame and title bar, and for the buttons on the title bar to appear as decals. Also, the calculation of topShadowColor and bottomShadowColor from the background color has been adjusted. Icons Icons are small graphic representations of windows. 4Dwm provides some support for IRIS Image format files (type NORMAL) to be specified as iconImage files. This works transparently through the standard mwm mechanism for bitmapDirectory and iconImage. 4Dwm also searches for icons based on the instance name portion of the WM_CLASS property, appended with ".icon". It first searches the directory specified by bitmapDirectory, then $HOME/.icons then /usr/lib/images. If the icon is still not found, then 4Dwm searches for icons based on the class name portion of the WM_CLASS property, appended with ".icon". It uses a file called "default.icon" (if it exists) if no match was found in the above search. One way to create an IRIS Image format iconImage file is to use an application such as snapshot. Use izoom to resize the image to fit the iconImageMaximum (default 85x67 pixels). Icons are cached by 4Dwm based on their path. As with resources, 4Dwm will need to be restarted to pick up new settings. Clients may change the icon for their window through the WM_HINTS property (bitmaps or change the contents of the icon window) or the _SGI_ICON_HINTS property (for IRIS image format icons as well as bitmaps). _SGI_ICON_HINTS is a STRING property that 4Dwm uses similarly to the way 4Dwm uses the WM_CLASS property for icons. iconImageMaximum can be adjusted to a preferred size for icons with these images. These IRIS Image format images are not resized to fit the iconImageMaximum. They are either clipped or centered or rejected. fadeNormalIcon is not supported on multi-color icons. On some systems, the 4Dwm multi-colored icons will share the same colormap as the desktop. This is an attempt at further reducing colormap flashing. On other systems that support a 24 bit TrueColor visual, this visual is used for the multi-colored icons and the iconImageColors resource is ignored. An icon tiling area can be specified through the use of margins from the edges of the screen. Margins that would cause no tiling area or an off screen area are defaulted to the iconPlacementMargin value. The minimum size of the tiling area is the size of one icon. Use of Overlay Planes 4Dwm uses the overlay planes (if they are available) to help reduce the number of expose events on clients in the normal planes. Be aware that there are only a small number of colors available for use in the overlay/popup planes. If a system supports popup planes, window outlines are drawn in the popup planes during window configuration operations that require window outlines (initial placement, move, resize). This is resource controllable (SG_useOverlay, SG_useOverlaySolid). Menus and feedback windows appear in the popup planes (if available). These windows share a colormap in the popup planes, so if a color change is desired for one of the windows it must be made for all of them. Which planes are used is controlled by the SG_VisualType and SG_VisualDepth resources. Clients in the overlay planes have their window frames drawn in the same visual as the client. These frames are similar to the frames that would appear on monochrome systems. These frames also have some other limitations. See the SG_framesInOverlays resource. Num_Lock and Scroll_Lock 4Dwm treats the Num_Lock and Scroll_Lock keys in a similar manner to Lock (Caps_Lock). The Num_Lock and Scroll_Lock keys modify the button and key events that 4Dwm receives. This can affect the 4Dwm button and key bindings. For the most part, 4Dwm ignores the Num_Lock and Scroll_Lock so that the unmodified button and key bindings still work. If there exist button and key bindings that use the modifiers that Num_Lock and Scroll_Lock correspond to, then those button and key bindings may be executed as well (depending on the order in the .4Dwmrc file and the type of function). Additional Functions Functions are used in the resource description file when defining button bindings, key bindings and menus. 4Dwm uses different, although similar, resource description files than mwm. The 4Dwm resource files are listed in the FILES section. f.lower_icons This function causes all icons to be lowered to the bottom of the window stack. f.minimize_all This function causes all client windows to be minimized (iconified). Note that not all clients allow themselves to be minimized. f.normalize_all This function causes all clients windows to be displayed with their normal size. f.quit_app This function is used to terminate a client. If the _WM_QUIT_APP protocol is set up (as part of WM_PROTOCOLS similarly to the way WM_DELETE_WINDOW might be), the client is sent a client message event indicating that the client window should be quit. If the client does not have the _WM_QUIT_APP protocol set up, this function tries WM_DELETE_WINDOW and then tries WM_SAVE_YOURSELF. If the client does not have any of these protocols set up then this function causes a client's X connection to be terminated (usually resulting in termination of the client). f.raise_icons This function causes all icons to be raised to the top of the window stack. f.raise_move This function causes the corresponding client window to be raised to the top of the window stack and to be interactively moved. Note that due to use of the moveThreshold this function is only available as a ButtonBinding over a client window. f.raise_resize This function causes the corresponding client window to be raised to the top of the window stack and to be interactively resized. Note that due to use of the moveThreshold this function is only available as a ButtonBinding over a client window. f.restore_all This function restores the previous state (normal or maximized) of all client windows that are displayed as icons. f.set_behavior This function causes the window manager to restart with the default behavior (if a custom behavior is configured) or revert to the custom behavior. This function has been extended to have a third behavior, IRIS Defaults mode. Additional Desks Functions These functions are only to be used if SG_manageSession is set to False. These functions allow access to desks functions that are automatically taken care of if SG_manageSession is set to True. Setting SG_manageSession to False and using these functions is not suggested (the Desks Overview (ov) may be used in this mode). f.make_permanent This function causes a specific window to be remembered by desks. f.make_permanent_all This function causes all known windows to be remembered by desks. f.make_transient This function causes a specific window to be forgotten by desks. f.save_config This function causes the appropriate $HOME/.desktop- <hostname>/0.0/4Dwm* files to be written. Only the existing desks and "permanent" windows are written. f.switch_desk deskName This function causes the desk specified in the deskName argument to become the active desk (if the desk exists). Additional Resources 4DWm is the resource class name for 4Dwm. 4Dwm is the resource instance name for 4Dwm and takes precedence over 4DWm when used to specify resources. The additional resources are specific appearance and behavior resources. They are not set separately for different 4Dwm user interface components. The syntax for specifying the additional specific appearance and behavior resources is 4DWm*resource_id SG_autoSave (class SG_AutoSave) If True, and SG_manageSession is True, 4Dwm will "continuously" and at log out, restart and quit time save the WM_COMMAND properties from the active windows and their desks state, location and geometry. This information is used the next time 4Dwm is started. If False, and SG_manageSession is True, 4Dwm must be told to save the session information "explicitly". This is a snapshot of the currently active windows that is retained until another save is done. Explicit saves can be done from the Windows control panel or with "tellwm save_configuration". When setting SG_manageSession to False, the user should consider removing the $HOME/.desktop-<hostname>/0.0/4Dwm* files. If you have had SG_manageSession set to false, and you return it to True, you may see undefined behavior if the $HOME/.desktop-<hostname>/0.0/4Dwm* files are out of sync with each other. Only applications that are in both the $HOME/.desktop- <hostname>/0.0/4Dwmdesks file and the $HOME/.desktop-<hostname>/0.0/4Dwmsession file are considered for launching. The default value is True. SG_ditherMidShadows (class SG_DitherMidShadows) If True, dithers the middle shadow color rather than selecting a color between the top/bottom shadow color and the background color. If False, it does not. The default value is True. SG_frameOutline (class SG_FrameOutline) If True, draws a black outline around the frame. If False, it does not. The default value is True. SG_framesInOverlays (class SG_FramesInOverlays) If True, clients in the overlay planes have their frames drawn in the same visual and colormap as the client. For such clients, no color or pixmap resources or mattes are provided for the overlay window frames. The frames will appear in colors from the client's colormap. If False, all clients will have their frames drawn in the default visual. The default value is True. freezeOnConfig (class FreezeOnConfig) This is an undocumented resource of mwm. If True, the X server is grabbed during configuration operations (initial placement, move, and resize of windows). Clients will seem to "freeze". If False, window outlines will flash during configuration operations except when overlay visuals are available, and SG_useOverlay and SG_useOverlaySolid are True. The default value is False. SG_iconAutoPlaceUnique (class SG_IconAutoPlaceUnique) If True and iconAutoPlace is true 4Dwm will try not to place a new icon where another current client has been iconified. The user can override this by moving an icon to a location if there is no icon visible at that location. If False and iconAutoPlace is true 4Dwm uses the first place available for new icons. The default value is True. SG_iconImageColors (class SG_IconImageColors) Used to specify that multi-colored icons should use the GL colormap or only allocate a limited number of colors in the default colormap. If the GL colormap is selected, the colors displayed in the icons may change if GL programs change the colors in the GL colormap or the currently installed colormap conflicts with the GL colormap. When the GL colormap is used with the icon box, the icon box colormap takes precedence over the GL colormap. Valid values are: 0(GL colormap), 16, 32, 64, 128. The default value is 0. SG_iconPlacementBottomMargin (class SG_IconPlacementBottomMargin) This resource sets the distance between the bottom edge of the screen and the icons that are placed along the bottom edge of the screen. The value should be greater than or equal to 0 and less than the screen height. A default value is used if the value specified is invalid. SG_iconPlacementLeftMargin (class SG_IconPlacementLeftMargin) This resource sets the distance between the left edge of the screen and the icons that are placed along the left edge of the screen. The value should be greater than or equal to 0 and less than the screen width minus the icon width. A default value is used if the value specified is invalid. SG_iconPlacementRightMargin (class SG_IconPlacementRightMargin) This resource sets the distance between the right edge of the screen and the icons that are placed along the right edge of the screen. The value should be greater than or equal to 0 and less than the screen width. A default value is used if the value specified is invalid. SG_iconPlacementTopMargin (class SG_IconPlacementTopMargin) This resource sets the distance between the top edge of the screen and the icons that are placed along the top edge of the screen. The value should be greater than or equal to 0 and less than the screen height minus the icon height. A default value is used if the value specified is invalid. SG_initialDeskName (class SG_InitialDeskName) This resource sets the name of the first desk that is created the first time 4Dwm is run, before the 4Dwmdeskname file exists. Once the 4Dwmdeskname file exists, this resource is no longer used. The default value is "Desk 1". SG_manageSession (class SG_ManageSession) If True, and if the session has been saved (either continuously or explicitly) 4Dwm will attempt to launch applications from the saved WM_COMMAND properties when 4Dwm starts (if the applications are not already running). If False, 4Dwm does not save WM_COMMANDs or launch the corresponding applications. If a $HOME/.desktop- <hostname>/0.0/4Dwmdesks file exists, 4Dwm will use it for laying out desks. Saving of the desks information is not done automatically. Information about windows is not forgotten when the windows go away if they windows are "permanent" windows. Setting SG_manageSession to False is not the preferred mode. The default value is True. SG_outlineDecoration (class SG_OutlineDecoration) If True, configuration outlines track window decorations. If False, a single outline is displayed. The default value is True. SG_packIconsMenuItem (class SG_PackIconsMenuItem) The is only provided for localization purposes. The format is similar to a menu entry. The default value is \"Pack Icons\" _P Shift Alt<Key>F7 f.pack_icons\n pointerColor (class PointerColor) Defines the color of the pointer. The default value is red. pointerColorBackground (class PointerColorBackground) Defines the color of the pointer background with a two color cursor. The default value is white. SG_shapeDecoration (class SG_ShapeDecoration) If True, arbitrary shaped windows are decorated normally. If False, it turns off all decorations on all arbitrary shaped windows. The default value is True. SG_titleLeft (class SG_TitleLeft) This resource specifies whether the text in the title bar is left justified. If false, the text is centered. The default value is True. SG_titleOutline (class SG_TitleOutline) If True, draws a black outline around the title bar. If False, it does not. The default value is True. SG_titlePadding (class SG_TitlePadding) The number of pixels by which the title bar height is padded. The pixels are divided between above the title text and below it. Valid numbers are in the range of 0 to 100. The default value is 3. SG_useBackgrounds (class SG_UseBackgrounds) If True, manages the screen backgrounds. If False, it does nothing with the screen backgrounds. The default value is False, but it is set to True on the Xsession.dt command line if the "desktop" is turned on. SG_useDecals (class SG_UseDecals) If True, uses decals on the title bar buttons. If False, it uses the mwm look. The default value is True. SG_useOverlay (class SG_UseOverlay) If True, tries to use the popup planes (if available, and if not then other overlay planes if available) for drawing the configuration outlines. If popup or overlay planes are not available it uses the default visual. If False, it uses the default visual. The default value is True. SG_useOverlaySolid (class SG_UseOverlaySolid) If True and SG_useOverlay is True, then a copy operation is used to draw the configuration outlines. This is faster than the xor algorithm used when this is false, but may look strange (cause temporary damage and then expose events) over clients in the overlay planes. If SG_useOverlaySolid is set to false and freezeOnConfig is false, then the configuration outlines will flash. The default value is True. SG_visualDepth (class SG_VisualDepth) This resource controls the depth of the visual to be used for the menus and feedback window. The default is to choose an optimum value based on the available hardware. If the hardware does not support the requested depth for the requested SG_visualType, a warning is issued and a default depth is chosen. SG_visualType (class SG_VisualType) This resource controls the visual in which the menus and feedback window appear. Possible values are "normal" specifying the normal planes, "overlay" specifying overlay planes, and "popup" specifying the popup planes. On hardware supporting only popup planes, specifying overlay results in popup planes. If the requested visual type is not supported by the hardware, a warning is issued and a default type is used. The default is to use the popup planes. Use of the popup planes avoids interfering with other clients on the screen, but provides only three colors; the colors may be different than the colors that would be allocated in the normal planes. To have the full ability to chose colors, set this resource to "normal". SG_watchMotifHints (class SG_WatchMotifHints) If True, 4Dwm responds to most changes in the _MOTIF_WM_HINTS property. If False, it ignores most changes to the _MOTIF_WM_HINTS property. The default value is True. SG_wMenuButtonClick2Quit (class SG_WMenuButtonClick2Quit) If True, 4Dwm will allow a double-click on the window menu button to do the "Exit" (f.quit_app) function if it is available on the window and the "Close" (f.kill) function is not available on the window. If False, it does not do the f.quit_app on double-click of the window menu button. The default value is True. IRIS Defaults The following values are available through the /usr/lib/X11/app-defaults/4DWm file and/or the IRIS Defaults mode of the window manager. The following component appearance resources that apply to all window manager parts can be specified: Component Appearance Resources All Window Manager Parts Name Class Value Type Default ______________________________________________________________ background Background color varies- backgroundPixmap BackgroundPixmap string-- varies- bottomShadowColor Foreground color varies- bottomShadowPixmap BottomShadowPixmap string-- varies- fontList FontList string--- varies foreground Foreground color varies- saveUnder SaveUnder T/F F topShadowColor Background color varies- topShadowPixmap TopShadowPixmap string-- varies- -The default is chosen based on the visual type of the screen. --Image name. See XmInstallImage(3X). ---X11 R4 Font description. The following component appearance resources that apply to frame and icons can be specified: Frame and Icon Components Name Class Value Type Default ____________________________________________________________________ activeBackground Background color varies- activeBackgroundPixmap BackgroundPixmap string-- varies- activeBottomShadowColor Foreground color varies- activeBottomShadowPixmap BottomShadowPixmap string-- varies- activeForeground Foreground color varies- activeTopShadowColor Background color varies- activeTopShadowPixmap TopShadowPixmap string-- varies- -The default is chosen based on the visual type of the screen. --See XmInstallImage(3X). The following specific appearance and behavior resources can be specified: Specific Appearance and Behavior Resources Name Value Type Default __________________________________________________________________________________________________ autoKeyFocus T/F T autoRaiseDelay millisec 500 SG_autoSave T/F T bitmapDirectory directory /usr/include/X11/bitmaps buttonBindings string "4DwmButtonBindings" cleanText T/F T clientAutoPlace T/F T colormapFocusPolicy string keyboard configFile file .4Dwmrc SG_confirmAtPointer T/F T deiconifyKeyFocus T/F T SG_ditherMidShadows T/F T doubleClickTime millisec. multiClickTime enableWarp T/F T enforceKeyFocus T/F T fadeNormalIcon T/F F frameBorderWidth pixels 7 SG_frameOutline T/F T SG_framesInOverlays T/F T freezeOnConfig T/F F iconAutoPlace T/F T SG_iconAutoPlaceUnique T/F T iconBoxGeometry string 6x1+0-0 iconBoxName string iconbox iconBoxSBDisplayPolicy string all iconBoxTitle XmString Windows Overview iconClick T/F F iconDecoration string label image SG_iconImageColors number 0 iconImageMaximum wxh 85x67 iconImageMinimum wxh 16x16 iconPlacement string left top tight iconPlacementMargin pixels 10 SG_iconPlacementBottomMargin pixels varies SG_iconPlacementLeftMargin pixels 125 SG_iconPlacementRightMargin pixels varies SG_iconPlacementTopMargin pixels varies SG_initialDeskName string Desk 1 interactivePlacement T/F F keyBindings string "4DwmKeyBindings" keyboardFocusPolicy string pointer limitResize T/F T lowerOnIconify T/F F maximumMaximumSize wxh (pixels) 2X screen w&h moveOpaque T/F F moveThreshold pixels 3 multiScreen T/F T SG_manageSession T/F T SG_outlineDecoration T/F T SG_packIconsMenuItem string passButtons T/F T passSelectButton T/F T pointerColor color varies pointerColorBackground color varies positionIsFrame T/F F positionOnScreen T/F T quitTimeout millisec. 1000 raiseKeyFocus T/F F resizeBorderWidth pixels 7 resizeCursors T/F T screens string varies shapeDecoration T/F F showFeedback string behavior restart quit startupKeyFocus T/F T SG_titleLeft T/F T SG_titleOutline T/F T SG_titlePadding pixels 3 transientDecoration string menu title transientFunctions string -minimize -quit SG_useBackgrounds T/F F SG_useDecals T/F T useIconBox T/F F SG_useOverlay T/F T SG_useOverlaySolid T/F T SG_visualDepth number varies SG_visualType string varies SG_watchMotifHints T/F T wMenuButtonClick T/F T wMenuButtonClick2 T/F T SG_wMenuButtonClick2Quit T/F T The following client specific resources can be specified: Client Specific Resources Name Value Type Default _______________________________________________________________________ clientDecoration string all clientFunctions string all focusAutoRaise T/F F iconImage pathname (image) iconImageBackground color icon background iconImageBottomShadowColor color icon bottom shadow iconImageBottomShadowPixmap string icon bottom shadow pixmap iconImageForeground color varies iconImageTopShadowColor color icon top shadow color iconImageTopShadowPixmap string icon top shadow pixmap matteBackground color background matteBottomShadowColor color bottom shadow color matteBottomShadowPixmap string bottom shadow pixmap matteForeground color foreground matteTopShadowColor color top shadow color matteTopShadowPixmap string top shadow pixmap matteWidth pixels 0 maximumClientSize wxh fill the screen useClientIcon T/F F usePPosition string nonzero windowMenu string "4DwmWindowMenu" Localization of Strings Most 4Dwm strings can be localized via the resource mechanism. These resources are listed in the /usr/lib/X11/app-defaults/4DWm file. FILES /usr/lib/X11/$LANG/system.4Dwmrc /usr/lib/X11/system.4Dwmrc /usr/lib/X11/app-defaults/4DWm $HOME/4DWm $HOME/.Xdefaults $HOME/$LANG/.4Dwmrc $HOME/.4Dwmrc $HOME/.motifbind $HOME/.desktop-<hostname>/0.0/4Dwmdesks $HOME/.desktop-<hostname>/0.0/4Dwmdeskname $HOME/.desktop-<hostname>/0.0/4Dwmsession $HOME/.desktop-<hostname>/0.0/4DWm or $HOME/.Sgiresources SEE ALSO mwm(1X), ov(1), tellwm(1X), windows(1), background(1), fm(1), xsetroot(1), X(1) CAVEATS Sending a SIGKILL to 4Dwm usually causes loss of input focus. Since SIGKILL can not be caught, 4Dwm is not able to exit gracefully. If you have a terminal emulator window available, use "tellwm quit" to terminate 4Dwm. When invoking f.exec commands, 4Dwm uses the MWMSHELL environment variable if it is set, otherwise the value of the SHELL environment variable if it is set, otherwise /bin/sh. These must be valid command shells for the f.exec to work. f.exec command failure might not be obvious. The f.exec command is most efficient when MWMSHELL is set to /bin/sh. Certain client programs have chosen not to use the "Close" function. Double-clicking on their window menu button will not close the window. These client programs can be identified by the lack of "Close" in their menu. Occasionally, when moving between two windows using non- default colormaps, there is some brief colormap flashing. The correct colormap is normally installed. On occasion a 4Dwm menu will not be able to get the X grabs it needs to function. The result is a 4Dwm menu that stays posted and does not respond to the pointer. Usually pressing the Esc key will remedy the situation. If there are more icons that need to be displayed than can fit in the icon tiling region, then there may become holes in the tiling region (places where you cannot place an icon that you used to be able to place one). The workaround is to reduce the number of icons needed and restart 4Dwm. Sometimes the iconbox does not display a scroll bar to allow access to all the available icons. To work around this problem, resize the iconbox or use the Pack Icons entry on the iconbox menu. 4Dwm may print out an error message when icon image files are not found or are not valid image files. This may happen in an unusual way if the client's class starts with a '/'. Clients should not have their instance or class name begin with a '/' for the 4Dwm icon search to work properly. With some applications, there is a problem detecting double-clicks when 4Dwm has a button binding active in the window context. By default, 4Dwm does not have such a button binding (except for on Meta<Btn3Down>). This may happen with the Desks Overview (ov), interfering with switching desks. Windows may receive a stray Button Up event as a result of the user double-clicking on the system button of the window above it (when it succeeds in closing the window). Sometimes additions to the keyBindings in the .4Dwmrc file will cause the keyboard focus to not be set to any window. If this happens use the pointer to pop up a 4Dwm menu (or move or resize a window if the rubberbands are displayed in the overlay planes). With pointer focus mode, some applications that use modal dialogs may lose input focus. If this happens, move the pointer out of the application window. Session management attempts to launch applications that provide a WM_COMMAND property on their windows. There are many reasons that the WM_COMMAND alone is not sufficient information to successfully launch an application. The session management and desks code work together to try to determine which window should appear at what location and size and in which desk. This determination is based on the WM_CLASS and WM_COMMAND properties of the window, so 4Dwm may not be able to distinguish between different windows, especially if these windows lack the WM_CLASS and WM_COMMAND properties. Desks remembers the state and geometry of your window in your various desks. Session management trys to launch the applications that correspond to the windows. If session management can not launch the application, desks may still remember the configuration of that window. Launching the application by hand may cause the windows to appear in the state that desks remembered them. Deleting a desk does not cause the windows that appear in that desk to go away (close or quit) or the application to quit running. If the windows do not appear in any remaining desk, access the windows from the Desks Overview (ov) Window->List All... menu selection (or the Windows Overview (iconbox) if it is present). Sometimes the $HOME/.desktop-<hostname>/0.0/4Dwm* files are corrupted on shutdown/reboot or if the power is turned off. If 4Dwm is running with continuous session management, it is recommended that 4Dwm be quit before the shutdown/reboot. This can be done by issuing the command "tellwm quit" from a terminal emulator window. The $HOME/.desktop-<hostname>/0.0/4Dwm* files are only meant to be written by 4Dwm. Hand editing these files will result in undefined behavior. If you choose to run multiple instances of 4Dwm, be aware that they will overwrite each other's $HOME/.desktop- <hostname>/0.0/4Dwm* files. The resulting desks and session management behavior is undefined. With careful attention to turning off session management (SG_manageSession: false) or to setting session management to the explicit (SG_autoSave: false) mode, it is possible to use the window management functions of 4Dwm. This version of 4Dwm has some problems with multi-headed systems. One is the above multiple instances of 4Dwm overwriting each other's files if you choose to run separate instances of 4Dwm on each head. Another problem is when fm is running, the dynamic root menu may be incorrect (usually on the head on which fm is not running). 4Dwm has not kept up with the increasing number of visuals available on some systems. There may be some visuals with which it does not work properly, especially on multi-headed systems. Occasionally there seems to be an interaction between the Desks Overview (ov) window and 4Dwm that appears as a constant resizing of the ov window. Manually resizing or closing the ov window should stop this behavior. There is an interaction between ov and 4Dwm when the "Global" desk is the current desk which causes new windows to be mapped at location 0,0. Since 4Dwm session mangement tries to launch applications, if you have your own $HOME/.sgisession or $HOME/.xsession file that launches the same applications as 4Dwm launches, you may end up with multiple copies of the same application running. If you have SG_manageSession set to True, you should remove the launching of applications that 4Dwm can launch from these files. 4Dwm session management and desks do not work always very well with multi-windowed applications. There is currently no mechanism in place to relate windows of an application. Often times not all windows of an application can be made to appear as they were when a session was saved. Dialogs or other windows that an application may launch may appear in a different desk than the other windows of the application. Desks does not understand about maximized windows. Since windows are quite often resized when switching desks, the maximized windows usually turn into large normalized windows upon return to the desk where they were previously maximized. If an attempt is made to change the background through a tool other than the background control panel or xsetroot, a warning will be given. If file manager icons on the background are enabled, the warning will always be given. If they are disabled, the warning will only be given the first time it occurs. Backgrounds are cached for all desks. If a user has many desks, each using many colors, the colors can fill up the colormap. Similarly, if many desks each have large background pixmaps, much server memory can be used. Menus and feedback windows appear by default in the popup planes (if available). These windows share a colormap in the popup planes, so if a color change is desired for one of the windows it must be made for all of them. There are only three colors available in the popup colormap, so more than one attempt may need to be made to find colors that work together. Sometimes when too many colors are needed, the ones that can't be allocated appear transparent. 4Dwm is meant to be run with schemes enabled. If schemes is disabled, it is likely that there will be transparent pixels in 4Dwm's windows in the overlay planes. If this happens, either explicitly set the colors (such as 4Dwm*menu*foreground: black) to some color that is already appearing in the 4Dwm window (or if it is the menus, another option is to remove the menus from the overlay planes (4Dwm*SG_visualType: normal) if you don't mind the additional exposes it will cause when you pop up a 4Dwm menu or feedback window).