Gtkrc

Overview

The look of GTK+, as with all modern graphic tool kits, is defined by themes. Theming in GTK+ consist of three parts: Engines, Styles and Configuration. All in all it can be summarised as: “Themes provide styles, which can be configured and assigned to widgets”.

GTK+ provides a set of drawing primitives: lines, boxes, arrows, and so on. Whenever a widget is drawn, these drawing primitives are used. The implementation provided by GTK+ is very basic and not very sophisticated, but it can be overridden.

That is where the theming engines come into the picture. The theming engines provide their own implementation of those primitives. You can even add additional configuration parameters. These are called ‘Styles’. Say, you don’t just want a foreground and background colour for your widget. Say you want a gradient? Easy, just add a configuration parameter for that style and tell the engine where to use gradients. This happens in the ‘.gtkrc’ file where every widget is provided with a set of configuration parameters.

But that only allows you to style the individual primitives. It is not possible to change the geometry of a widget. Say, for example, you want round edges for your buttons? Well, the only way to do that is to hardcode this into the theming engine; whenever a button is drawn, just handle this in a special case. Query the widget ancestry and draw your round-edged button whenever needed.

Your theme will rest upon the building blocks of the theme engine and the Murrine theme engine offers a robust set of options (e.g. roundness = x). The "gtkrc" file provides instructions to the theme engine on how to render GTK widgets.

Source: federkiel blog

Hierarchy

Every widget is derived from GtkWidget. This means, changes applied to the properties of GtkWidget will affect all other widgets. In addition, some widgets have "parent widgets". As an example, the properties of the GtkButton widget will be applied to the GtkCheckButton widget unless explicitly stated otherwise. The following the the hierarchy of the Impression theme.


GtkWidget
  styled by murrine-GtkWidget

Source

   1 # Human Impression
   2 #
   3 # Author:   John Baer <baerjj@gmail.com>
   4 # version:  9.04
   5 #
   6 # Feel free to modify and share!
   7 # Licensed under Creative Commons 3.0
   8 #
   9 # T H E M E   N O T E S   ##############################################
  10 # ######################################################################
  11 #
  12 # Theme Engines
  13 #
  14 #   - murrine   svn090
  15 #
  16 # http://live.gnome.org/GnomeArt/Tutorials/GtkThemes/SymbolicColors
  17 #
  18 # Color Properties    --------------------------------------------------
  19 #
  20 # fg    Foreground color. Used for text on buttons. Also used for the
  21 #       button borders in some engines.
  22 #
  23 # bg    Background color. This is the background color of windows and
  24 #       buttons.
  25 #
  26 # text  Text color for text input widgets and lists (/GtkTreeView).
  27 #
  28 # base  Background color of text widgets and lists.
  29 #
  30 # Color States        --------------------------------------------------
  31 #
  32 # NORMAL - Color for widget @ default
  33 #
  34 # ACTIVE - Color for active widget
  35 #
  36 # PRELIGHT - Color for button/menu item when mouse hovers above
  37 #
  38 # INSENSITIVE - Color for disabled widget
  39 #
  40 # G N O M E   T H E M E   ##############################################
  41 # ######################################################################
  42 # Attribute           HEX         COMMENT
  43 # -----------------   -------     --------------------------------------
  44 # bg_color            #cdc7be     Theme base color
  45 # fg_color            #1f1816     Theme black
  46 # base_color          #ffffff     White
  47 # text_color          #1f1816     Theme black
  48 # selected_bg_color   #e38544     Orange
  49 # selected_fg_color   #ffffff     White
  50 # tooltip_bg_color    #fffea7     Light yellow
  51 # tooltip_fg_color    #1f1816     Theme black
  52 #
  53 # G N O M E   T H E M E   ##############################################
  54 # ######################################################################
  55 
  56 gtk_color_scheme = "fg_color:#1f1816\nbg_color:#cdc7be\nbase_color:#ffffff\ntext_color:#1f1816\nselected_bg_color:#e38544\nselected_fg_color:#ffffff\ntooltip_bg_color:#fffea7\ntooltip_fg_color:#1f1816\nerror:#00ffff\ndebug:#ff00ff"
  57 
  58 # menu delay
  59 gtk-menu-popup-delay = 1
  60 
  61 # supporting rc's         ##############################################
  62 # ######################################################################
  63 include "scrollbars/scrollbar.rc"
  64 include "scale/scale.rc"
  65 
  66 style "murrine-GtkWidget"
  67 {
  68   # WIDGET DEFAULTS         ############################################
  69   # ####################################################################
  70   GtkScrolledWindow ::scrollbar-spacing = 3
  71   GtkScrolledWindow ::scrollbar-within-bevel = 1
  72 
  73   GtkButton         ::child-displacement-x = 1
  74   GtkButton         ::child-displacement-y = 1
  75   GtkButton         ::default-border       = { 0, 0, 0, 0 }
  76   GtkButton         ::focus-padding        = 0
  77   GtkCheckButton    ::indicator-size       = 14
  78 
  79   GtkPaned          ::handle-size          = 6
  80 
  81   GtkRange          ::trough-border        = 2
  82   GtkRange          ::slider-width         = 13
  83   GtkRange          ::stepper-size         = 13
  84   GtkRange          ::trough-under-steppers= 1
  85 
  86   GtkScale          ::slider-length        = 20
  87   GtkScale          ::trough-side-details  = 0  # 0 = thin slider, >0 = thick slider
  88 
  89   GtkMenuBar        ::internal-padding     = 0
  90   GtkMenuBar        ::shadow-type          = GTK_SHADOW_NONE
  91 
  92   GtkStatusbar      ::shadow-type          = GTK_SHADOW_NONE
  93   #  the resize-grip is not consistantly displayed, disable
  94   GtkStatusbar      ::has-resize-grip      = FALSE
  95 
  96   GtkExpander       ::expander-size        = 16
  97   GtkToolbar        ::internal-padding     = 1
  98   GtkTreeView       ::expander-size        = 14
  99   GtkTreeView       ::vertical-separator   = 0
 100 
 101   GtkMenu           ::horizontal-padding   = 0      # extra space left & right
 102   GtkMenu           ::vertical-padding     = 0      # extra space @ top & bottom of menu
 103   GtkMenu           ::horizontal-offset    = 0      # offset of submenu
 104 
 105   WnckTasklist      ::fade-overlay-rect    = 0
 106 
 107   xthickness = 1    # left & right
 108   ythickness = 1    # top & bottom
 109 
 110   # GTKWIDGET COLOR PALLET  ############################################
 111   # ####################################################################
 112 
 113   fg[NORMAL]        = @fg_color
 114   fg[PRELIGHT]      = @fg_color
 115   fg[SELECTED]      = @selected_fg_color
 116   fg[ACTIVE]        = mix(1.29, @selected_bg_color, @selected_fg_color)
 117   fg[INSENSITIVE]   = mix(0.70, @fg_color, @selected_fg_color)
 118 
 119   bg[NORMAL]        = @bg_color
 120   bg[PRELIGHT]      = shade(1.10, @bg_color)
 121   bg[SELECTED]      = @selected_bg_color
 122   bg[INSENSITIVE]   = shade(0.80, @bg_color)
 123   bg[ACTIVE]        = shade (0.9, @bg_color)
 124 
 125   base[NORMAL]      = @base_color
 126   base[PRELIGHT]    = shade(1.30, @base_color)
 127   base[ACTIVE]      = @selected_bg_color
 128   base[SELECTED]    = @selected_bg_color
 129   base[INSENSITIVE] = shade(1.20, @base_color)
 130 
 131   text[NORMAL]      = @text_color
 132   text[PRELIGHT]    = @text_color
 133   text[ACTIVE]      = @text_color #@selected_fg_color
 134   text[SELECTED]    = @selected_fg_color
 135   text[INSENSITIVE] = mix(0.70, @fg_color, @selected_fg_color)
 136 
 137   # M U R R I N E   O P T I O N S   ####################################
 138   # ####################################################################
 139   engine "murrine"
 140   {
 141     animation           = TRUE  # Enable animations on progressbars, radio and checkbuttons
 142     # Data type: Boolean; default = TRUE (enabled)
 143 
 144     colorize_scrollbar  = TRUE  # Use colorized scrollbars with scrolls and lists
 145     # Data type: Boolean; default = TRUE (enabled)
 146 
 147     contrast            = 1.0   # <!> Use carefully
 148     # Data type: Real; default = 1.0, Range 0-2, precision 0.1
 149 
 150     glazestyle          = 0
 151     # Data type: Enumeration; default = 0, Range 0-4
 152     #   0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight
 153 
 154     glow_shade          = 1.2   # Enable and set the Glow Shade
 155     # Data type: Real; default = 1.0, Range 0-2, precision 0.1
 156 
 157     glowstyle           = 4     # How to apply glow shade
 158     # Data type: Enumeration; default = 0, Range 0-4
 159     # 0 = Top glow, 1 = Bottom glow, 2 = Top and Bottom glow, 3 = Horizontal glow, 4 = Centered glow
 160 
 161     gradients           = TRUE  # Enable/Disable gradients
 162     # Data type: Boolean; default = TRUE (enabled)
 163 
 164     gradient_shades     = {1.1,1.0,1.0,0.87} # Gradient stops
 165     # (4 stops) Data type: Real; Range 0-2, precision 0.2, default 1.0
 166     # <!> Uses the current bg[COLOR]
 167 
 168     highlight_shade     = 1.0   # Prelight ratio (includes panels)
 169     # Data type: Real; default = 1.1, Range 0-2, precision 0.01
 170 
 171     lightborder_shade   = 1.0   # Prelight border ratio
 172     # Data type: Real; default = 1.1, Range 0-2, precision 0.01
 173 
 174     lightborderstyle    = 1     # Prelight border style
 175     # Data type: Enumeration; default = 0, Range 0-1
 176     # 0 = lightborder on top side, 1 = lightborder on all sides
 177 
 178     listviewheaderstyle = 1     # Listview header style
 179     # Data type: Enumeration; default = 0, Range 0-2
 180     # 0 = flat, 1 = glassy, 2 = raised
 181 
 182     listviewstyle       = 0     # Listview separator style
 183     # Data type: Enumeration; default = 0, Range 0-1
 184     # 0 = nothing, 1 = dotted
 185 
 186     menubarstyle        = 2     # Menubar style
 187     # Data type: Enumeration; default = 0, Range 0-3
 188     # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
 189 
 190     menubaritemstyle    = 0     # Menubar item style
 191     # Data type: Enumeration; default = 0, Range 0-1
 192     # 0 = menuitem look, 1 = button look
 193 
 194     menustyle           = 0     # Vertical bars in menus
 195     # Data type: Enumeration; default = 1, Range 0-1
 196     # 0 = no vertical menu stripe, 1 = display vertical menu stripe
 197 
 198     menuitemstyle       = 1     # Menu item style
 199     # Data type: Enumeration; default = 0, Range 0-2
 200     # 0 = flat, 1 = glass, 2 = striped
 201 
 202     profile             = MURRINE
 203     # Data type: Enumeration; default = MURRINE
 204     # engine style options: CANDIDO, CLEARLOOKS, MIST, MURRINE, NODOKA
 205 
 206     progressbarstyle      = 1   # Progressbar style
 207     # Data type: Enumeration; default = 0, Range 0-2
 208     # 0 = Don't draw any special effect, 1 = Draw stripes, 2 = Draw cells
 209 
 210     reliefstyle         = 2     # Relief style of widget
 211     # Data type: Enumeration; default = 1, Range 0-2
 212     # 0 = flat, 1 = inset, 2 = shadow
 213 
 214     rgba                = TRUE # Enable/Disable RGBA support
 215     # Data type: Boolean; default = FALSE (disabled)
 216 
 217     roundness           = 2     # Roundness of widget (typically button)
 218     # Data type: Real; default = 1, Range 0-8
 219     # 0 = square, > 0 = round
 220 
 221 #   scrollbar_color     = "#a8a197" # Override the color of scrollbars
 222     # Data type: Gtk Color; default = "#999999"
 223 
 224     scrollbarstyle      = 3     # Additional scrollbar features
 225     # Data type: Enumeration; default = 0, Range 0-6
 226     # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
 227 
 228     sliderstyle         = 0     # Slider style
 229     # Data type: Enumeration; default = 0, Range 0-1
 230     # 0 = nothing added, 1 = handles
 231 
 232     stepperstyle        = 0     # Stepper style
 233     # Data type: Enumeration; default = 0, Range 0-1
 234     # 0 = standard, 1 = integrated stepper handles
 235 
 236     toolbarstyle        = 1     # Toolbar Style
 237     # Data type: Enumeration; default = 0, Range 0-1
 238     # 0 = flat, 1 = glassy, 2 = gradient
 239   }
 240 }
 241 
 242 # G T K T E S T           ##############################################
 243 # ######################################################################
 244 # Style used during development & testing
 245 #
 246 # @error displays bright blue and indicates an attribute which should
 247 # be fixed.
 248 #
 249 # @debug displays bright magenta and is used in the debugging process.
 250 #
 251 style "murrine-GtkTest"
 252 {
 253   bg[NORMAL]        = @error
 254   bg[PRELIGHT]      = @error
 255   bg[ACTIVE]        = @error
 256   bg[SELECTED]      = @error
 257   bg[INSENSITIVE]   = @error
 258 
 259   # --------------------------------------------------------------------
 260 
 261   fg[NORMAL]        = @error
 262   fg[PRELIGHT]      = @error
 263   fg[ACTIVE]        = @error
 264   fg[SELECTED]      = @error
 265   fg[INSENSITIVE]   = @error
 266 
 267   # --------------------------------------------------------------------
 268 
 269   base[NORMAL]      = @error
 270   base[PRELIGHT]    = @error
 271   base[ACTIVE]      = @error
 272   base[SELECTED]    = @error
 273   base[INSENSITIVE] = @error
 274 
 275   # --------------------------------------------------------------------
 276 
 277   text[NORMAL]      = @error
 278   text[PRELIGHT]    = @error
 279   text[ACTIVE]      = @error
 280   text[SELECTED]    = @error
 281   text[INSENSITIVE] = @error
 282 }
 283 #
 284 # G T K T E S T           ##############################################
 285 # ######################################################################
 286 
 287 # Size Styles             ##############################################
 288 # ######################################################################
 289 #
 290 style "murrine-wide"
 291 {
 292   xthickness = 2
 293   ythickness = 2
 294 }
 295 
 296 style "murrine-wider"
 297 {
 298   xthickness = 3
 299   ythickness = 3
 300 }
 301 #
 302 # Size Styles             ##############################################
 303 # ######################################################################
 304 
 305 # Button Styles           ##############################################
 306 # ######################################################################
 307 #
 308 style "murrine-GtkButton"
 309 {
 310   bg[NORMAL]        = shade (1.2, @bg_color)        # Default
 311   bg[PRELIGHT]      = shade (1.1, @bg_color)        # Prelight
 312   bg[ACTIVE]        = shade (1.0, @bg_color)        # Active
 313   bg[INSENSITIVE]   = shade (1.1, @bg_color)        # Dimmed
 314 
 315   xthickness   = 3
 316   ythickness   = 3
 317 
 318   engine "murrine"{
 319     roundness       = 2
 320     gradient_shades = {1.1, 1.0, 1.0, 0.88}
 321     profile = MURRINE
 322   }
 323 }
 324 
 325 style "mozilla-GtkButton" = "murrine-GtkButton"
 326 {
 327   fg[NORMAL]        = @fg_color                     # Combobox [v]
 328 }
 329 
 330 #
 331 # Button Styles           ##############################################
 332 # ######################################################################
 333 
 334 # Toolbar Styles          ##############################################
 335 # ######################################################################
 336 #
 337 style "murrine-GtkToolbar" = "murrine-GtkWidget"
 338 {
 339   bg[NORMAL]        = @bg_color
 340 
 341 #  xthickness  = 5
 342 #  ythickness  = 3
 343 
 344   engine "murrine"{
 345     glow_shade = 1.0
 346     glazestyle = 3
 347 #    gradient_shades  = {1.15,1.07,1.0605,0.91}
 348     gradient_shades  = {1.12,1.07,1.0605,0.93}
 349     contrast = 1.0
 350     profile = MURRINE
 351   }
 352 }
 353 
 354 style "murrine-GtkToolbarButton" = "murrine-GtkButton"
 355 {
 356   bg[PRELIGHT]      = shade(0.9, @bg_color)         # Prelight
 357   bg[ACTIVE]        = shade(1.0, @bg_color)         #
 358 
 359   xthickness = 6
 360   ythickness = 6
 361 
 362   engine "murrine"{
 363     roundness = 3
 364     gradient_shades = {0.96, 0.99, 0.99, 1.2}
 365     contrast = 1.5
 366     profile = MURRINE
 367   }
 368 }
 369 
 370 style "murrine-GtkToolbar-sep" = "murrine-GtkToolbar"
 371 {
 372   xthickness = 2
 373 }
 374 
 375 style "murrine-GtkHandleBox" = "murrine-GtkToolbar"
 376 {
 377   bg[NORMAL]        = shade (1.12, @bg_color)
 378 
 379   engine "murrine"{
 380     glow_shade = 1.0
 381     glazestyle = 3
 382     contrast   = 1.25
 383     profile = MURRINE
 384   }
 385 }
 386 
 387 #
 388 # Toolbar Styles          ##############################################
 389 # ######################################################################
 390 
 391 # Notebook Styles         ##############################################
 392 # ######################################################################
 393 #
 394 style "murrine-GtkNotebook"
 395 {
 396   bg[NORMAL]        = shade(1.09, @bg_color)        # Selected tab body
 397   bg[PRELIGHT]      = @text_color                   # <> CList
 398   bg[ACTIVE]        = shade(0.88, @bg_color)        # Active / unselected tabs
 399 
 400   fg[NORMAL]        = shade(.45, @selected_bg_color) # <> CList {blue}
 401 
 402   text[NORMAL]      = @fg_color                     # Nautilus folders
 403 
 404   xthickness = 4
 405 
 406   engine "murrine"{
 407     roundness       = 2
 408     gradient_shades = {1.8, 1.7, 1.6, 0.8}
 409     contrast = 1.0
 410     profile = MURRINE
 411 
 412   }
 413 }
 414 #
 415 # Notebook Styles         ##############################################
 416 # ######################################################################
 417 
 418 # Dialog Style            ##############################################
 419 # ######################################################################
 420 #
 421 style "murrine-GtkDialog" = "murrine-GtkWidget"
 422 {
 423   bg[PRELIGHT]      = shade (1.15, @bg_color)       # Prelight
 424   bg[ACTIVE]        = shade (1.05, @bg_color)       # Active
 425   bg[INSENSITIVE]   = shade (1.00, @bg_color)       # Dimmed
 426 
 427   fg[PRELIGHT]      = shade(.45, @selected_bg_color)  # text prelight
 428 
 429 }
 430 #
 431 # Dialog Style            ##############################################
 432 # ######################################################################
 433 
 434 # PanelWidget (desktop)   ##############################################
 435 # ######################################################################
 436 #
 437 
 438 style "murrine-PanelWidget"
 439 {
 440   bg[NORMAL]        = shade(0.80, @bg_color)        # Default panel background (Matches metacity)
 441   bg[PRELIGHT]      = shade(0.70, @bg_color)        # panel prelight
 442   bg[ACTIVE]        = shade(1.10, @bg_color)        # bottom panel active background
 443   bg[SELECTED]      = shade(0.70, @selected_bg_color) # Active window desktop lower panel background [ ] [ ]
 444 
 445   fg[NORMAL]        = @fg_color                     # Default text
 446   fg[PRELIGHT]      = @selected_fg_color            # Prelight
 447   fg[ACTIVE]        = mix(1.29, @selected_bg_color, @selected_fg_color) # Bottom panel active text
 448   fg[SELECTED]      = @fg_color                     # Bottom panel selected window
 449 }
 450 #
 451 # PanelWidget (desktop)   ##############################################
 452 # ######################################################################
 453 
 454 # Menu Styles             ##############################################
 455 # ######################################################################
 456 #
 457 style "murrine-GtkMenu" = "murrine-GtkWidget"
 458 {
 459   bg[NORMAL]        = shade(1.05, @bg_color)        # drop down menu backbround
 460 
 461   xthickness = 0                                    # pads left/right menu drop down
 462   ythickness = 0                                    # pads top/bottom menu drop down
 463 
 464   engine "murrine" {
 465     contrast        = 1.0
 466     style           = MURRINE
 467   }
 468 }
 469 
 470 style "murrine-GtkMenuItem" = "murrine-GtkWidget"
 471 {
 472   bg[NORMAL]        = shade(0.8, @bg_color)         # menu separators in gFTP/Bluefish
 473   bg[SELECTED]      = shade(0.5, @bg_color)         # selected item background
 474 
 475   fg[NORMAL]        = @fg_color                     # menu text!
 476   fg[PRELIGHT]      = @selected_fg_color            # menu text prelight!
 477 
 478   GtkMenuItem::toggle-spacing=10                    # space between icon & text
 479   GtkMenuItem::horizontal-padding=6                 # space between left border & icon
 480   GtkMenuItem::arrow-scaling=.5                     # size of submenu arrow
 481 
 482   xthickness      = 0
 483   ythickness      = 5
 484 
 485   engine "murrine"{
 486     roundness       = 0
 487     gradient_shades = {1.2,1.0,1.0,0.95}
 488     style           = MURRINE
 489   }
 490 }
 491 
 492 style "murrine-GtkMenubar"
 493 {
 494   bg[NORMAL]        = @bg_color                     # panel background
 495 
 496   fg[NORMAL]        = @text_color                   # default panel text !
 497   fg[PRELIGHT]      = @selected_fg_color            # text after dropdown menu
 498 
 499   engine "murrine"{
 500     gradient_shades = {2.0,1.0,1.0,0.97}
 501     contrast = 2.0
 502   }
 503 }
 504 
 505 style "murrine-GtkSeparatorMenuItem"
 506 {
 507   bg[NORMAL]        = shade(1.1, @bg_color)         # line color
 508 
 509   GtkSeparatorMenuItem::horizontal-padding = 3
 510   GtkWidget::wide-separators  = 1
 511   GtkWidget::separator-width  = 1
 512   GtkWidget::separator-height = 1
 513 
 514   xthickness = 1
 515   ythickness = 0
 516 }
 517 
 518 style "murrine-PanelGtkMenubar"
 519 {
 520   bg[NORMAL]        = shade(0.80, @bg_color)        # panel background color (matches metacity)
 521   bg[SELECTED]      = shade(0.90, @bg_color)        # selected panel menu item background color
 522 
 523   fg[NORMAL]        = @text_color                   # default panel text !
 524   fg[PRELIGHT]      = shade(0.55, mix(0.70, @fg_color, @selected_fg_color)) # text after dropdown menu
 525 
 526   engine "murrine"{
 527     gradient_shades = {1.0,1.0,1.0,0.97}
 528     roundness = 0
 529     contrast = 0.0
 530   }
 531 }
 532 
 533 #
 534 # Menu Styles             ##############################################
 535 # ######################################################################
 536 
 537 # TreeView Styles         ##############################################
 538 # ######################################################################
 539 #
 540 style "murrine-GtkTreeView"
 541 {
 542   GtkTreeView ::odd_row_color  = shade(1.2,@bg_color)
 543   GtkTreeView ::even_row_color = @selected_fg_color
 544 }
 545 
 546 style "murrine-GtkTreeView-header" = "murrine-GtkWidget"
 547 {
 548   bg[NORMAL]        = shade(0.9, @bg_color)
 549   bg[PRELIGHT]      = shade(1.0, @bg_color)
 550   bg[ACTIVE]        = shade(0.8, @bg_color)
 551 
 552   GtkWidget::focus-line-width = 0
 553 
 554   xthickness = 2
 555   ythickness = 1
 556 
 557   engine "murrine" {
 558     gradient_shades     = {1.25,1.1,1.1,1.2}
 559     style               = MURRINE
 560     contrast            = 0.5
 561     glazestyle          = 1
 562     listviewheaderstyle = 1
 563   }
 564 }
 565 #
 566 # TreeView Styles         ##############################################
 567 # ######################################################################
 568 
 569 # Check/Radio Styles      ##############################################
 570 # ######################################################################
 571 #
 572 style "murrine-GtkCheckButton" = "murrine-GtkWidget"
 573 {
 574   bg[PRELIGHT]      = shade (1.1, @bg_color)        # prelight background
 575   bg[ACTIVE]        = shade (1.2, @bg_color)        # used by inkscape
 576   bg[SELECTED]      = @selected_fg_color            # [ ] selected background
 577   bg[INSENSITIVE]   = shade (1.4, @bg_color)        # used by inkscape
 578 
 579   fg[NORMAL]        = mix(0.70, @fg_color, @selected_fg_color) # dotted outline
 580   fg[PRELIGHT]      = mix(0.70, @fg_color, @selected_fg_color) # dotted outline
 581   fg[ACTIVE]        = mix(0.70, @fg_color, @selected_fg_color) # dotted outline
 582 
 583   base[NORMAL]      = @selected_fg_color            # [ ] of unselected widget
 584 
 585   text[NORMAL]      = @fg_color                     # Default check/radio symbol
 586   text[PRELIGHT]    = shade (0.9, @selected_bg_color) # Prelight check/radio symbol
 587   text[ACTIVE]      = @selected_bg_color            # Active check/radio symbol
 588 }
 589 
 590 style "murrine-GtkRadioButtonLabel"
 591 {
 592   fg[NORMAL]        = shade(3.0, @text_color)       # unchecked
 593   fg[ACTIVE]        = @text_color                   # checked
 594   fg[PRELIGHT]      = @text_color                   # text
 595 }
 596 
 597 style "murrine-GtkCheckMenuItem" = "murrine-GtkWidget"
 598 {
 599   bg[NORMAL]        = @selected_fg_color            # default [ ]
 600   bg[SELECTED]      = shade(0.4, @bg_color)         # selected [ ]
 601 
 602   fg[NORMAL]        = @text_color                   # Default text
 603   fg[PRELIGHT]      = @selected_fg_color            # Prelight text
 604 
 605   base[NORMAL]      = @base_color                   # symbol
 606 
 607   text[NORMAL]      = @base_color                   # Default check/radio symbol
 608   text[PRELIGHT]    = @base_color                   # Prelight check/radio symbol
 609 
 610   ythickness = 6
 611 
 612   engine "murrine"{
 613     gradient_shades = {1.3,1.0,1.0,1.1}
 614     contrast        = 1.5
 615     style           = MURRINE
 616   }
 617 }
 618 #
 619 # Check/Radio Styles      ##############################################
 620 # ######################################################################
 621 
 622 style "murrine-GtkTooltips"
 623 {
 624   bg[NORMAL]        = @tooltip_bg_color
 625   fg[NORMAL]        = @tooltip_fg_color
 626 
 627   xthickness = 4
 628   ythickness = 4
 629 
 630   engine "murrine"
 631   {
 632     contrast = .8
 633     profile = MURRINE
 634   }
 635 }
 636 
 637 # GtkProgressBar          ##############################################
 638 # ######################################################################
 639 # The svn132 version of murrine does not theme progressbar trough.
 640 #
 641 style "murrine-GtkProgressBar"
 642 {
 643   bg[SELECTED]      = @selected_bg_color            # Bar
 644 
 645   fg[NORMAL]        = @fg_color                     # Text on trough
 646   fg[PRELIGHT]      = @selected_fg_color            # Text on bar
 647 
 648   xthickness = 0
 649   ythickness = 0
 650 
 651   engine "murrine"
 652   {
 653     # contrast determines how much of the candy bar is visible
 654     contrast = 1.0
 655     profile = MURRINE
 656   }
 657 
 658 }
 659 
 660 # rhythmbox-GtkProgressBar style
 661 # ######################################################################
 662 style "rhythmbox-GtkProgressBar"
 663 {
 664   bg[SELECTED]      = @selected_bg_color            # Bar
 665 
 666   fg[NORMAL]        = @fg_color                     # Text on trough
 667   fg[PRELIGHT]      = @selected_fg_color            # Text on bar
 668 
 669   xthickness = 0
 670   ythickness = 6
 671 
 672   engine "murrine"
 673   {
 674     animation = FALSE
 675     progressbarstyle = 0
 676   }
 677 }
 678 
 679 # mozilla-GtkProgressBar style
 680 # ######################################################################
 681 style "mozilla-GtkProgressBar"
 682 {
 683   bg[SELECTED]      = @selected_bg_color            # Bar
 684 
 685   fg[NORMAL]        = @fg_color                     # Text on trough
 686   fg[PRELIGHT]      = @selected_fg_color            # Text on bar
 687 
 688   xthickness = 0
 689   ythickness = 0
 690 
 691   engine "murrine"
 692   {
 693     animation = FALSE
 694     progressbarstyle = 0
 695   }
 696 }
 697 #
 698 # GtkProgressBar          ##############################################
 699 # ######################################################################
 700 
 701 # GtkStatusbar            ##############################################
 702 # ######################################################################
 703 #
 704 style "murrine-GtkStatusbar"
 705 {
 706   bg[NORMAL]        = @bg_color                     # background
 707 
 708   fg[NORMAL]        = @text_color                   # text
 709 
 710   ythickness  = 6
 711   xthickness  = 4
 712 
 713   engine "murrine"{
 714     #glow_shade = 1.0
 715     #glazestyle = 3
 716     #gradient_shades  = {1.15,1.07,1.0605,0.91}
 717     contrast = 0.80
 718     profile = MURRINE
 719   }
 720 }
 721 
 722 #
 723 # GtkStatusbar (desktop)  ##############################################
 724 # ######################################################################
 725 
 726 style "murrine-GtkComboBoxEntry"
 727 {
 728 }
 729 
 730 style "murrine-GtkSpinButton"
 731 {
 732   bg[NORMAL]        = shade (1.1, @bg_color)
 733   bg[INSENSITIVE]   = shade (1.0, @bg_color)
 734 
 735   fg[NORMAL]        = @fg_color                     # [^/v] controls
 736   fg[PRELIGHT]      = @selected_bg_color            # [^/v] controls
 737   fg[ACTIVE]        = @selected_bg_color            # [^/v] controls
 738   fg[INSENSITIVE]   = mix(0.70, @fg_color, @selected_fg_color) # [^/v] controls
 739 
 740   base[NORMAL]      = @selected_fg_color            # default combobox input
 741   base[ACTIVE]      = @selected_bg_color            # active input
 742   base[SELECTED]    = @selected_bg_color            # background selected
 743 
 744   text[NORMAL]      = @text_color                   # default input text
 745   text[ACTIVE]      = @selected_fg_color            # active text
 746   text[SELECTED]    = @text_color                   # selected input text
 747   text[INSENSITIVE] = mix(0.70, @fg_color, @selected_fg_color)  # dimmed input text
 748 }
 749 
 750 # GtkScale                ##############################################
 751 # ######################################################################
 752 #
 753 style "murrine-GtkScale"
 754 {
 755   bg[NORMAL]        = shade (1.00, @bg_color)
 756   bg[PRELIGHT]      = shade (1.20, @bg_color)
 757 
 758   fg[NORMAL]        = shade (0.80, @bg_color)
 759 
 760   GtkScale::slider-length = 9
 761   GtkScale::slider-width    = 15
 762   # required for svn136
 763   GtkScale::trough-side-details = 1
 764 
 765   engine "murrine"{
 766     roundness = 2
 767     contrast = 1.0
 768     gradient_shades = {0.90, 1.06, 1.01, 0.88}
 769     profile = MURRINE
 770   }
 771 }
 772 
 773 style "murrine-GtkHScale" = "murrine-GtkScale"
 774 {
 775 }
 776 
 777 style "murrine-GtkVScale" = "murrine-GtkScale"
 778 {
 779 }
 780 #
 781 # GtkScale                ##############################################
 782 # ######################################################################
 783 
 784 # GtkScrollbar            ##############################################
 785 # ######################################################################
 786 #
 787 style "murrine-GtkScrollbar"
 788 {
 789   bg[NORMAL]        = shade (1.15, @bg_color)       # normal stepper
 790   bg[PRELIGHT]      = shade (1.35, @bg_color)       # prelight stepper
 791   bg[ACTIVE]        = shade (1.20, @bg_color)       # active stepper
 792   bg[SELECTED]      = shade (0.75, @bg_color)       # selected stepper
 793   bg[INSENSITIVE]   = shade (0.98, @bg_color)       # dimmed stepper
 794 
 795   #GtkScrollbar::fixed-slider-length        = 1
 796   GtkScrollbar::has-backward-stepper        = 0
 797   #GtkScrollbar::has-forward-stepper        = 1
 798   GtkScrollbar::has-secondary-backward-stepper  = 1
 799   #GtkScrollbar::has-secondary-forward-stepper  = 1
 800   GtkScrollbar::min-slider-length = 30
 801   GtkScrollbar::trough-under-steppers = 1
 802 
 803   engine "murrine"{
 804     roundness = 2
 805     contrast = 1.20
 806     gradient_shades = {1.0, 1.05, 1.0, 0.88}
 807     profile = MURRINE
 808   }
 809 }
 810 
 811 style "murrine-GtkHScrollbar" = "murrine-GtkScrollbar"
 812 {
 813 }
 814 
 815 style "murrine-GtkVScrollbar" = "murrine-GtkScrollbar"
 816 {
 817 }
 818 #
 819 # GtkScrollbar            ##############################################
 820 # ######################################################################
 821 
 822 style "murrine-GtkFrame"
 823 {
 824 }
 825 
 826 style "murrine-GtkFrameTitle" = "murrine-GtkFrame"
 827 {
 828   fg[NORMAL] = @text_color                          # Frame text
 829 }
 830 
 831 style "murrine-nautilus-location"
 832 {
 833   bg[NORMAL] = mix(0.60, shade (1.05, @bg_color), @selected_bg_color)
 834 }
 835 
 836 style "murrine-GtkHSeparator"
 837 {
 838   bg[NORMAL]        = shade(1.1, @bg_color)         # line color
 839 
 840   xthickness = 1
 841   ythickness = 0
 842 }
 843 
 844 style "murrine-GtkVSeparator"
 845 {
 846   bg[NORMAL]        = shade(1.1, @bg_color)         # line color
 847 
 848   xthickness = 0
 849   ythickness = 1
 850 }
 851 
 852 # nautilus-GtkWidget
 853 # ######################################################################
 854 style "nautilus-GtkWidget"
 855 {
 856   fg[NORMAL]        = @text_color                    # Default
 857 }
 858 
 859 # GtkEvolution style
 860 # ######################################################################
 861 style "evolution-GtkETree"
 862 {
 863   bg[ACTIVE]        = mix(0.40, @selected_bg_color, @bg_color) # active list item
 864   bg[SELECTED]      = @selected_bg_color            # selected list item
 865 
 866   fg[NORMAL]        = @selected_fg_color            # Default text
 867   fg[ACTIVE]        = @text_color                   # Active text
 868   fg[SELECTED]      = @selected_fg_color
 869   fg[INSENSITIVE]   = mix(0.70, @fg_color, @selected_fg_color)            # Insensitive text
 870 }
 871 
 872 
 873 style "evolution-GtkECalendar"
 874 {
 875   bg[NORMAL]        = mix(0.25, @selected_bg_color, @bg_color) # calendar title & frame
 876   bg[SELECTED]      = shade(1.14, @bg_color)           # border of today
 877 
 878   fg[NORMAL]        = @text_color                     # days of week & month
 879 
 880   base[NORMAL]      = @selected_fg_color              # background
 881   base[ACTIVE]      = shade(1.18, @bg_color)          # background of today
 882   base[SELECTED]    = @base_color                     # days of week title
 883 
 884   text[ACTIVE]      = shade(0.50, @selected_bg_color) # days of week title
 885 }
 886 
 887 # Widget Hierarchy        ##############################################
 888 # ######################################################################
 889 #
 890 # Some knowledge of GTK hierarchy is helpful ;)
 891 #
 892 # http://library.gnome.org/devel/gtk/unstable/ch01.html
 893 #
 894 #   Widget                                Style
 895 #   -----------------------------------   ------------------------------
 896 #   GtkWidget                             murrine-GtkWidget
 897 #     +--GtkContainer
 898 #       +--GtkBin
 899 #         +--GtkWindow
 900 #         +--GtkFrame                     murrine-GtkFrame
 901 #         +--GtkButton                    murrine-GtkButton
 902 #           +--GtkToggleButton
 903 #             +--GtkCheckButton           murrine-GtkCheckButton
 904 #               +--GtkRadioButton         murrine-GtkCheckButton
 905 #         +--GtkHandleBox                 murrine-GtkHandleBox
 906 #         +--GtkItem
 907 #           +--GtkMenuItem                murrine-GtkMenuItem
 908 #           +--GtkSeparatorMenuItem       murrine-GtkSeparatorMenuItem
 909 #         +--GtkComboBox                  murrine-GtkComboBoxEntry
 910 #           +--GtkComboBoxEntry           murrine-GtkComboBoxEntry
 911 #         +--GtkEventBox
 912 #
 913 #       +--GtkBox
 914 #         +--GtkHBox
 915 #           +--GtkCombo                   murrine-GtkComboBoxEntry
 916 #           +--GtkStatusbar               murrine-GtkStatusbar
 917 #         +--GtkVBox
 918 #
 919 #       +--GtkCList
 920 #         +--GtkCTree
 921 #
 922 #       +--GtkList
 923 #
 924 #       +--GtkLayout                      murrine-GtkNotebook
 925 #
 926 #     +--GtkDrawingArea                   murrine-GtkNotebook
 927 #
 928 #       +--GtkMenuShell
 929 #         +--GtkMenuBar                   murrine-GtkMenubar
 930 #         +--GtkMenu                      murrine-GtkMenu
 931 #
 932 #       +--GtkNotebook                    murrine-GtkNotebook
 933 #
 934 #       +--GtkToolbar                     murrine-GtkToolbar
 935 #
 936 #       +--GtkTreeView                    murrine-GtkTreeView
 937 #
 938 #     +--GtkEntry                         murrine-wider
 939 #       +--GtkSpinButton                  murrine-GtkSpinButton
 940 #
 941 #     +--GtkMisc
 942 #       +--GtkLabel
 943 #
 944 #     +--GtkRange
 945 #       +--GtkScale                       murrine-GtkScale
 946 #         +--GtkHScale
 947 #         +--GtkVScale
 948 #       +--GtkScrollbar                   murrine-GtkScrollbar
 949 #         +--GtkHScrollbar
 950 #         +--GtkVScrollbar
 951 #
 952 #     +--GtkProgress
 953 #       +--GtkProgressBar                 murrine-GtkProgressBar
 954 #
 955 #     +--GtkSeparator
 956 #       +--GtkHSeparator                  murrine-GtkHSeparator
 957 #       +--GtkVSeparator                  murrine-GtkVSeparator
 958 #
 959 # Widget Hierarchy        ##############################################
 960 # ######################################################################
 961 # W A R N I N G           ##############################################
 962 #
 963 # As illustrated by the above widget hierarchy, GTK objects inherit style
 964 # from their parent objects with the root being GTKWIDGET. Getting the theme
 965 # to work properly is dependent upon instantiating "class" and "widget_class"
 966 # objects in the correct order.
 967 #
 968 # ######################################################################
 969 
 970 # GtkWidget
 971 #
 972 # http://library.gnome.org/devel/gtk/unstable/GtkWidget.html
 973 #
 974 class "GtkWidget" style "murrine-GtkWidget"
 975 
 976 # GtkDialog
 977 #
 978 # http://library.gnome.org/devel/gtk/unstable/GtkDialog.html
 979 #
 980 widget_class "<GtkDialog>.*"                  style "murrine-GtkDialog"
 981 widget_class "<GtkDialog>.*<GtkProgressBar>*" style "murrine-GtkProgressBar"
 982 widget_class "<GtkDialog>.*<GtkScrollbar>*"   style "murrine-GtkScrollbar"
 983 
 984 # Increase the x/ythickness in some widgets
 985 class "GtkRange"      style "murrine-GtkWidget"
 986 class "GtkFrame"      style "murrine-GtkFrame"
 987 
 988 # GtkHSeparator/GtkVSeparator
 989 #
 990 # http://library.gnome.org/devel/gtk/stable/GtkHSeparator.html
 991 # http://library.gnome.org/devel/gtk/stable/GtkVSeparator.html
 992 #
 993 # class "GtkSeparator"  style "murrine-wide"
 994 class "GtkHSeparator"  style "murrine-GtkHSeparator"
 995 class "GtkVSeparator"  style "murrine-GtkVSeparator"
 996 
 997 class "GtkEntry"      style "murrine-wider"
 998 
 999 # GtkStatusbar
1000 # The text of the status bar is formated by GtkFrame
1001 #
1002 # http://library.gnome.org/devel/gtk/stable/GtkStatusbar.html
1003 #
1004 widget_class "*<GtkStatusbar>*"  style "murrine-GtkStatusbar"
1005 
1006 # GtkMenuBar
1007 #
1008 # http://library.gnome.org/devel/gtk/stable/GtkMenuBar.html
1009 #
1010 class "GtkMenuBar"              style:highest "murrine-GtkMenubar"
1011 
1012 # GtkToolbar
1013 #
1014 # http://library.gnome.org/devel/gtk/stable/GtkToolbar.html
1015 #
1016 class "GtkToolbar"                      style "murrine-GtkToolbar"
1017 widget_class "*<GtkToolbar>.*Button.*"  style "murrine-GtkToolbarButton"
1018 
1019 # GtkHandleBox
1020 #
1021 # http://library.gnome.org/devel/gtk/stable/GtkHandleBox.html
1022 #
1023 class "GtkHandleBox"  style "murrine-GtkHandleBox"
1024 
1025 # GtkSpinButton
1026 #
1027 # http://library.gnome.org/devel/gtk/unstable/GtkSpinButton.html
1028 #
1029 class "GtkSpinButton" style "murrine-GtkSpinButton"
1030 
1031 # GtkScale
1032 #
1033 # http://library.gnome.org/devel/gtk/stable/GtkScale.html
1034 #
1035 class "GtkScale"      style "murrine-GtkScale"
1036 
1037 # GtkScrollbar
1038 #
1039 # http://library.gnome.org/devel/gtk/stable/GtkScrollbar.html
1040 #
1041 # murrine solution
1042 class "GtkScrollbar"  style "murrine-GtkScrollbar"
1043 
1044 # GtkButton
1045 #
1046 # http://library.gnome.org/devel/gtk/unstable/GtkButton.html
1047 #
1048 class "GtkButton"                   style "murrine-GtkButton"
1049 
1050 # GtkCheckButton/GtkRadioButton
1051 #
1052 # http://library.gnome.org/devel/gtk/unstable/GtkRadioButton.html
1053 # http://library.gnome.org/devel/gtk/stable/GtkCheckButton.html
1054 #
1055 class "GtkCheckButton"              style "murrine-GtkCheckButton"
1056 class "GtkRadioButton"              style "murrine-GtkCheckButton"
1057 widget_class "*.*<GtkRadioButton>*" style "murrine-GtkRadioButtonLabel"
1058 widget_class "*.*<GtkCheckButton>*" style "murrine-GtkRadioButtonLabel"
1059 
1060 # apply theme elements to firefox
1061 widget "Mozilla*Button*"            style "mozilla-GtkButton"
1062 
1063 # GtkNotebook
1064 #
1065 # http://library.gnome.org/devel/gtk/unstable/GtkNotebook.html
1066 #
1067 class "GtkNotebook"                             style "murrine-GtkNotebook"
1068 widget_class "*.*.GtkNotebook"                  style "murrine-GtkNotebook"
1069 widget_class "*<GtkNotebook>*<GtkEventBox>"     style "murrine-GtkNotebook"
1070 widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "murrine-GtkNotebook"
1071 widget_class "*<GtkNotebook>*<GtkLayout>"       style "murrine-GtkNotebook"
1072 
1073 # GtkComboBoxEntry
1074 #
1075 # http://library.gnome.org/devel/gtk/stable/GtkComboBoxEntry.html
1076 #
1077 widget_class "*<GtkComboBoxEntry>*"             style "murrine-GtkComboBoxEntry"
1078 
1079 # GtkCombo
1080 #
1081 # http://library.gnome.org/devel/gtk/unstable/GtkCombo.html
1082 #
1083 widget_class "*<GtkCombo>*"                     style "murrine-GtkComboBoxEntry"
1084 
1085 # GtkMenu
1086 #
1087 # http://library.gnome.org/devel/gtk/stable/GtkMenu.html
1088 #
1089 widget_class "*<GtkMenu>*"              style "murrine-GtkMenu"
1090 
1091 # GtkMenuItem / GtkSeparatorMenuItem
1092 #
1093 # http://library.gnome.org/devel/gtk/stable/GtkMenuItem.html
1094 # http://library.gnome.org/devel/gtk/stable/GtkSeparatorMenuItem.html
1095 #
1096 widget_class "*<GtkMenuItem>*"          style "murrine-GtkMenuItem"
1097 widget_class "*<GtkSeparatorMenuItem>*" style "murrine-GtkSeparatorMenuItem"
1098 
1099 # GtkCheckMenuItem
1100 #
1101 # http://library.gnome.org/devel/gtk/unstable/GtkCheckMenuItem.html
1102 #
1103 widget_class "*<GtkCheckMenuItem>"      style "murrine-GtkCheckMenuItem"
1104 
1105 # GtkFrame
1106 #
1107 # http://library.gnome.org/devel/gtk/stable/GtkFrame.html
1108 #
1109 widget_class "*<GtkFrame>"              style "murrine-GtkFrame"
1110 widget_class "*.<GtkFrame>.<GtkLabel>"  style "murrine-GtkFrameTitle"
1111 
1112 # GtkTreeView
1113 #
1114 # http://library.gnome.org/devel/gtk/unstable/GtkTreeView.html
1115 #
1116 widget_class "*.<GtkTreeView>*"             style "murrine-GtkTreeView"
1117 widget_class "*.<GtkTreeView>.<GtkButton>"  style "murrine-GtkTreeView-header"
1118 widget_class "*.<GtkCTree>.<GtkButton>"     style "murrine-GtkTreeView-header"
1119 widget_class "*.<GtkList>.<GtkButton>"      style "murrine-GtkTreeView-header"
1120 widget_class "*.<GtkCList>.<GtkButton>"     style "murrine-GtkTreeView-header"
1121 
1122 # GtkProgressBar
1123 #
1124 # http://library.gnome.org/devel/gtk/stable/GtkProgressBar.html
1125 #
1126 class "GtkProgressBar"                      style "murrine-GtkProgressBar"
1127 
1128 # This is a work around ;) By default the rhytmbox progress bar fills
1129 # the status area. IMO the bar displays better without a trough.
1130 widget_class "*<RBStatusbar>.<GtkProgressBar>" style:highest "rhythmbox-GtkProgressBar"
1131 widget "MozillaGtkWidget*GtkProgressBar*" style "mozilla-GtkProgressBar"
1132 
1133 #Panel
1134 widget "*PanelWidget*"      style "murrine-PanelWidget"
1135 widget "*PanelApplet*"      style "murrine-PanelWidget"
1136 widget "*fast-user-switch*" style "murrine-PanelWidget" # Workaround for Fast User Switch applet
1137 class "PanelApp*"           style "murrine-PanelWidget"
1138 class "PanelToplevel*"      style "murrine-PanelWidget"
1139 
1140 # The panel menubar
1141 widget_class "*Panel*<GtkMenuBar>*"         style:highest "murrine-PanelGtkMenubar"
1142 
1143 # The window of the tooltip is called "gtk-tooltip"
1144 widget "gtk-tooltip*" style "murrine-GtkTooltips"
1145 
1146 # ######################################################################
1147 # Special cases and work arounds
1148 # ######################################################################
1149 
1150 # Nautilus
1151 # Nautilus uses a white canvas to display folder & files. Make sure
1152 # the text is dark.
1153 widget_class "*.EelEditableLabel" style "nautilus-GtkWidget"
1154 
1155 # Special case the nautilus-extra-view-widget
1156 # ToDo: A more generic approach for all applications that have a widget like this.
1157 widget "*.nautilus-extra-view-widget" style : highest "murrine-nautilus-location"
1158 
1159 # Workarounds for Evolution
1160 widget_class "*.ETable.ECanvas"   style "murrine-GtkTreeView-header"
1161 widget_class "*.ETree.ECanvas"    style "murrine-GtkTreeView-header"
1162 widget_class "*.ETree.*"          style "evolution-GtkETree"
1163 widget_class "*.ECalendar"        style "evolution-GtkECalendar"
1164 
1165 # Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
1166 style "murrine-text-is-fg-color-workaround"
1167 {
1168   text[NORMAL]        = @fg_color
1169   text[PRELIGHT]      = @fg_color
1170   text[SELECTED]      = @selected_fg_color
1171   text[ACTIVE]        = @fg_color
1172   text[INSENSITIVE]   = mix(0.70, @fg_color, @selected_fg_color) # darker (@bg_color)
1173 }
1174 widget_class "*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround"
1175 
1176 style "murrine-menuitem-text-is-fg-color-workaround"
1177 {
1178   text[NORMAL]        = @fg_color
1179   text[PRELIGHT]      = @selected_fg_color
1180   text[SELECTED]      = @selected_fg_color
1181   text[ACTIVE]        = @fg_color
1182   text[INSENSITIVE]   = mix(0.70, @fg_color, @selected_fg_color) # darker (@bg_color)
1183 }
1184 widget "*.gtk-combobox-popup-menu.*"   style "murrine-menuitem-text-is-fg-color-workaround"
1185 
1186 # Work around the usage of GtkLabel inside GtkListItems to display text.
1187 # This breaks because the label is shown on a background that is based on the
1188 # base color set.
1189 style "murrine-fg-is-text-color-workaround"
1190 {
1191   fg[NORMAL]      = @text_color
1192   fg[PRELIGHT]    = @text_color
1193   fg[ACTIVE]      = @selected_fg_color
1194   fg[SELECTED]    = @selected_fg_color
1195   fg[INSENSITIVE] = mix(0.70, @fg_color, @selected_fg_color) # darker (@bg_color)
1196 }
1197 widget_class "*<GtkListItem>*" style "murrine-fg-is-text-color-workaround"
1198 # The same problem also exists for GtkCList and GtkCTree
1199 # Only match GtkCList and not the parent widgets, because that would also change the headers.
1200 widget_class "*<GtkCList>" style "murrine-fg-is-text-color-workaround"
1201 
1202 style "murrine-evo-new-button-workaround"
1203 {
1204   engine "murrine"
1205   {
1206     toolbarstyle = 0
1207   }
1208 }
1209 
1210 widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround"
1211 
1212 #Rhythmbox toolbar near the search entry. Use default + wide so that it doesn't turn dark.
1213 style "murrine-rhythmbox-header" = "murrine-GtkWidget"
1214 {
1215   xthickness = 3
1216   ythickness = 3
1217   engine "murrine" {
1218   }
1219 }
1220 widget "*RBSourceHeader*" style:highest "murrine-rhythmbox-header"
1221 widget "*swt*toolbar*"    style "murrine-GtkWidget"
1222 
1223 # RSC: Fix for CPU frequency applet
1224 style "applet-text" = "murrine-panel"
1225 {
1226   fg[NORMAL] = @bg_color
1227 }
1228 widget_class "*CPUFreqApplet*" style:highest "applet-text"

Attachments


CategoryArtwork

Comments


Your comments here.

Artwork/Incoming/Jaunty/Impression/Gtkrc (last edited 2009-04-08 12:41:35 by 204)