User Defaults Summary for GNUstep Backend


Adam Fedor (

Version: $Revision: 1.32 $

Date: $Date: 2015/08/31 02:16:02 $

Copyright: (C) 2005 Free Software Foundation, Inc.

Defaults Summary

This document contains a summary of available user default values that one can set to control the operation of the GNUstep backend.

Backend Defaults

Below is a list of defaults used to control the x11-based backend. These defaults generally control system specific display and user interaction options which may not be available on all systems.


An integer that specifies the X-Windows visual class to use in the application. For instance one could display the application using the PsuedoColor visual class by setting the value to the id of this class. The default is the X-Windows default visual class.


An integer which limits the maximum number of colors to display, per channel. For a psuedo-color display, this would limit the total number of colors that the application could use (normally 256). For a true-color display, this would limit the range of red, green, and blue values that could be used.


GSAppOwnsMiniwindow is for miniwindows (not app icons). If it's YES or absent, GNUstep handles miniaturization itself and doesn't let the window manager do it. If it's NO, the window manager is allowed to do its own iconification. This does not affect app icons at all.


With the xlib backend, this is a boolean value which defaults to YES. If set to YES and X Windows system has the XFT extension, then the application will use anti-aliased fonts as provided by XFT. If set to NO anti-aliased fonts will not be used even when available.

With the art backend, A boolean value which defaults to YES. If YES, text is anti-aliased at small sizes (9-16 pixels). The value is advisory (specific fonts can override this setting).


[Xlib backend only] A string value which defaults to "*". It defines the pattern used to get the installed fonts from the X-Server. A value of "*-iso8859-1" would only include fonts available with ISO Western encoding. This feature might be helpfull if the font_cacher program is having problem with the X-Server.


A boolean value, which indicates if the backend should let the window-manager/native-window-system handle window decorations. When set to NO, GNUstep-GUI will handle the window decorations, which is particularly useful if you aren't running any window manager.


[W32 backend only] A string value which defaults to YES. If enabled, the backend assumes that miniwindows are displayed in a task bar. In this case, the app icon is not shown and the main menu behavior is changed so it is not ordered out, but minimized, so clicking on the minimized menu will activate the application.


A string value which defaults to NO. If set to YES, then the backend font classes will support full multi-byte/unicode characters. This is useful for using many East Asian languages. However, the respose of the GUI is somwhat slower when this is enabled.


A string value used to specify the XIM input method for entering characters. Valid values are RootWindow, OffTheSpot, or OverTheSpot.


[Xlib backend only] A boolean value which defaults to YES. If set to YES, then the application uses various tricks to get alpha colors to work when compositing images. This may slow down drawing of images, but it is generally recommended anyway, particularly on fast systems.

Fast Drawing on 8-bit Displays

[X11-based backends only] This is not a user default, but if you are using an 8-bit display and you define the standard X11 BEST colormap (via xstdcmap -best), then GNUstep will use this colormap and enable faster drawing onto 8-bit displays.

Keyboard Modifiers

The OPENstep specification requires three main different keyboard modifiers: CONTROL, COMMAND and ALTERNATE as well as the HELP modifier for context help. Some systems may not have these set up correctly. You can changed the defaults with the default keys.

  • GSFirstControlKey
  • GSSecondControlKey
  • GSFirstCommandKey
  • GSSecondCommandKey
  • GSFirstAlternateKey
  • GSSecondAlternateKey
  • GSFirstHelpKey
  • GSSecondHelpKey

Default values are respectively:

  • Control_L
  • Control_R
  • Alt_L
  • NoSymbol
  • Alt_R
  • NoSymbol
  • Help
  • Super_L

These strings correspond to "keysyms" on X11 systems. On X11, physical keys on the keyboard are equivalent to keycodes. A single keysym may be associated to more than one keycode, and can even be associated to a shifted key.

This is described more completely in the GUI documentation on keyboard setup.


On some keyboards, the default X11 mapping includes keycodes that are mapped to one or another modifier keysym depending on whether 'shift' (or in some cases, another key) is pressed. This is the case on some Apple USB keyboards for example: one key to the left of the spacebar maps to "Option" without shift pressed, and "Alt" with shift pressed. Such keyboard mappings are often useful in non-English contexts to access accents or non-Roman characters. However if such a key is used as a modifier in GNUstep problems can occur when trying to use the modifier in conjunction with a shifted character. In particular, you will need to hit and release the modifier and the shift key in a particular order, or else things will not work as expected, and the modifier may become "stuck".

Previously this default was called GSModifiersAreKeys, and Shift+Alt key equivalents only worked if Shift and Alt were pressed in the right order, unless the default was set to YES. That is now the default; to get back the previous default behaviour, set GSModifiersAreNotKeys to YES.


UseWindowMakerIcons is for app icons, and has no effect when the window manager isn't Window Maker. It displays the application's icon window in the window Window Maker provides instead of creating one controlled by the app. This allows the icon to be docked. It is a boolean value which defaults to YES.


A boolean value which defaults to YES (as long as shared memory is available). If set to NO, shared memory is not used for various display specific operations.


[X backends only] A boolean value which defaults to NO. If set to YES the old GNUstep way of X clipboard interaction will be used. That is PRIMARY as the general pasteboard and CLIPBOARD for the selection. Whereas the new X standard is the other way around. This setting may be needed for interaction in an old X enviornment.