# User Defaults Summary for GNUstep Libraries

### Authors

Adam Fedor (`fedor@gnu.org`)
Nicola Pero (`n.pero@mi.flashnet.it`)

Version: $Revision: 1.2 $

Date: $Date: 2003/09/01 16:59:41 $

# Defaults Summary

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

## GUI Library Defaults

Below is a list of defaults used to control the gnustep-gui library.

GSBackend

  A string containing the name of the backend bundle to use for display specific GUI handling. The default is "libgnustep-back". Custom backends can be created during compilation of the libraries. Any other choice for a name is thus system specific.

GSBrowserCellFontify

  A boolean value, `NO` by default. When the feature is on, NSBrowserCell draws non-leaf cells in bold system font. For example, when the feature is on, in a SavePanel (or OpenPanel), directory entries are drawn in bold, while simple files are drawn in non bold.

GSAbortKey

  The key used to abort the insertion of multi-stroke keybinding. Default is `Control-g`.

GSAppKitUserBundles

  An array listing the names of bundles that will be automatically loaded into every application at startup. Typically these will be 'theme' bundles that control the look of the application.

GSQuoteKey

  The key used to quote the next keystroke (so that it is not interpreted as a keybinding, but just inserted into the text as it is). Default is `Control-q`.

GSFileBrowserHideDotFiles

  A boolean, by default NO. If you set it to YES, files that begin with a dot ('.') are not shown in the NSSavePanel or NSOpenPanel.

GSInsertControlKeystrokes

  A boolean, by default NO. If you set it to YES, keystrokes containing a Control are inserted into the text when they can't be interpreted as keybindings. By default, they are ignored and cause the computer to beep.

GSKeyBindingsFiles

  An array of strings, `(DefaultKeyBindings)` by default. The strings in this array (with `.dict` appended) are the names of the files the library reads to load the keybindings. For each of these files (in the order), the library first tries to read the file with that name from the `$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/KeyBindings/` directory, loading all the keybindings it finds in the file, then it loads the similar file from `$GNUSTEP_LOCAL_ROOT` and then the similar one from `$GNUSTEP_NETWORK_ROOT` and at last the one from `$GNUSTEP_USER_ROOT`. If you have a single set of customized keybindings which you want to be loaded in addition to the default ones (or overriding some of the default ones), just add a `DefaultKeybindings.dict` file in your `~/GNUstep/Libraries/Resources/KeyBindings/` directory, and keybindings from this file are automatically loaded in addition to the default ones; you do not need to change this user default. If instead you want more keybinding files to be loaded, or you do not want the system default keybindings file to be loaded, you might well need to change it.

GSKeyBindings

  A dictionary, containing keybindings which are loaded by the library after the ones found in the `GSKeyBindingsFiles`. Might be useful if you have only a couple of keybindings, and don't want to write a custom keybindings file. If you have many keybindings, it is recommended that you keep them in a file. The syntax of keybindings entries and files is documented elsewhere.

GSSavePanelShowProgress

  A boolean value, `NO` by default. When the feature is on, the save panel and its subclasses (such as the open panel) displays "Reading Directory ***.." (progressively adding dots) in the window titlebar while reading very big directories (more than 100 entries). This is meant to make things friendlier for slow computers.

GSUseFreedesktopThumbnails

  A boolean value, `NO` by default. When the feature is on, thumbnail files according to the Freedesktop specification are used in [NSWorkspace iconForFile:] when available.

GSLogWorkspaceTimeout

  A boolean value that defaults to `NO`. This is a obscure and probably not useful default. NSWorkspace tries to receive distributed notifications, but if a distributed objects server cannot be found or some other error occurs, it raises an exception which normally terminates the program. Setting this default causes NSWorkspace to just log the problem without raising an exception.

GSWorkspaceApplication

  A string value that defaults to `"GWorkspace"`. This defines the application NSWorkspace will try to connect to process some operations that require an external application. This is a new feature and has not been tested.

NSInterfaceStyleDefault

  A string describing the interface style. Setting this may change various aspects of how the library draws elements and responds to user interaction. See the NSInterfaceStyle documentation for more information.

NSMenuInterfaceStyle

  An interface style specific to menu operation. If not set the NSInterfaceStyleDefault value is used.

NSCommandKeys

  A dictionary of command key equivalents for menu items. The key contains the title of the menu item and the value is the command key equivalent. For instance, one might set the command key for the menu item "Copy" to "C".

NSHost

  Used by NSPasteboard to find the host on which the pasteboard server is running.

NSMeasurementUnit

  A string describing the measurement unit for rulers (see the NSRulerView class documentation). The default is Centimeters. Other possible values are Inches, Points, and Picas.

NSPreviewApp

  A string value that defaults to `"gv"`. This defines the application NSPrintOperation will try to connect to preview PostScript files, unless there is already an application registed as a Viewer of ps files.

System Colors

  System colors are standard colors for drawing various GUI elements, such as buttons, text, scroller, etc. They can be set using the normal user defaults system. An NSColorList called "System" is stored in the users's private color list directory. This color list can also be manipulated through the NSColorList class (typically through a preferences module).

System Fonts

  System Fonts may be set using the defaults system. System fonts are standard fonts for drawing text in GUI elements. They include NSBoldFont, for instance. The value is the name of the font to use. There is also a cooresponding size key (e.g. NSBoldFontSize) for specifying the point size of the font. The keys that can be used for setting the system fonts are described in the documentation for NSFont.