mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 13:11:13 +00:00
de3155a4c2
2005-11-23 Michael Natterer <mitch@imendio.com> Added symbolic themable colors. Patch is a merged version of proposals from Matthias and maemo-gtk. Fixes bug #114355. * configure.in: require glib >= 2.9.1 for refcountable hashtables. * gtk/gtksettings.c: added property "color-scheme" which is a string defining colors like "foreground:black\nbackground:grey". Automatically provide a name->GdkColor hash table mapping for the color scheme. * gtk/gtkrc.[ch]: added list of color hashes that works like the list of icon factories. Append the color scheme hash from GtkSettings if it exists. Extended gtkrc syntax to allow defining and referencing of logical colors. Also allow to modulate colors in gtkrc by using arbitrary expressions of mix(), shade(), lighter() and darker(). Added internal function _gtk_rc_style_get_color_hashes(). * gtk/gtkstyle.[ch]: keep a private list of color hashes around. Get the list from _gtk_rc_style_get_color_hashes(). Export internal function _gtk_style_shade() (used by above color expressions). Added public API gtk_style_lookup_color() which looks up a logical color by name. * gtk/gtk.symbols: add gtk_style_lookup_color * tests/testgtkrc: use symbolic colors for making the scrollbars red.
219 lines
4.5 KiB
Plaintext
219 lines
4.5 KiB
Plaintext
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
|
|
#
|
|
# include "rc-file"
|
|
#
|
|
# style <name> [= <name>]
|
|
# {
|
|
# <option>
|
|
# }
|
|
#
|
|
# widget <widget_set> style <style_name>
|
|
# widget_class <widget_class_set> style <style_name>
|
|
|
|
# testgtkrc2 sets all the buttons in the main window to blue by default
|
|
include "testgtkrc2"
|
|
|
|
double-click_timeout = 42
|
|
bell-duration = 39
|
|
bell_duration = 40
|
|
|
|
# gtk-cursor-blink-time = 200
|
|
# gtk-menu-bar-accel = F10
|
|
|
|
style "global-style-properties"
|
|
{
|
|
# xthickness = 20
|
|
GtkButton::child_displacement_x = 1
|
|
GtkButton::child_displacement_y = 1
|
|
# GtkWidget::cursor_color = "#ff0000"
|
|
GtkToolbar::space_size = 10
|
|
GtkToolbar::space_style = line
|
|
GtkToolbar::button_relief = none
|
|
GtkButtonBox::child_min_width = 0
|
|
GtkButtonBox::child_min_height = 0
|
|
}
|
|
class "GtkWidget" style "global-style-properties"
|
|
|
|
style "defaultfont"
|
|
{
|
|
font_name = "Sans 12"
|
|
|
|
Gtest::foo = 47
|
|
Gtest::bar = 47
|
|
# GtkScrollbar::spacing = 33
|
|
# GtkButton::color = { 3, 2,45, 6, 6, 4, 23 }
|
|
}
|
|
|
|
style "myicons"
|
|
{
|
|
stock["gtk-dialog-warning"] =
|
|
{
|
|
{ "3DRings.xpm", *, *, *}
|
|
}
|
|
}
|
|
|
|
class "GtkImage" style "myicons"
|
|
|
|
# common default
|
|
class "GtkWidget" style "defaultfont"
|
|
|
|
style "window"
|
|
{
|
|
# bg_pixmap[NORMAL] = "marble.xpm"
|
|
}
|
|
|
|
style "scale"
|
|
{
|
|
fg[NORMAL] = { 1.0, 0, 0 }
|
|
bg_pixmap[NORMAL] = "<parent>"
|
|
}
|
|
|
|
style "button" = "default"
|
|
{
|
|
# fg[PRELIGHT] = { 1.0, 1.0, 1.0 }
|
|
# bg[PRELIGHT] = { 0, 0, 0.75 }
|
|
# bg[PRELIGHT] = { 0.75, 0, 0x00 }
|
|
}
|
|
|
|
style "toggle_button" = "button"
|
|
{
|
|
fg[NORMAL] = { 1.0, 0, 0 }
|
|
fg[ACTIVE] = { 1.0, 0, 0 }
|
|
# bg_pixmap[ACTIVE] = "check-y.xpm"
|
|
# bg_pixmap[NORMAL] = "check-n.xpm"
|
|
}
|
|
|
|
style "text"
|
|
{
|
|
bg_pixmap[NORMAL] = "marble.xpm"
|
|
text[NORMAL] = { 1.0, 1.0, 1.0 }
|
|
fg[NORMAL] = { 1.0, 1.0, 1.0 }
|
|
base[NORMAL] = { 0.0, 0.0, 0.0 }
|
|
}
|
|
|
|
style "slider"
|
|
{
|
|
fg[NORMAL] = { 1.0, 1.0, 1.0 }
|
|
bg[NORMAL] = { 0.0, 0.0, 1.0 }
|
|
bg[ACTIVE] = { 0.0 ,0.0, 0.5 }
|
|
bg[PRELIGHT] = { 0.75 ,0.75, 1.0 }
|
|
}
|
|
|
|
style "ruler"
|
|
{
|
|
font_name = 'Sans 8'
|
|
}
|
|
|
|
style "curve"
|
|
{
|
|
fg[NORMAL] = { 58000, 0, 0 } # red
|
|
}
|
|
|
|
style "red-bar-parent"
|
|
{
|
|
color["my-red"] = "red"
|
|
color["my-other-red"] = { 0.95, .55, 0.55 }
|
|
}
|
|
|
|
style "red-bar" = "red-bar-parent"
|
|
{
|
|
color["my-light-red"] = lighter (lighter (@my-red))
|
|
|
|
bg[PRELIGHT] = @my-light-red
|
|
}
|
|
|
|
# override testgtk2, introduce the green color in the button list
|
|
style 'button_list' = 'button'
|
|
{
|
|
font_name = "Monospace 10"
|
|
bg[PRELIGHT] = { 0, 0.75, 0x00 }
|
|
}
|
|
widget "main window.*GtkScrolledWindow.*GtkButton*" style "button_list"
|
|
|
|
style "checkbutton" {
|
|
# GtkCheckButton::indicator-size = 27
|
|
}
|
|
|
|
class "GtkCheckButton" style "checkbutton"
|
|
|
|
|
|
class "GtkScrollbar" style "red-bar"
|
|
|
|
widget_class "GtkWindow" style "window"
|
|
widget_class "GtkDialog" style "window"
|
|
widget_class "GtkFileSelection" style "window"
|
|
widget_class "*Gtk*Scale" style "scale"
|
|
widget_class "*GtkCheckButton*" style "toggle_button"
|
|
widget_class "*GtkRadioButton*" style "toggle_button"
|
|
widget_class "*GtkButton*" style "button"
|
|
widget_class "*Ruler" style "ruler"
|
|
widget_class "*GtkText" style "text"
|
|
widget "*GtkCurve" style "curve"
|
|
|
|
binding "test1"
|
|
{
|
|
bind "<ctrl>1" {
|
|
"debug-msg" ("jup!")
|
|
}
|
|
}
|
|
|
|
binding "test2"
|
|
{
|
|
bind "<ctrl>1" {
|
|
"debug-msg" ("hallo and")
|
|
"debug-msg" ("huhu")
|
|
}
|
|
}
|
|
|
|
# possible priorities are (in ascending order):
|
|
# lowest
|
|
# gtk (used by gtk for internal class bindings)
|
|
# application (for hard coded bindings on application basis)
|
|
# rc (used implicitel by rc files)
|
|
# highest
|
|
class "GtkCList" binding "test1" # implicit : rc
|
|
#class "GtkWindow" binding : highest "test2" # override "rc" priority
|
|
|
|
binding "clist-test"
|
|
{
|
|
bind "j" {
|
|
"scroll-vertical" (step-backward, 0.0)
|
|
}
|
|
bind "k" {
|
|
"scroll-vertical" (step-forward, 0.0)
|
|
}
|
|
}
|
|
|
|
class "GtkCList" binding "clist-test"
|
|
|
|
style "testthickness" {
|
|
xthickness = 15
|
|
ythickness = 15
|
|
}
|
|
|
|
#class "GtkFrame" style "testthickness"
|
|
|
|
# Test ordering of RC file priorities
|
|
|
|
style "testgtk-red-style" {
|
|
fg[NORMAL] = "red"
|
|
}
|
|
|
|
style "testgtk-green-style" {
|
|
fg[NORMAL] = "green"
|
|
}
|
|
|
|
style "testgtk-blue-style" {
|
|
fg[NORMAL] = "blue"
|
|
}
|
|
|
|
|
|
widget_class "*.GtkAspectFrame.*.GtkLabel" style "testgtk-green-style"
|
|
widget_class "*.GtkAspectFrame.*.GtkLabel" style "testgtk-blue-style" # override because it's later
|
|
|
|
widget "*.testgtk-red-label" style "testgtk-red-style" # override because it's widget, not widget_class
|
|
|
|
widget "*.testgtk-green-label" style : highest "testgtk-green-style"
|
|
# overrides the following, because it is higher priority
|
|
widget "*.testgtk-green-label" style "testgtk-red-style"
|