WindowMaker On PCLinuxOS: User Preferences

by Patrick G Horneker (phorneker)

Throughout this series, I have discussed configuration options for WindowMaker using the WindowMaker Configuration Manager.  There is a second utility you can use to configure WindowMaker called WindowMaker Preferences.

On PCLinuxOS, this utility is located at /usr/GNUstep/Applications/ on your hard drive.  

You can launch this utility by double clicking on the Icon (which by default contains the WindowMaker/GNUStep logo) at the top of the Dock (which is located at the upper right hand corner of your screen, unless you moved the Dock elsewhere).

Many configurable options present here are also available in the WindowMaker Configuration Manager. This utility provides a convenient way to change configuration options on the fly.  However, for some options, you will need to restart WindowMaker for the changes to take effect.  This is not the case with the Configuration Manager.

On the lower left hand corner of Preferences is a checkbox labelled Balloon Help.  Selecting this (and then restarting Preferences) will give you a pop-up hint as to what the icons here (and on the Clip, the Dock, and the desktop) represent.

Notice the changes made to the label on the title bar as you click on each icon within Preferences.

Generally, we want to leave the settings as they are for most PCLinuxOS installations for Window Focus Preferences.  

The colormap option is nothing we need to worry about, unless you are running WindowMaker on very old video hardware, such as an ancient SuperVGA video board where only 256-color displays are configurable.

By default, the keyboard input focus is set to the window where the mouse pointer is located.  As we defined in the last article, this setting determines if WindowMaker should automatically set the Focus for open windows, or if the user needs to click on the window to set the Focus.  Though labelled as keyboard input focus, the focus also applies to mouse events.

Here, there are a few more options to the Window Handling Preferences available in Preferences than in the Configuration Manager.

Window placement is set visually with Preferences where in the Configuration Manager coordinates are entered manually.  In addition, there is an additional option to enable an effect where dragging a window during a move displays an opaque version of the window being moved.

Also, notice how the layout of Preferences is more intuitive than the layout of the Configuration Manager.

The next set of Preferences is not easily found in the Configuration Manager.  These options have to do with the handling of the Applications Menu.

The options here are optimized for convenience of the user.  The menus scroll up and down only if the displayed size of the menu is larger than the physical height of the screen in pixels.  Scrolling happens when you move the mouse pointer over the opened menus beyond the top or bottom edges of the screen.

You may want to control the speed at which the menus scroll if you find the scrolling is too fast or too slow for your needs.

The selected options about opening menus should be left alone.  These are set to make your WindowMaker experience more convenient.

These are the Icon Preferences.  This has to do with how Icons representing running applications and their open windows are displayed on your desktop.

By default, Icons are displayed starting at the lower left hand corner of the Workspace (desktop), and expanding horizontally.  The buttons at the edges of the preview allow you to visually select where you want Icons to be displayed on your desktop.

When application windows are minimized, by default, they zoom out to Icon size on the set of Icons displayed on your Workspace (desktop).  Only with Preferences can you change the animation of the icons.  Here you can choose from simple zooming in and out, zooming while spinning the icon, or have the icon do a back flip when minimizing, or if you prefer, just minimize the icon without the animation.

Auto Arrange means that when windows are minimized, Icons on the desktop are displayed in groups where each group consists of the running application and all of its opened windows.  When groups of Icons are displayed, the Icon representing the running application is displayed first, then all of its running windows.  This feature is enabled by default.  Disabling this feature will only result in chaos.  When disabled, Icons are displayed in the order the windows are opened during the WindowMaker session.

Omnipresent Miniwindows means that when windows are minimized, rather than displaying an Icon (usually associated with the running application), the actual contents of the window are shrunk to fit within the 64x64 space the Icon would occupy.

You can also change the default size of the displayed Icons, from 28x28 to 128x128 pixels.  The installation defaults to 64x64 pixels in size.

Miscellaneous Ergonomic Preferences has a few configurable features not found in the Configuration Manager.

When you resize a window, you can have WindowMaker display the sizing dimensions in a style similar to what can be found in a technical drawing, i.e. the resized window will have the height and width displayed on the edges of the window being resized.

...or you can have the window size dimensions displayed on the center of the screen, the upper left hand corner of the screen, the upper left hand corner inside the window being resized, or not displayed at all.

When moving a window, there is an option that allows you to see the position of the upper left hand corner of the window displayed on the upper left hand corner of the screen, the upper left hand corner of the window being moved, or no display of the position at all.

Balloon text are similar to Tool Tips on the Windows desktop, only displayed in a cartoon-like balloon that appears when you hover your mouseover any of the following selectable options:

  1. Incomplete window titles (i.e. only part of the title of the window is displayed)
  2. Miniwindow Icons
  3. Application and Dock Icons (disabled by default)
  4. Internal Help (only when the Balloon Help box is checked in Preferences

There are some options that override the settings from the Configuration Manager.

When you press Alt-Tab to switch windows, the selected window gets the keyboard and mouse Focus.  This feature is enabled by default.

The other option defines the edge of the Workspace (desktop) in pixels, with edges being individually configurable.  This is disabled by default.

When enabled, moving the mouse pointer within the edge tells WindowMaker to switch Workspaces (desktops).

Search Path Configuration allows you to set any and all directories that you want WindowMaker to access when finding Icons and Wallpapers.  Icon Search Paths are used for assigning icon files to Icons, the Clip and the Dock.  Pixmap Search Paths are used for assigning wallpapers (with the Configuration Manager) and background textures to Icons, titlebars, resize bars, and menus, all configurable from either the Configuration Manager or from Preferences.

By convention, /usr/share/WindowMaker/Icons, /usr/share/WindowMaker/Pixmaps and ~/GNUstep/Library/Icons , ~/GNUstep/Library/WindowMaker/Pixmaps are used for storing of icon files, and /usr/share/WindowMaker/Backgrounds and ~/GNUstep/Library/WindowMaker/Backgrounds are used for storing wallpapers.

As we can see, Preferences does not limit us to just the six directories for storing of graphical elements used by WindowMaker.

So why does ~/GNUstep/Library/Icons exist, and not ~/GNUstep/Library/WindowMaker/Icons?  Because there is another window manager installable from Synaptic that is also based on the NeXT system called AfterStep.

AfterStep and WindowMaker were created about the same time (the late 1990s), share the same graphic elements, and even the same dock applications, but there are significant differences in the way the window managers are configured.  AfterStep is configured only through text files and scripts, whereas WindowMaker has the Configuration Manager and the Preferences utility.

In the article on Workspaces, we discussed how to navigate the system set up with WindowMaker.  Preferences shows us visually how to achieve the same.

There are two configurable options here not found in the Configuration Manager.  The Dock/Clip have buttons that enable and/or disable adding and removing Icons from the Dock and/or the Clip.  By default, you can add or remove Icons from the Dock and/or the Clip.

This set of Preferences allows you to control some of the eye candy WindowMaker provides, of which some of these features are not configurable from Configuration Manager.

Icon Slide Speed refers to the speed that Icons move when you either drag them, or when they are dragged automatically with the Icon Attract function of the Clip.

Shade Animation Speed refers to how fast windows can be rolled up and down when you double click on the title bar.

Smooth Scaling adds anti-aliasing ability to graphics that need to be scaled up or down.

Titlebar Style allows you to select the look of the Close and Minimize Boxes.  You can choose from original WindowMaker style, or the traditional NeXTstep style.  By default, the original WindowMaker style is selected.

Animations and Sound controls some basic components of WindowMaker.  Animations controls all graphic animation throughout WindowMaker.  Superfluous provides some eye candy with some animations, such as what happens when an Icon is removed from the Dock.

Sound provides audio effects to actions such as when a window opens, a window is minimized, a window is closed, and so forth.  This module requires a separate module, such as wmsound or WSoundServer, neither project of which at the moment has been maintained. You may search Google for the source code if you wish to build this module.

Options for color dithering are usable if you are running WindowMaker on a 8-bit per color display, such as an ancient SuperVGA or VGA video board.  Those of us with 16-bit or larger color depth displays (which should be most of us) do not really need to worry about this.

The next item in Preferences generates this warning message here in PCLinuxOS, and in the Mandriva/Megia distributions.  This is due to the way the script contained with the installation generates the Applications menu.  A similar message appears when you attempt to access the Applications Menu from Configuration Manager.

The default menu is stored as /usr/share/WindowMaker/menu (in readable text) and as /usr/share/WindowMaker/plmenu (in the Property List format).

Programmer’s Note:  If you read the contents of /usr/share/WindowMaker/plmenu, you will recognize that the Applications Menu in this format resembles LISP code.  Property Lists are one of the features that makes WindowMaker an efficient window manager.  This type of coding is common in much of WindowMaker’s configuration files.

WindowMaker will look in ~/GNUstep/Defaults/WMRootMenu before loading the default menu at launch time.  Whatever WindowMaker files in this file will become the Applications Menu.  For the PCLinuxOS installation, this happens to be the default menu maintained with Synaptic and other utilities that manipulate the PCLinuxOS menu system.

If you choose to discard the existing menu, PCLinuxOS will not automatically update WindowMaker’s Applications Menu when you update your software with Synaptic.  You will need to manually rebuild the Applications Menu, which may or may not be what you wish.  

Doing this will provide you with menu access to WindowMaker themes, wallpapers, color schemes, and other WindowMaker decorative gadgets.  However, you will have to manually edit the Applications Menu if you add or remove software from PCLinuxOS.

If you did not intend to click Yes to the warning message, do not worry.  Just close out Preferences and relaunch.  The Applications Menu has not changed.  This is because the file ~/GNUstep/Defaults/WMRootMenu is nothing more than a link to the  /usr/share/WindowMaker/menu configuration file.  Fortunately, the latter file cannot be changed as it is created at WindowMaker launch time with permissions set to read-only for the user.

If you do wish to create a custom menu, simply remove the configuration file ~/GNUstep/Defaults/WMRootMenu.  A file called WMRootMenu.bak will exist here in case you wish to revert to the PCLinuxOS default behavior.

Editing the menu items is literally a drag and drop operation.  Preferences will display a palette of items you can include in the menu.  The menu you are editing is to the right of the above graphic, which should be next to Preferences.  You can include the following in a menu:

Run Program:  This allows you to supply the name of a program or script, including any parameters.

There is a special case with the command line.  If you specify %a(your prompt here), A dialog box with the contents of your prompt here will be displayed allowing the user to enter a command line to execute a program or script without opening a terminal window, or to enter a required parameter if it is associated with a program or a script.  (The %a means “ask the user”.)

Internal Command:  This allows you to select what action WindowMaker should take when the user selects this command.  You can choose from the following:

  1. Arrange Icons.  This groups application Icons with their associated open windows.
  2. Hide all windows except for the focused one.  (The desktop will only show the application that has control of the keyboard and mouse.)
  3. Show all windows.
  4. Exit WindowMaker (and return to the Login screen)
  5. Exit X-Session (and return to the Login screen), same as the previous option.
  6. Restart WindowMaker
  7. Start another window manager (such as OpenBox)
  8. Save current session (which is the default for PCLinuxOS anyway)
  9. Clear current session
  10. Refresh screen (similar to selecting Refresh on KDE or GNOME from the background popup menu)
  11. Open Info Screen (This is the About WindowMaker dialog box)
  12. Open Copyright Screen (This shows who is responsible for developing this window manager, and the fact that WindowMaker is distributed under the GPL.)

This set of Preferences makes it easy to configure keyboard shortcuts as described in the previous article.  Here you can clear the keyboard shortcut with the Clear button, and set a shortcut using the Capture button, then pressing the key combination.  Click on Save to apply the changes.  Items that have been assigned keyboard shortcuts have a checkmark before the name of the item.

Here you can visually control what actions WindowMaker takes when you use the mouse.  Parameters set here override parameters set with the Configuration Manager.  The default actions for PCLinuxOS are shown in the above graphic under Workspace Mouse Actions.

This is where the fun begins.  The colors shown here are not the defaults for the PCLinuxOS installation of WindowMaker, but a sample of what you can achieve when we go to create our own themes.  This is the start of what is going to be one of my WindowMaker themes.

This preference setting allows you to change the fonts displayed for WindowMaker windows.

Window Title selects the font to be displayed on the title bar of displayed windows.

Menu Title selects the font to be displayed on the title bar of displayed WindowMaker menus.

Menu Text selects the font to be displayed on all items within the displayed WindowMaker menus.

Icon Title is the font displayed for Icons representing running applications when the application’s windows are minimized.

Clip Title is the font superimposed over the icon associated with the Clip.

Display Caption is the font displayed just after switching between Workspaces.  This is usually centered on the screen unless the position of the displayed text has been changed.

Finally, this preferences selection is for miscellaneous configurable desktop behaviors.

Disable miniwindows, when selected disables display of minimized windows as icons.  This function was designed for use when WindowMaker is running inside KDE or GNOME.

Note:  There is a little known function in both KDE and GNOME that allows you to select the window manager that is run when either KDE or GNOME is launched.

Automatically save session is enabled by default.  This allows whatever is currrently running inside WindowMaker to be saved when you exit WindowMaker.  Then, when WindowMaker is relaunched, anything that was running will be restored to where things were when you left the session.

Smooth Font Edges is enabled by default.  This allows for anti-aliasing of fonts displayed within WindowMaker, providing for a photorealistic effect for text display.

Other functions shown here should be left disabled, as many of these have no real effect on how we use WindowMaker.

As we can see here, there are some differences between WindowMaker Configuration Manager and User Preferences.  The use of both tools provides the most flexibility when it comes to customization of WindowMaker.

Coming Next...

How to create your own themes!