# Preferences changes

## User-visible changes

### Changes from core-1

The code changes require some changes to the various settings. The following is a list of those changes. The old values will be imported on the first run after an upgrade.

#### Color settings

Instead of the colors being stored in sections with separate keys for red, green and blue, they will now be stored in a common section called `[Colors]` as regular HTML/CSS color codes:

     [Colors]
     Color.Normal=#abcdef

#### Font settings

Instead of fonts being stored in sections with seperate keys for each of the parameters, they will now be stored in a common section called `[Fonts]` as a comma separated list on the form `height,weight,italic,underline,overline,strikeout,facename`. The serialization/deserialization is handled by the Display module.

     [Fonts]
     Normal=12,4,0,0,0,0,Arial

#### Show images

The two boolean settings `Load Figures` and `Show Figures` that controlled the three-state image setting has been consolidated into one setting:

     [User Prefs]
     ; 1=no images, 2=show cached images, 3=show all images
     Show Images=1

#### Cache expiration settings

The cache expiration settings which previously were split into hours, days and minutes are now consolidated into a single setting (in seconds):

     [Disk Cache]
     ; Default is 5 hours
     Documents Expiry=18000
     Images Expiry=18000
     Other Expiry=18000

#### Renamed settings

A number of preferences have been renamed in this version.

Old name | New name
--- | ---
[User Prefs]
AutomaticSelectMenu | Automatic Select Menu
SaveTxtCharsPerLine | Save As Text Line Length
AskClosingDialUpConnections | Ask Closing DialUp Connections
MaximizeNewWindowsWhenAppropriate | Maximize New Windows
[TransferWindow]
LogEntryDaysToLive | Keep Entries Days
ActivateOnNewTransfer | Activate On New Transfer

In addition, the entire section `[Adv User Prefs]` has been renamed to `[Network]`.

#### Host overrides

It is possible to override most settings on a per-host basis. Not all overrides does make sense, or will even be used (overriding the cache size for example), but in theory almost all preferences can be overridden. The hosts which have overrides are specified in the `[Overrides]` section in the overrides INI file (normally override.ini in the profile directory):

     [Overrides]
     www.opera.com
     www.example.com

Each host then has its own section in the INI file:

     [www.example.com]
     User Prefs|Ignore Target=1
     User Prefs|Do Not Show Cookie Domain Errors=0
     User Prefs|Warn Insecure Form=1
     User Prefs|Scripting Enabled=0
     Extensions|Plugins=0
     Multimedia|Show Animation=0
     Multimedia|Show Video=0
     Multimedia|Play Background Sound=0

The overridden settings are stored in the section with their regular section and key separated by a vertical bar (|). A disabled override is indicated by setting the value of the domain key to 0, any other value (including a missing value) means it is enabled.

     [Overrides]
     disabled.example.com=0

Host override support can be disabled with proper ifdefs. See the header files for further documentation on that.

Override matching is done on sub-domain basis, so the server `www.example.com` will be matched by an override for `example.com`, but not vice versa. If overrides are defined both for the exact match and for the general domain, the longest match will always take precedence.

It is also possible to do prefix matching, by supplying a trailing asterisk in the host name. For instance, `www.opera.*` would then match both `www.opera.com` and `www.opera.no`, but not `www.my.opera.com` or `new.www.opera.com`.

The `ua.ini` file supported in Opera 8 desktop will be imported into host overrides on first start after an upgrade.

## Preference download

Preferences, in particular overridden preferences, can be downloaded from a server. The preference values are received in an XML style format, interpreted by Opera, included in the prefs data structure and saved normally in `opera6.ini` files.

Downloading of preferences can be initiated in two ways: from an open URL, opened normally by clicking on a link, or from a standard server, triggered by the opera UI.

Read more about preferences downloading.

The URL of the preference server is found in the core collection:

     [Install]
     Preference URL=http://xml.opera.com/spoof/