@define-color bg_color -gtk-win32-color(button, 15); @define-color text_color -gtk-win32-color(button, 18); @define-color base_color #fff; @define-color selected_bg_color -gtk-win32-color(button, 13); @define-color selected_fg_color -gtk-win32-color(button, 14); @define-color info_fg_color rgb (181, 171, 156); @define-color info_bg_color rgb (252, 252, 189); @define-color warning_fg_color rgb (173, 120, 41); @define-color warning_bg_color rgb (250, 173, 61); @define-color question_fg_color rgb (97, 122, 214); @define-color question_bg_color rgb (138, 173, 212); @define-color error_fg_color rgb (166, 38, 38); @define-color error_bg_color rgb (237, 54, 54); GtkWindow, GtkViewport { background-color: @bg_color; } * { color: -gtk-win32-color(button, 9); -GtkWidget-link-color: -gtk-win32-color(button, 26); -GtkWidget-visited-link-color: -gtk-win32-color(button, 26); border-color: shade (@bg_color, 0.6); } GtkFrame { border-width: 2px; border-style: solid; background-color: transparent; border-image: -gtk-win32-theme-part(button, 4 1) 2 2 2 2 stretch; } *:insensitive { color: -gtk-win32-color(button, 17); } *:selected, *:selected:focus { background-color: @selected_bg_color; color: @selected_fg_color; } .info { background-color: @info_bg_color; color: @info_fg_color; } .warning { background-color: @warning_bg_color; color: @warning_fg_color; } .question { background-color: @question_bg_color; color: @question_fg_color; } .error { background-color: @error_bg_color; color: @error_fg_color; } .highlight { background-color: @selected_bg_color; color: @selected_fg_color; } .light-area-focus { color: #000; } .dark-area-focus { color: #fff; } .view { border-width: 0; border-radius: 0; background-color: @base_color; color: @text_color; } .view:selected { background-color: shade (@bg_color, 0.9); color: @fg_color; } .view:selected:focused { background-color: @selected_bg_color; color: @selected_fg_color; } .tooltip { background-color: -gtk-win32-color(button, 24); color: -gtk-win32-color(button, 23); border-width: 1px; border-style: solid; } .tooltip * { color: -gtk-win32-color(button, 23); } GtkAssistant .sidebar .highlight { font: bold; color: -gtk-win32-color(button, 9); } /* Buttons */ .button { color: -gtk-win32-color(button, 18); background-color: transparent; background-image: -gtk-win32-theme-part(button, 1 1); border-width: 0; -GtkWidget-focus-line-width: 1; -GtkWidget-focus-padding: 3; -GtkButton-interior-focuse: true; padding: 2px; } .button:insensitive { background-image: -gtk-win32-theme-part(button, 1 4); } .button:focused { background-image: -gtk-win32-theme-part(button, 1 5); } .button:prelight, .button:prelight:focused { background-image: -gtk-win32-theme-part(button, 1 2); color: #000000; } .button:active, .button:active:focused, .button:active:focused:prelight { background-image: -gtk-win32-theme-part(button, 1 3); } /* Check buttons */ .check { background-color: transparent; background-image: -gtk-win32-theme-part(button, 3 1); border-width: 0; } .check:insensitive { background-image: -gtk-win32-theme-part(button, 3 4); } .check:prelight { background-image: -gtk-win32-theme-part(button, 3 2); } .check:active { background-image: -gtk-win32-theme-part(button, 3 5); } .check:active:insensitive { background-image: -gtk-win32-theme-part(button, 3 8); } .check:active:prelight { background-image: -gtk-win32-theme-part(button, 3 6); } .check:inconsistent { background-image: -gtk-win32-theme-part(button, 3 9); } .check:inconsistent:insensitive { background-image: -gtk-win32-theme-part(button, 3 12); } .check:inconsistent:prelight { background-image: -gtk-win32-theme-part(button, 3 10); } /* Radio buttons */ .radio { background-color: transparent; background-image: -gtk-win32-theme-part(button, 2 1); border-width: 0; } .radio:insensitive { background-image: -gtk-win32-theme-part(button, 2 4); } .radio:prelight { background-image: -gtk-win32-theme-part(button, 2 2); } .radio:active { background-image: -gtk-win32-theme-part(button, 2 5); } .radio:active:insensitive { background-image: -gtk-win32-theme-part(button, 2 8); } .radio:active:prelight { background-image: -gtk-win32-theme-part(button, 2 6); } .radio:inconsistent { background-image: -gtk-win32-theme-part(button, 2 1, over (2 5, 0.3)); } .radio:inconsistent:insensitive { background-image: -gtk-win32-theme-part(button, 2 4, over (2 8, 0.3)); } .radio:inconsistent:prelight { background-image: -gtk-win32-theme-part(button, 2 4, over(2 6, 0.3)); } /* Scrollbars */ /* TODO: Win32 has different concept for upper and lower trough, we don't use this atm */ .scrollbar { background-color: transparent; -GtkRange-trough-border: 0; -GtkRange-arrow-scaling: 0.0; -GtkRange-slider-width: -gtk-win32-size(scrollbar, 3); } .scrollbar.vertical { -GtkRange-slider-width: -gtk-win32-size(scrollbar, 2); } .scrollbar.button.bottom { background-image: -gtk-win32-theme-part(scrollbar, 1 5); } .scrollbar.button.bottom:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 6); } .scrollbar.button.bottom:active, .scrollbar.button.bottom:active:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 7); } .scrollbar.button.bottom:insensitive { background-image: -gtk-win32-theme-part(scrollbar, 1 8); } .scrollbar.button.top { background-image: -gtk-win32-theme-part(scrollbar, 1 1); } .scrollbar.button.top:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 2); } .scrollbar.button.top:active, .scrollbar.button.top:active:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 3); } .scrollbar.button.top:insensitive { background-image: -gtk-win32-theme-part(scrollbar, 1 4); } .scrollbar.button.left { background-image: -gtk-win32-theme-part(scrollbar, 1 9); } .scrollbar.button.left:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 10); } .scrollbar.button.left:active, .scrollbar.button.left:active:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 11); } .scrollbar.button.left:insensitive { background-image: -gtk-win32-theme-part(scrollbar, 1 12); } .scrollbar.button.right { background-image: -gtk-win32-theme-part(scrollbar, 1 13); } .scrollbar.button.right:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 14); } .scrollbar.button.right:active, .scrollbar.button.right:active:prelight { background-image: -gtk-win32-theme-part(scrollbar, 1 15); } .scrollbar.button.right:insensitive { background-image: -gtk-win32-theme-part(scrollbar, 1 16); } .scrollbar.trough { border-width: 0; background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (4 1)); } .scrollbar.trough.vertical { border-width: 0; background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (6 1)); } .scrollbar.slider { border-width: 0; background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1)); } .scrollbar.slider:prelight { background-image: -gtk-win32-theme-part(scrollbar, 2 2, over (8 2)); } .scrollbar.slider.vertical { background-image: -gtk-win32-theme-part(scrollbar, 3 1, over (9 1)); } .scrollbar.slider.vertical:prelight { background-image: -gtk-win32-theme-part(scrollbar, 3 2, over (9 2)); } /* Entry */ /* TODO: For entries with set_has_frame FALSE we should use 'edit, 3 1', not sure how to select for this though */ .entry { background-color: black; border-width: 0; background-image: -gtk-win32-theme-part(edit, 1 1); padding: 2px; } .entry:insensitive { background-image: -gtk-win32-theme-part(edit, 1 4); } .entry:prelight { background-image: -gtk-win32-theme-part(edit, 1 4); } /* Spinbuttons */ .spinbutton.button, .spinbutton.button:focused { background-color: transparent; border-width: 1px 1px 0 0; border-style: none; background-image: -gtk-win32-theme-part(spin, 1 1); color: rgba(0, 0, 0, 0); } .spinbutton.button:prelight, .spinbutton.button:prelight:focused { background-image: -gtk-win32-theme-part(spin, 1 2); color: rgba(0, 0, 0, 0); } .spinbutton.button:active, .spinbutton.button:active:prelight { background-image: -gtk-win32-theme-part(spin, 1 3); color: rgba(0, 0, 0, 0); } .spinbutton.button:insensitive { background-image: -gtk-win32-theme-part(spin, 1 4); color: rgba(0, 0, 0, 0); } .spinbutton.button.bottom, .spinbutton.button.bottom:focused { border-width: 0 1px 1px 0; background-image: -gtk-win32-theme-part(spin, 2 1); color: rgba(0, 0, 0, 0); } .spinbutton.button.bottom:prelight, .spinbutton.button.bottom:prelight:focused { background-image: -gtk-win32-theme-part(spin, 2 2); color: rgba(0, 0, 0, 0); } .spinbutton.button.bottom:active, .spinbutton.button.bottom:active:prelight { background-image: -gtk-win32-theme-part(spin, 2 3); color: rgba(0, 0, 0, 0); } .spinbutton.button.bottom:insensitive { background-image: -gtk-win32-theme-part(spin, 2 4); color: rgba(0, 0, 0, 0); } /* Ranges */ /* TODO: The trough is not quite right, it covers everything, but in win32 the slider 'sticks out' on the sides of the trough */ .scale { background-color: transparent; -GtkScale-value-spacing: 0; -GtkScale-slider-length: 9; -GtkRange-slider-width: 20; -GtkRange-trough-border: 0; } .scale.trough { border-style: none; border-width: 0; background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (2 0 2 0)); } .scale.trough.vertical { background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (0 2 0 2)); } .scale.slider { background-color: transparent; border-width: 0; color: rgba(0,0,0,0); background-image: -gtk-win32-theme-part(trackbar, 3 1); } .scale.slider:prelight { background-image: -gtk-win32-theme-part(trackbar, 3 2); } .scale.slider:active, .scale.slider:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 3 3); } .scale.slider:focus { background-image: -gtk-win32-theme-part(trackbar, 3 4); } .scale.slider:insensitive { background-image: -gtk-win32-theme-part(trackbar, 3 5); } .scale.slider.vertical { background-image: -gtk-win32-theme-part(trackbar, 6 1); } .scale.slider.vertical:prelight { background-image: -gtk-win32-theme-part(trackbar, 6 2); } .scale.slider.vertical:active, .scale.slider.vertical:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 6 3); } .scale.slider.vertical:focus { background-image: -gtk-win32-theme-part(trackbar, 6 4); } .scale.slider.vertical:insensitive { background-image: -gtk-win32-theme-part(trackbar, 6 5); } .scale.slider.scale-has-marks-below { background-image: -gtk-win32-theme-part(trackbar, 4 1); } .scale.slider.scale-has-marks-below:prelight { background-image: -gtk-win32-theme-part(trackbar, 4 2); } .scale.slider.scale-has-marks-below:active, .scale.slider.scale-has-marks-below:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 4 3); } .scale.slider.scale-has-marks-below:focus { background-image: -gtk-win32-theme-part(trackbar, 4 4); } .scale.slider.scale-has-marks-below:insensitive { background-image: -gtk-win32-theme-part(trackbar, 4 5); } .scale.slider.scale-has-marks-below.vertical { background-image: -gtk-win32-theme-part(trackbar, 8 1); } .scale.slider.scale-has-marks-below.vertical:prelight { background-image: -gtk-win32-theme-part(trackbar, 8 2); } .scale.slider.scale-has-marks-below.vertical:active, .scale.slider.scale-has-marks-below.vertical:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 8 3); } .scale.slider.scale-has-marks-below.vertical:focus { background-image: -gtk-win32-theme-part(trackbar, 8 4); } .scale.slider.scale-has-marks-below.vertical:insensitive { background-image: -gtk-win32-theme-part(trackbar, 8 5); } .scale.slider.scale-has-marks-above { background-image: -gtk-win32-theme-part(trackbar, 5 1); } .scale.slider.scale-has-marks-above:prelight { background-image: -gtk-win32-theme-part(trackbar, 5 2); } .scale.slider.scale-has-marks-above:active, .scale.slider.scale-has-marks-above:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 5 3); } .scale.slider.scale-has-marks-above:focus { background-image: -gtk-win32-theme-part(trackbar, 5 4); } .scale.slider.scale-has-marks-above:insensitive { background-image: -gtk-win32-theme-part(trackbar, 5 5); } .scale.slider.scale-has-marks-above.vertical { background-image: -gtk-win32-theme-part(trackbar, 7 1); } .scale.slider.scale-has-marks-above.vertical:prelight { background-image: -gtk-win32-theme-part(trackbar, 7 2); } .scale.slider.scale-has-marks-above.vertical:active, .scale.slider.scale-has-marks-above.vertical:prelight:active { background-image: -gtk-win32-theme-part(trackbar, 7 3); } .scale.slider.scale-has-marks-above.vertical:focus { background-image: -gtk-win32-theme-part(trackbar, 7 4); } .scale.slider.scale-has-marks-above.vertical:insensitive { background-image: -gtk-win32-theme-part(trackbar, 7 5); } /* Progress bars */ GtkProgressBar { background-color: transparent; padding: 0; } GtkProgressBar.trough { border-width: 0; background-image: -gtk-win32-theme-part(progress, 1 1); } GtkProgressBar.progressbar, GtkEntry.progressbar { border-width: 0; background-image: -gtk-win32-theme-part(progress, 5 1); } GtkProgressBar.progressbar.pulse, GtkEntry.progressbar.pulse { background-color: transparent; background-image: -gtk-win32-theme-part(progress, 8 1); } GtkProgressBar.trough.vertical { background-image: -gtk-win32-theme-part(progress, 2 1); } .progressbar.vertical { background-image: -gtk-win32-theme-part(progress, 6 1); } .progressbar.pulse.vertical { background-image: -gtk-win32-theme-part(progress, 10 1); } /* Menus */ .menu { background-color: -gtk-win32-color(button, 4); border-color: shade (-gtk-win32-color(button, 4), 0.6); border-style: solid; border-width: 1px; padding: 2px; } .menuitem { color: -gtk-win32-color(button, 7); } .menubar { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(menu, 7 1); } .menubar > .menuitem { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(menu, 8 1); padding: 3px 5px; } .menubar > .menuitem:prelight { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(menu, 8 3); } .menuitem:prelight { background-image: -gtk-win32-theme-part(menu, 14 2); } .menuitem:prelight:insensitive { background-image: -gtk-win32-theme-part(menu, 14 4); } .menuitem.radio, .menuitem.radio:prelight, .menuitem.radio:insensitive { background-color: transparent; background-image: none; border-width: 0; } .menuitem.radio:active, .menuitem.radio:active:prelight { background-image: -gtk-win32-theme-part(menu, 11 3); border-width: 0; } .menuitem.radio:inconsistent, .menuitem.radio:inconsistent:insensitive, .menuitem.radio:inconsistent:prelight, .menuitem.radio:inconsistent:active, .menuitem.radio:inconsistent:active:prelight { background-image: none; /* Fall back to default, this state is not in win32 */ border-width: 0; } .menuitem.radio:insensitive:active, .menuitem.radio:insensitive:active:prelight { background-image: -gtk-win32-theme-part(menu, 11 4); border-width: 0; } .menuitem.check, .menuitem.check:prelight, .menuitem.check:insensitive { background-image: none; border-width: 0; } .menuitem.check:active, .menuitem.check:active:prelight { background-image: -gtk-win32-theme-part(menu, 11 1); border-width: 0; } .menuitem.check:inconsistent, .menuitem.check:inconsistent:insensitive, .menuitem.check:inconsistent:prelight, .menuitem.check:inconsistent:active, .menuitem.check:inconsistent:active:prelight { background-image: none; /* Fall back to default, this state is not in win32 */ border-width: 0; } .menuitem.check:insensitive:active, .menuitem.check:insensitive:active:prelight{ background-image: -gtk-win32-theme-part(menu, 11 2); border-width: 0; } /* Combobox */ GtkComboBox.combobox-entry .button { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(combobox, 1 1); color: rgba(0, 0, 0, 0); } GtkComboBox.combobox-entry .button:prelight, GtkComboBox.combobox-entry .button:focused, GtkComboBox.combobox-entry .button:prelight:focused { background-image: -gtk-win32-theme-part(combobox, 1 2); } GtkComboBox.combobox-entry .button:active, GtkComboBox.combobox-entry .button:active:focused, GtkComboBox.combobox-entry .button:active:prelight, GtkComboBox.combobox-entry .button:active:focused:prelight { background-image: -gtk-win32-theme-part(combobox, 1 3); } GtkComboBox.combobox-entry .button:insensitive { background-image: -gtk-win32-theme-part(combobox, 1 4); } /* Notebook */ .notebook { background-color: @base_color; border-width: 1px 3px 2px 2px; border-style: solid; background-origin: padding-box; background-clip: border-box; /*background-image: -gtk-win32-theme-part(tab, 9 1, margins(-2)); */ border-image: -gtk-win32-theme-part(tab, 9 1) 1 3 2 2 stretch; -GtkNotebook-tab-overlap: 1; -GtkNotebook-tab-curvature: 0; } .notebook tab { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(tab, 1 1); } .notebook tab:active { background-image: -gtk-win32-theme-part(tab, 1 3, margins(0 0 -1 0)); padding: 4px; } .notebook tab:last-child { background-image: -gtk-win32-theme-part(tab, 3 1); } .notebook tab:active:last-child { background-image: -gtk-win32-theme-part(tab, 3 3, margins(0 0 -1 0)); } .notebook { background-color: #ffffff; } /* Toolbar */ .toolbar { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(rebar, 6 1); } .toolbar .button, .toolbar .button:focused { background-color: transparent; background-image: -gtk-win32-theme-part(toolbar, 1 1); } .toolbar .button:prelight, .toolbar .button:prelight:focused { background-image: -gtk-win32-theme-part(toolbar, 1 2); } .toolbar .button:active { background-image: -gtk-win32-theme-part(toolbar, 1 3); } .toolbar .button:active:prelight { background-image: -gtk-win32-theme-part(toolbar, 1 6); } .toolbar .button:insensitive { background-image: -gtk-win32-theme-part(toolbar, 1 4); } /* Column headers */ column-header .button, column-header .button:focus { background-color: transparent; border-width: 0; background-image: -gtk-win32-theme-part(header, 1 1); } column-header .button:prelight, column-header .button:prelight:focus { background-image: -gtk-win32-theme-part(header, 1 2); } column-header .button:active, column-header .button:active:prelight, column-header .button:active:focus, column-header .button:active:prelight:focus { background-image: -gtk-win32-theme-part(header, 1 3); } GtkSwitch { font: bold condensed 10; color: -gtk-win32-color(button, 18); } GtkSwitch.slider { padding: 4px; background-color: transparent; background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1)); border-width: 0; } GtkSwitch.trough:insensitive { background-image: -gtk-win32-theme-part(button, 1 4); } GtkSwitch.trough { background-image: -gtk-win32-theme-part(button, 1 1); } GtkSwitch.trough:active { background-image: -gtk-win32-theme-part(button, 1 2); }