Gtkrc
Contents |
Slideshow ^ |< << Slide 11 of 24 >> >| |
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
GtkContainer
GtkBin
GtkWindow
GtkFrame
styled by murrine-GtkFrameGtkButton
styled by murrine-GtkButtonGtkToggleButton
GtkCheckButton
styled by murrine-GtkCheckButtonGtkRadioButton
styled by murrine-GtkCheckButton
GtkHandleBox
styled by murrine-GtkHandleBoxGtkItem
GtkMenuItem
styled by murrine-GtkMenuItemGtkSeparatorMenuItem
styled by murrine-GtkSeparatorMenuItem
GtkComboBox
styled by murrine-GtkComboBoxEntryGtkComboBoxEntry
styled by murrine-GtkComboBoxEntry
GtkEventBox
GtkBox
GtkHBox
GtkCombo
styled by murrine-GtkComboBoxEntryGtkStatusbar
styled by murrine-GtkStatusbar
GtkVBox
GtkCList
GtkCTree
GtkList
GtkLayout
styled by murrine-GtkNotebookGtkDrawingArea
styled by murrine-GtkNotebookGtkMenuShell
GtkMenuBar
styled by murrine-GtkMenubarGtkMenu
styled by murrine-GtkMenu
GtkNotebook
styled by murrine-GtkNotebookGtkToolbar
styled by murrine-GtkToolbarGtkTreeView
styled by murrine-GtkTreeViewGtkEntry
styled by murrine-widerGtkSpinButton
styled by murrine-GtkSpinButtonGtkMisc
GtkLabel
GtkRange
GtkScale
styled by murrine-GtkScaleGtkHScale
GtkVScale
GtkScrollbar
styled by murrine-GtkScrollbarGtkHScrollbar
GtkVScrollbar
GtkProgress
GtkProgressBar
styled by murrine-GtkProgressBarGtkSeparator
GtkHSeparator
styled by murrine-GtkHSeparatorGtkVSeparator
styled by murrine-GtkVSeparator
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
Comments
Your comments here.
Artwork/Incoming/Jaunty/Impression/Gtkrc (last edited 2009-04-08 12:41:35 by 204)