Window Maker - ArchWiki

# Window Maker

Window Maker is a window manager (WM) for the X Window System. It is designed to emulate the NeXT user interface as an OpenStep-compatible environment, and is characterized by low memory demands and high flexibility. As one of the lighter WMs, it is well suited for machines with modest performance specifications.

## Installation

Install the windowmaker package, available in the Official repositories. You may also wish to install the windowmaker-extra package which contains a number of extra icons and themes.

Before starting Window Maker, take some time to setup GNUstep and the default Window Maker settings. Create a directory for your Window Maker settings. Traditionally, it is in `$HOME/GNUstep`.

    $ mkdir ~/GNUstep

Set the `GNUSTEP_USER_ROOT` variable to your GNUstep settings directory. You can set this variable in a file such as `$HOME/.bashrc`.

    export GNUSTEP_USER_ROOT="${HOME}/GNUstep"

Make sure the file is sourced, for example, by logging out and back in.

Run the Window Maker settings installation program to setup the default settings.

    $ wmaker.inst

## Starting Window Maker

### Graphically

Select the windowmaker session from the display manager's session menu.

### Manually

Once installed create or edit the file ~/.xinitrc as follows:

    exec wmaker

To start Window Maker:

    $ startx

## Configuration

### Files

All of the settings for Window Maker can be found in the `GNUSTEP_USER_ROOT` directory, under `Default` and `Library`. They are saved as simple text files. You can use the `Preferences Utility` (`WPrefs`) GUI application to change the settings, or edit them by hand.

- `Defaults/WindowMaker` - The current Window Maker settings.
- `Defaults/WMGLOBAL`
- `Defaults/WMRootMenu` - The desktop main menu. It uses a simple text format that can be edited by hand. For more details, see the menu editing section in the Preferences Utility application.
- `Defaults/WMState` - Used to restore a Window Maker session.
- `Defaults/WMWindowAttributes` - Individual application and window settings, such as application icon settings and title bar settings. You can also edit this by right clicking on any application or window icon and selecting "Attributes".
- `Defaults/WPrefs` - Settings for the Preferences Utility.
- `Library/Colors/`
- `Library/Icons/` - One of the default locations Window Maker looks for application icons. You can personally save your favorite icons here and use them by changing application or window attributes.
- `Library/WindowMaker/autostart` - Add applications that you want to automatically start when Window Maker starts. Be sure to run them in the background by using "&".
- `Library/exitscript` - Same as autostart, but used when exiting.
- `Library/Backgrounds` - One of the default locations where Window Maker looks for desktop wallpapers.
- `Library/Styles` - One of the default locations where Window Maker looks for styles.

### Styles

Styles are simple text files that change the appearance of Window Maker. They are very similar in appearance to the `Defaults/WindowMaker` file. Whatever settings are in the style file will be applied to the `Defaults/WindowMaker` file. Here is an example style that gives Window Maker a blue and gray Arch Linux like look:

`Arch.style`

    {
      FTitleBack = (solid, "#0088CC");
      FTitleColor = white;
      UTitleBack = (solid, "#333333");
      UTitleColor = "#999999";
      PTitleBack = (solid, "#333333");
      PTitleColor = "#999999";
      MenuTextBack = (solid, "#ECF2F5");
      MenuTextColor = black;
      IconTitleBack = "#333333";
      IconTitleColor = white;
      MenuTitleBack = (solid, "#0088CC");
      MenuTitleColor = white;
      HighlightTextColor = white;
      HighlightColor = "#333333";
      MenuDisabledColor = "#999999";
      ClipTitleColor = black;
      IconBack = (solid, "#ECF2F5");
      ResizebarBack = (solid, "#333333");
      MenuStyle = flat;
      WorkspaceBack = (solid, black);
      ClipTitleFont = "Arial:slant=0:weight=200:width=100:pixelsize=10";
      IconTitleFont = "Arial:slant=0:weight=80:width=100:pixelsize=9";
      LargeDisplayFont = "Arial:slant=0:weight=80:width=100:pixelsize=24";
      MenuTextFont = "Arial:slant=0:weight=80:width=100:pixelsize=12";
      MenuTitleFont = "Arial:slant=0:weight=200:width=100:pixelsize=12";
      WindowTitleFont = "Arial:slant=0:weight=200:width=100:pixelsize=12";
    }

Styles can also be edited by using the Preferences Utility application.

### Keyboard shortcuts

Window maker allows keyboard shortcuts to be assigned both to window manager actions and to menu entries.

To assign a keyboard shortcut to a window manager action, start the WPrefs application and navigate to the Keyboard Shortcut Preferences tab. Choose an action, click the Capture button and hit the desired keyboard combination. Then hit Save.

You can also assign keyboard shortcuts to menu entries. For instance, if one were using GNOME Screensaver to lock the screen, one could create a Lock Screen menu entry with the command `gnome-screensaver-command --lock`. To then assign a keyboard shortcut to this menu entry, start the WPrefs application and navigate to the Application Menu Definition tab. In the root menu that appears on screen, click on the Lock Screen entry. In the Wprefs window, click the Capture button, hit the desired keyboard combination and then click Save.

### Background

To use an image as a background in Window Maker, copy the image to the `~/GNUstep/Library/WindowMaker/Backgrounds` directory. Then, from the root menu, select Appearance -> Background -> Images -> image-name.

Alternatively, you could use a standalone background setter such as Nitrogen.

## Dock

The user interface of Mac OS X evolved from the style of user interface that Window Maker uses. There is a "dock" that contains applications icons that are "pinned" to the dock by the user. Also, the dock can hold special small applications called "dockapps", which run only inside the dock. By default, all applications run in Window Maker will have an application icon, which you can use to run a new instance of the application, hide and unhide all windows of the application, or kill the application. The application icon does not represent a window. Instead, if you minimize a window, a small icon representing the window will appear on the desktop.

After starting any application, (for example, from the command line) the application icon will appear on the desktop. You can pin it to the dock by clicking and dragging the icon into the dock area. To remove the application icon from the dock, click and drag the icon away from the dock area. You change settings, such as making an application automatically start when Window Maker starts, by right clicking on the application icon in the dock.

The default action to activate application icons and window icons is to double click them. You can change a setting to allow you to activate them with a single click.

## Clip

The "clip" is a button that has the image of a paperclip on it. You can change the name of the current workspace by right clicking on the clip. You can change workspaces by clicking the arrows that are on the clip.

The clip also has similar functionality to the dock. Application icons that are added to the dock are visible on all workspaces, while application icons that are attached to the clip are only seen on the workspace where they are attached. This allows you to conveniently associate specific application icons with specific workspaces.

Double click the clip to hide and unhide the application icons that are attached to it.

## Dockapps

Dockapps are small applications that run in the dock. They can be useful for showing system information. Some useful dockapps that are in the AUR include:

- wmclockmon - Show time and date.
- wmcpuload - Show CPU status and usage.
- wmnetload - Show network status. Usage: `wmnetload -i eth0`
- wmdiskmon - Show disk usage. Usage: `wmdiskmon -p /dev/sda1 -p /dev/sda2`

See the Window Maker website for more information about dockapps.

## System-tray

There is no native system-tray for the windowmaker but there are one or two options around. This is potentially helpful if you want to have let's say nm-applet or so in your desktop.

The first one is stalonetray which Prior to version 0.8, stalonetray does not work as a dockapp in WindowMaker, use Docker instead. Moreover, NW is the only grow gravity that works reliably in WindowMaker for those versions.

Starting from version 0.8, there is very basic support for WindowMaker dockapp mode which can be enabled via `--dockapp-mode wmaker`. Following options are also required: `--slot-size 32 --geometry 2x2 --parent-bg --scrollbars none`.

But also there are some easy ways, too:

- wmsystray : which practically do the job for you.
- wmsystemtray : The same but with no border and it suppose to work nicely on other desktops too.
- Peksystray : which is a small system tray (also called notification tray) designed for all the light window managers supporting docking.

Peksystray provides a window where icons will automatically add up depending on the requests from the applications. Both the size of the window and the size of the icons can be selected by the user. If the window is full, it can automatically display another window in order to display more icons.

## Tips and tricks

### Removing unwanted application icons

For some applications, you may not want Window Maker to display an application icon or appicon. To disable the appicon for an application, right click on the application's titlebar and choose Attributes... and from the drop down menu choose Application Specific. Tick the No application icon option and then hit Apply and Save.

## Troubleshooting

### Can't disable smooth fonts

Delete (but keep a backup) the `~/.fontconfig/` directory and `~/.fonts.conf` file, then restart Window Maker.

### The dock is not covered by fullscreen windows

To correct this issue, right click on any pinned application and, from the Dock position submenu, choose Normal. Then start the WPrefs tool. Under the Window Handling Preferences tab, tick the ...do not cover dock option. This will ensure that maximised applications do not cover the dock but that fullscreen applications do.

### No application icons for some applications

Some applications such as Chromium will not display an application icon. For a workaround involving Chromium, see the following bug report.

## See Also

- Official website
- Window Maker (Wikipedia)

Category:

- Stacking WMs