libs-gui/Documentation/GuiUser/DefaultsSummary.gsdoc
Mingye Wang 1253ccdccd
Mention GSScaleFactor
It probably is a good idea to show off HiDPI support.
2020-03-01 17:25:39 +08:00

404 lines
15 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.3//EN" "/usr/GNUstep/System/Libraries/Resources/DTDs/gsdoc-1_0_3.dtd" >
<gsdoc base="DefaultsSummary">
<head>
<title>User Defaults Summary for GNUstep Libraries</title>
<author name="Adam Fedor">
<email address="fedor@gnu.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<author name="Nicola Pero">
<email address="n.pero@mi.flashnet.it"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
<copy>2005 Free Software Foundation, Inc.</copy>
</head>
<body>
<chapter>
<heading>Defaults Summary</heading>
<p>
This document contains a summary of available user default values that
one can set to control the operation of the GNUstep libraries. To set
a default, use the <code>defaults write (domain) (key) (value)</code>
command in a terminal, with the <code>NSGlobalDomain</code> as first
argument. E.g.,
</p>
<example>
defaults write NSGlobalDomain GSBackend libgnustep-art
</example>
<p>To read out the value set for the default, use <code>defaults read
(domain) [(key)]</code>. If you do not specify the key, every
key-value pair in the domain will be printed.
</p>
<p>
Other domains besides the system level domain
"<code>NSGlobalDomain</code>" include the application domains, named
for each application that has registered defaults, and the temporary
runtime "<code>NSArgumentDomain</code>" for command line arguments.
At runtime there is also a "<code>NSRegistrationDomain</code>", a
second-chance domain in which "defaults for defaults" can be
registered, and possibly also domains for specific locales.
</p>
<section>
<heading>GUI Library Defaults</heading>
<p>
Below is a list of defaults used to control the gnustep-gui library.
You can set them either in <code>NSGlobalDomain</code>, to be used
everywhere, or in individual application domains, to be used for those
apps only.
</p>
<deflist>
<term>GSBackend</term>
<desc>
<p>
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.
</p>
</desc>
<term>GSBrowserCellFontify</term>
<desc>
<p>
A boolean value, <code>NO</code> 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.
</p>
</desc>
<term>GSAbortKey</term>
<desc>
<p>
The key used to abort the insertion of multi-stroke keybinding.
Default is <code>Control-g</code>.
</p>
</desc>
<term>GSAppKitUserBundles</term>
<desc>
<p>
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.
</p>
</desc>
<term>GSQuoteKey</term>
<desc>
<p>
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 <code>Control-q</code>.
</p>
</desc>
<term>GSUseGhostResize</term>
<desc>
<p>
A boolean, by default NO. If you set it to YES, NSSplitView
uses a 'ghost' bar to show resizing instead of doing a live
resizing of the views.
</p>
</desc>
<term>GSHelpViewer</term>
<desc>
<p>
A string which can be used to specify the name of the application
to be used to view application help.<br /> If this is not specified
(or is an empty string) the 'best' available viewer is used (an
application whose Info.plist says that it can view files of the
appropriate type ... usually rtp or rtfd files).<br />
If this is set to <code>NSHelpPanel</code> or if no application can
be used to view the help file, the help is displayed by the
shared help panel object built in to the application.
</p>
</desc>
<term>GSInsertControlKeystrokes</term>
<desc>
<p>
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.
</p>
</desc>
<term>GSKeyBindingsFiles</term>
<desc>
<p>
An array of strings, <code>(DefaultKeyBindings)</code> by
default. The strings in this array (with <code>.dict</code>
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
<code>$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/KeyBindings/</code>
directory, loading all the keybindings it finds in the file,
then it loads the similar file from
<code>$GNUSTEP_LOCAL_ROOT</code> and then the similar one
from <code>$GNUSTEP_NETWORK_ROOT</code> and at last the one
from <code>$GNUSTEP_USER_ROOT</code>. 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 <code>DefaultKeybindings.dict</code> file
in your <code>~/GNUstep/Libraries/Resources/KeyBindings/</code>
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.
</p>
</desc>
<term>GSKeyBindings</term>
<desc>
<p>
A dictionary, containing keybindings which are loaded by the
library after the ones found in the <code>GSKeyBindingsFiles</code>.
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.
</p>
</desc>
<term>GSLPRPrinters</term>
<desc>
<p>
Specifies a dictionary containing printer information for the
GSLPR printer bundle. See the bundle source for details.
</p>
</desc>
<term>GSSavePanelShowProgress</term>
<desc>
<p>
A boolean value, <code>NO</code> 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.
</p>
</desc>
<term>GSScaleFactor</term>
<desc>
<p>
A floating point number, <code>1.0</code> by default. Scales
GUI elements by the given factor for high-DPI monitors. DPI
auto-detection on some platforms (only Windows, for now) will
cause the default to appear to change.
</p>
</desc>
<term>GSUnknownFileTool</term>
<desc>
<p>
A string value that defines a program that should be launched
when no GNUstep application has been defined for a specific
file extension or if an URL could not be opened by a service.
This program gets the file name or URL as parameter.
</p>
</desc>
<term>GSUseFreedesktopThumbnails</term>
<desc>
<p>
A boolean value, <code>NO</code> by default. When the
feature is on, thumbnail files according to the Freedesktop
specification are used in [NSWorkspace iconForFile:] when available.
</p>
</desc>
<term>GSLogWorkspaceTimeout</term>
<desc>
<p>
A boolean value that defaults to <code>NO</code>. 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.
</p>
</desc>
<term>GSWorkspaceApplication</term>
<desc>
<p>
A string value that defaults to <code>"GWorkspace"</code>.
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.
</p>
</desc>
<term>GSSuppressAppIcon</term>
<desc>
<p>
A boolean value, <code>NO</code> by default. Specifies wether the
application icon window should not be displayed. Set to <code>YES</code>
for background server applications.
</p>
</desc>
<term>GSControlKeyString</term>
<desc>
<p>
A string used in the menu to signify that the control key needs to
be pressed together with the key equivalent of the menu item.
Default "^".
</p>
</desc>
<term>GSAlternateKeyString</term>
<desc>
<p>
A string used in the menu to signify that the alternate key needs to
be pressed together with the key equivalent of the menu item.
Default "+".
</p>
</desc>
<term>GSScrollerArrowsSameEnd</term>
<desc>
<p>
YES if the scroller arrows are at the same end.
NO to get one scroller arrow at each end of the scroller.
If not set, the behaviour is delegated to NSScrollerInterfaceStyle.
Default YES.
</p>
</desc>
<term>GSScrollerScrollsByPage</term>
<desc>
<p>
YES if clicking in the scroller slot should scroll by one page,
NO if the scroller should jump to the location clicked.
If not set, the behaviour is delegated to NSScrollerInterfaceStyle.
Default NO.
</p>
</desc>
<term>GSShiftKeyString</term>
<desc>
<p>
A string used in the menu to signify that the shift key needs to
be pressed together with the key equivalent of the menu item.
Default "/".
</p>
</desc>
<term>GSCommandKeyString</term>
<desc>
<p>
A string used in the menu to signify that the command key needs to
be pressed together with the key equivalent of the menu item.
Default "#".
</p>
</desc>
<term>NSInterfaceStyleDefault</term>
<desc>
<p>
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.
</p>
</desc>
<term>NSMenuInterfaceStyle</term>
<desc>
<p>
An interface style specific to menu operation. If not set
the NSInterfaceStyleDefault value is used. <br />
Setting this to NSMacintoshInterfaceStyle produces a horizontal
menu at the top of the screen.<br />
Setting it to NSNextStepInterfaceStyle reverts to the defaults
vertical menu layout.
</p>
</desc>
<term>NSCommandKeys</term>
<desc>
<p>
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".
</p>
</desc>
<term>NSHost</term>
<desc>
<p>
Used by NSPasteboard to find the host on which the
pasteboard server is running.
</p>
</desc>
<term>NSMeasurementUnit</term>
<desc>
<p>
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.
</p>
</desc>
<term>NSPreviewApp</term>
<desc>
<p>
A string value that defaults to <code>"gv"</code>.
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.
</p>
</desc>
<term>NSShowNonLocalizedStrings</term>
<desc>
<p>
This is mainly a developer option. If "YES", the application will
display localization keys instead of strings in its UI. This can be
useful during development to see where a given string in the UI is
"coming from". Default is "NO".
</p>
</desc>
<term>NSUseRunningCopy</term>
<desc>
<p>
This determines the behavior of an applicationms when a second copy
is started up.<br />
If set to YES the newly started copy makes the process which is
already running active, then terminates itsself.<br />
If set to NO, the newly started copy runs, but has a different
name (so it cannot be contacted to provide services for other
applications).
</p>
</desc>
<term><em>System Colors</em></term>
<desc>
<p>
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).
</p>
<p>
Individual system colors may be set by specifying the name of
the system color and giving it a value consisting of aan RGB
color specification (three floating point numbers in the range
0.0 to 1.0 and separated by spaces).<br />
eg.<br />
'defaults write NSGlobalDomain controlBackgroundColor "1.0 0.0 0.0"'
</p>
</desc>
<term><em>System Fonts</em></term>
<desc>
<p>
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.
</p>
</desc>
</deflist>
</section>
</chapter>
</body>
</gsdoc>