Windowmaker On PCLinuxOS: Window Handling Functions
by Patrick G Horneker (phorneker)
Last month, we discussed configuring Workspace options with WindowMaker. This month, we shall discuss Window Handling functions configured from the WindowMaker Configuration Manager. These options control the behavior of windows that are displayed on your Workspace (desktop).
As with last month, we shall go through the configurable options in the order shown in the Configuration Manager.
Don’t Cover Those Application Icons
The first option is labelled “Prevent windows from overlapping minimized windows when maximized”. The phrasing of this option can be a bit confusing.
What this option means is that if you have applications whose windows have been minimized, they show up as icons at the bottom of the screen (unless configured otherwise as discussed last month with the Workspace options). By default, when you maximize the window of an open application (for example, Firefox), the window will be sized so it covers the entire screen (barring options that prevent the window from covering the Clip or the Dock as discussed earlier with the Workspace options).
When checked, maximizing the application window will resize the window to cover the screen except for the portion of the screen occupied by minimized application icons, either as a row or column (also configurable with the Workspace options).
This is useful if you have minimized applications that you want to be able to access anytime you need the application.
New Windows Get Your Mouse’s Attention
The next option is labelled “Automatically give focus to a window when it is mapped”. This means when a new window is opened, either by an application, or when you launch an application, that window gets all mouse and keyboard events.
Sidenote: What is Focus? When there are multiple applications and/or multiple windows of an application displayed on the screen with any desktop environment, how does the window manager or desktop environment know where to pass keystrokes and mouse movements?
WindowMaker, GNOME, KDE, OpenBox, and other window managers keep track of any windows that are open, whether they are minimized as icons, maximized to full screen, or any other size of window. Within the mechanism for window management, there is a pointer to the current window on which to send mouse and keyboard events. This pointer is called the Focus.
Window Focus Mode
WindowMaker provides two modes of operation when it comes to window focusing.
Sloppy Focus: In this mode, the window where the mouse pointer is currently on the desktop gets the focus for keyboard and mouse events. You need to click on that window to bring it to the front of your desktop. This is the default for WindowMaker (and was the default for NeXTStep desktops). This default also applies to window managers such as FVWM, TWM, and other window managers that were developed back in the early days of the X Window System development (i.e. the 1980s and 1990s).
Click to Focus: In this mode, you need to click on any given window for that window to receive events from the keyboard or mouse. This mode should be familiar as it is the default for KDE, GNOME, XFCE, and LXDE. This should also be familiar to Windows or Mac OS-X users as that is how windows are handled on these systems.
Stay off the Dock
The next option, when selected will prevent any application window you maximize from occupying the column (or row if configured) where the Dock occupies the Workspace (desktop).
Show Me The Window List
Labelled “Popup the window list as you cycle through windows...”, this option enables the window list to appear on the screen as you focus on windows with the mouse. By default, this is disabled. First, having the window list appear on the screen when using the mouse can be annoying. Second, you can use the Alt-Tab combination on your keyboard as a shortcut for this function, similar to KDE, GNOME, Windows or Mac OS-X.
Mouse Lag
Labelled “Delay before window is raised”, this option delays the focus (in milliseconds) on the window where you move the mouse pointer. (I am not sure why anyone would want to activate this option.)
Options for Window Placement
The next two options determine where new windows opened in WindowMaker are placed on your Workspace (desktop).
The first, labelled “Offset (x,y) between windows in cascade mode”, is the offset in pixels (column by row) from the window that has the current focus. This option only works with the Cascade Window mode, described next.
The second option selects which mode new windows are placed on your desktop.
Cascade Window Mode: The first window is placed x pixels from the left edge of the screen, and y pixels from the top edge of the screen. The parameters for x and y are set with the previously described option labelled “Offset (x,y) between windows in cascade mode”.
Windows opened after the first are placed x pixels from the left edge of the previously placed window and y pixels from the top edge of the previously placed window (hence the cascading effect).
Place Window in the Free Space: This is the default for the PCLinuxOS implementation. Free space is determined by the size of the window, and where the Dock and Clip are located, usually where the left hand corner of the window is placed next to the Clip.
Place Window in the Best Free Space: Similar to the previous option, only WindowMaker looks for the largest available free space to place the open window.
Manual Placement: This is where you determine where to place the window. An outline of the window is displayed on your desktop. The window appears after you click on the spot where the window will be placed. This option is the default for FVWM and TWM, and maybe some other window managers.
Random Placement: Just what it says. WindowMaker will place the open window in a random position on your Workspace (desktop), which may not be the best choice for what you may be doing in a given session.
The next option, labelled “Use the Windoze style when cycling through windows...” is deprecated thanks to the Alt-Tab keyboard shortcut. There is no reason to select this option.
For 8-Bit Color Displays Only
This option tells WindowMaker which windows should be assigned more colors from the 8-bit color palette. Leave this setting as it is, unless you are running a 256-color display on really old video hardware. (WindowMaker was around back in 1998 when I first started using Linux with Red Hat 5.2. This setting was relevant then as I was using a 512MB video board on an old AcerFrame 500.)
The Alt-Tab Option
Labelled “Raise windows as you cycle them using the keyboard”, This enables Alt-Tab (by default) to cycle through the current list of open applications and their windows. I prefer to keep this setting as this is the standard way we cycle through open windows, and not just on WindowMaker either. This is true for KDE, GNOME, Mac OS-X and Windows among other desktops.
Open The Dialog Box Where?
This option allows you to place dialog boxes called by applications on the Workspace (desktop) where the application is running rather than on the Workspace (desktop) the user is currently working with. By default, all dialog boxes open on the current Workspace (desktop).
Conclusion
Window handling capabilities in WindowMaker have been around since the first version back in the late 1990s. Some of these features have been deprecated and are only applicable to very old hardware. I have presented this article to show some of what WindowMaker is capable of, and to show some of the history of this window manager.