|
|
|
Color Management in KDE
|
|
|
|
|
|
|
|
Colors are in important part of KDE and are an important tool to make
|
|
|
|
a good looking desktop. Colors can also be a burden, especially for
|
|
|
|
people with visual impairments.
|
|
|
|
|
|
|
|
The goal of color management is to take full advantage of colors while
|
|
|
|
reducing the disadvantages of color use to a minimum.
|
|
|
|
|
|
|
|
Color Schemes
|
|
|
|
=============
|
|
|
|
|
|
|
|
Color Management is based around the concept of color schemes.
|
|
|
|
A color scheme defines colors for different elements in the
|
|
|
|
UI. The most important factor for the readability of a UI is the
|
|
|
|
contrast between foreground and background colors. Colors in a color
|
|
|
|
scheme are therefor grouped in pairs which define the foreground and
|
|
|
|
background color for a UI element. When composing a color scheme care
|
|
|
|
should be taken to use sufficiently contrasting colors for fore- and
|
|
|
|
background in the same group. When using colors in applications, care
|
|
|
|
should be taken never to mix foreground colors from one group with
|
|
|
|
background colors from another group: they do not necasserily have any
|
|
|
|
contrast at all which can lead to a completely unreadable UI.
|
|
|
|
|
|
|
|
Color schemes are supported by Qt (see TQColorGroup) and can be
|
|
|
|
configured on a KDE wide basis from the Control Panel. The settings
|
|
|
|
are stored in the global KDE configuration file under the "General"
|
|
|
|
setting. The KApplication class takes care that the configured
|
|
|
|
settings are passed on to Qt. Application developers can just use the
|
|
|
|
values provided by TQColorGroup.
|
|
|
|
|
|
|
|
There are three major color categories:
|
|
|
|
|
|
|
|
General
|
|
|
|
=======
|
|
|
|
The colors in this group are used when no particular other group is
|
|
|
|
relevant.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Background, background()
|
|
|
|
KDE config key: background
|
|
|
|
Control Center: i18n("Window Background")
|
|
|
|
Description...: General background color
|
|
|
|
Example use...: Background of dialogs
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Foreground, foreground()
|
|
|
|
KDE config key: foreground
|
|
|
|
Control Center: i18n("Window Text")
|
|
|
|
Description...: General foreground color
|
|
|
|
Example use...: Text in dialogs
|
|
|
|
|
|
|
|
Text Areas
|
|
|
|
==========
|
|
|
|
The colors in this group are used where the user can type text. it is
|
|
|
|
also used for lists from which the user can choose.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Base, base()
|
|
|
|
KDE config key: windowBackground
|
|
|
|
Control Center: i18n("Standard background")
|
|
|
|
Description...: Background color for text areas.
|
|
|
|
Example use...: Background in a word-processor.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Text, text()
|
|
|
|
KDE config key: windowForeground
|
|
|
|
Control Center: i18n("Standard text")
|
|
|
|
Description...: Text color for text areas.
|
|
|
|
Example use...: Text in a word-processor.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Highlight, highlight()
|
|
|
|
KDE config key: selectBackground
|
|
|
|
Control Center: i18n("Select background")
|
|
|
|
Description...: Background color for selected text.
|
|
|
|
Example use...: In a selection list.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::HighlightedText, highlightedText()
|
|
|
|
KDE config key: selectForeground
|
|
|
|
Control Center: i18n("Select text")
|
|
|
|
Description...: Text color for selected text.
|
|
|
|
Example use...: In a selection list.
|
|
|
|
|
|
|
|
"Base" and "Text" should have high contrast as well as "Highlight" and
|
|
|
|
"HighlightedText". In addition, "Highlight"/"HighlightedText" and
|
|
|
|
"Base"/"Text" are supposed to be sufficiently different to get a clear
|
|
|
|
indication of what is selected and what is not.
|
|
|
|
|
|
|
|
Buttons
|
|
|
|
=======
|
|
|
|
The colors used in this category are used for buttons in the broad
|
|
|
|
sense, including e.g.scrollbars, menubars and
|
|
|
|
popup-menus.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Button, button()
|
|
|
|
KDE config key: buttonBackground
|
|
|
|
Control Center: i18n("Button background")
|
|
|
|
Description...: Background color for buttons.
|
|
|
|
Example use...: Background color of the OK button in a messagebox.
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::ButtonText, buttonText()
|
|
|
|
KDE config key: buttonForeground
|
|
|
|
Control Center: i18n("Button text")
|
|
|
|
Description...: Color for text on buttons.
|
|
|
|
Example use...: Color of the OK text on a button in a messagebox.
|
|
|
|
|
|
|
|
|
|
|
|
In addition to the above colors a number of derived colors are
|
|
|
|
defined.They are all darker of lighter version of "Background".
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Shadow, shadow()
|
|
|
|
Description...: Used for shadow effects.(Very dark)
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRold::BrightText, brightText()
|
|
|
|
Description...: Used for text on pushed pushbuttons
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Light, light()
|
|
|
|
Description...: Lighter than "Button"
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Midlight, midlight()
|
|
|
|
Description...: Between "Button" and "Light"
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Dark, dark()
|
|
|
|
Description...: Darker than "Button"
|
|
|
|
|
|
|
|
TQColorGroup...: ColorRole::Mid, mid()
|
|
|
|
Description...: Between "Button" and "Dark"
|
|
|
|
|
|
|
|
Well Behaved Aplications
|
|
|
|
========================
|
|
|
|
|
|
|
|
Applications should never hardcode colors but always default to the
|
|
|
|
colors from the users color scheme. This ensures consistency among
|
|
|
|
applications on the desktop. It also ensures that all applications
|
|
|
|
are equally readable.
|
|
|
|
|
|
|
|
An application may offer the user an option to change the color of
|
|
|
|
certain aspects of the application. It should be noted that an
|
|
|
|
application specific color setting can cause unexpected results when
|
|
|
|
the user changes its color scheme. The application specific color may
|
|
|
|
look ugly in combination with other color schemes or the resulting UI
|
|
|
|
may even become unreadable. Therefor applications specific colors
|
|
|
|
should be used with care.
|
|
|
|
|
|
|
|
|