NAME
SetPrefs -- Set Intuition preferences data.
SYNOPSIS
Prefs = SetPrefs( PrefBuffer, Size, Inform )
D0 A0 D0 D1
struct preferences *setprefs( struct preferences *, long, bool );
FUNCTION
Sets new preferences values. Copies the first 'Size' bytes
from your preferences buffer to the system preferences table,
and puts them into effect.
The 'Inform' parameter, if TRUE, indicates that an IDCMP_NEWPREFS
message is to be sent to all windows that have the IDCMP_NEWPREFS
IDCMPFlag set.
It is legal to set a partial copy of the preferences structure.
The most frequently changed values are grouped at the beginning
of the preferences structure.
New for V36: A new and more extensible method for supplying
preferences has been introduced in v36, and relies on file
system notification. The Intuition preferences items rely
also on the IPrefs program. Certain elements of the
preferences structure have been superseded by this new method.
(Elements are generally superseded as new hardware or software
features demand more information than fits in struct preferences.
Parts of struct preferences must be ignored so that applications
calling getprefs(), modifying some other part of struct preferences,
then calling SetPrefs(), don't end up truncating the extended
data).
Pointer Preferences: Starting with V36, pointer changes
submitted through SetPrefs() are only heeded until the first
time IPrefs informs Intuition of a V36-style pointer preferences
file. In V39 and higher, only the pointer from the initial
SetPrefs() (i.e. devs:system-configuration) is heeded.
Palette Preferences: Starting with V39, color changes submitted
through SetPrefs() are ignored after the first time IPrefs sends
Intuition new style palette preferences.
FontHeight and LaceWB: These are only respected from
devs:system-configuration.
view centering and size: changes to viewx/yoffset and
Row/ColumnSizeChange only apply to the default monitor
(NTSC or PAL), and not to other monitors such as Productivity.
Other fields may be superseded in the future.
INPUTS
PrefBuffer = pointer to the memory buffer which contains your
desired settings for Intuition preferences
Size = the number of bytes in your PrefBuffer, the number of bytes
you want copied to the system's internal preference settings
Inform = whether you want the information of a new preferences
setting propagated to all windows.
NOTES
Unless you are responding to a user's explicit request to
change preferences (for example, you are writing a preferences
editor), you should probably avoid using this function.
The user's preferences should be respected, not overridden.
RESULT
Returns your parameter PrefBuffer.
BUGS
SEE ALSO
getdefprefs(), getprefs()