forked from AuroraMiddleware/gtk
b227d023f3
Instead of drawing them as the background, use -gtk-icon-source. Also size the marks properly. Because Windows doesn't have indeterminate radio buttons, use a cross-fade between checked and unchecked radiomark instead. But unlike previously, use CSS cross-fade() syntax to draw it.
1249 lines
33 KiB
CSS
1249 lines
33 KiB
CSS
@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);
|
|
|
|
@define-color app_notification_a #aeaea4;
|
|
@define-color app_notification_b #d1d1cb;
|
|
@define-color app_notification_c #d8d8d3;
|
|
|
|
@define-color app_notification_border #949486;
|
|
|
|
@define-color primary_toolbarbutton_text_shadow alpha(black, 0.1);
|
|
|
|
.background,
|
|
viewport {
|
|
background-color: @bg_color;
|
|
color: -gtk-win32-color(button, 18);
|
|
border-color: shade (@bg_color, 0.6);
|
|
}
|
|
|
|
* {
|
|
-GtkScrolledWindow-scrollbars-spacing: 0;
|
|
}
|
|
|
|
:link {
|
|
color: -gtk-win32-color(button, 26);
|
|
}
|
|
|
|
:visited {
|
|
color: -gtk-win32-color(button, 26);
|
|
}
|
|
|
|
frame {
|
|
border-width: 2px;
|
|
border-style: solid;
|
|
background-color: transparent;
|
|
border-image: -gtk-win32-theme-part(button, 4 1) 2 2 2 2 stretch;
|
|
}
|
|
|
|
*:disabled {
|
|
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;
|
|
}
|
|
|
|
notebook > scrolledwindow.frame {
|
|
border-style: none;
|
|
}
|
|
|
|
scrolledwindow.frame {
|
|
border-style: solid;
|
|
border-width: 2px;
|
|
border-image: -gtk-win32-theme-part(listview, 5 1) 2 2 2 2 stretch;
|
|
}
|
|
|
|
.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:focus {
|
|
background-color: @selected_bg_color;
|
|
color: @selected_fg_color;
|
|
}
|
|
|
|
tooltip {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(tooltip, 3 1);
|
|
color: -gtk-win32-color(button, 23);
|
|
border-width: 0px;
|
|
}
|
|
|
|
tooltip * {
|
|
color: -gtk-win32-color(button, 23);
|
|
}
|
|
|
|
assistant .sidebar .highlight {
|
|
font: bold;
|
|
color: -gtk-win32-color(button, 9);
|
|
}
|
|
|
|
/* checkmarks */
|
|
|
|
check {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 1);
|
|
min-width: -gtk-win32-part-width(button, 3, 1);
|
|
min-height: -gtk-win32-part-height(button, 3, 1);
|
|
}
|
|
|
|
check:hover {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 2);
|
|
min-width: -gtk-win32-part-width(button, 3, 2);
|
|
min-height: -gtk-win32-part-height(button, 3, 2);
|
|
}
|
|
|
|
check:active {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 3);
|
|
min-width: -gtk-win32-part-width(button, 3, 3);
|
|
min-height: -gtk-win32-part-height(button, 3, 3);
|
|
}
|
|
|
|
check:disabled {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 4);
|
|
min-width: -gtk-win32-part-width(button, 3, 4);
|
|
min-height: -gtk-win32-part-height(button, 3, 4);
|
|
}
|
|
|
|
check:checked {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 5);
|
|
min-width: -gtk-win32-part-width(button, 3, 5);
|
|
min-height: -gtk-win32-part-height(button, 3, 5);
|
|
}
|
|
|
|
check:checked:hover {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 6);
|
|
min-width: -gtk-win32-part-width(button, 3, 6);
|
|
min-height: -gtk-win32-part-height(button, 3, 6);
|
|
}
|
|
|
|
check:checked:active {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 7);
|
|
min-width: -gtk-win32-part-width(button, 3, 7);
|
|
min-height: -gtk-win32-part-height(button, 3, 7);
|
|
}
|
|
|
|
check:checked:disabled {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 8);
|
|
min-width: -gtk-win32-part-width(button, 3, 8);
|
|
min-height: -gtk-win32-part-height(button, 3, 8);
|
|
}
|
|
|
|
check:indeterminate {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 9);
|
|
min-width: -gtk-win32-part-width(button, 3, 9);
|
|
min-height: -gtk-win32-part-height(button, 3, 9);
|
|
}
|
|
|
|
check:indeterminate:hover {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 10);
|
|
min-width: -gtk-win32-part-width(button, 3, 10);
|
|
min-height: -gtk-win32-part-height(button, 3, 10);
|
|
}
|
|
|
|
check:indeterminate:active {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 11);
|
|
min-width: -gtk-win32-part-width(button, 3, 11);
|
|
min-height: -gtk-win32-part-height(button, 3, 11);
|
|
}
|
|
|
|
check:indeterminate:disabled {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 3 12);
|
|
min-width: -gtk-win32-part-width(button, 3, 12);
|
|
min-height: -gtk-win32-part-height(button, 3, 12);
|
|
}
|
|
|
|
/* radiomarks */
|
|
|
|
radio {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 1);
|
|
min-width: -gtk-win32-part-width(button, 2, 1);
|
|
min-height: -gtk-win32-part-height(button, 2, 1);
|
|
}
|
|
|
|
radio:hover {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 2);
|
|
min-width: -gtk-win32-part-width(button, 2, 2);
|
|
min-height: -gtk-win32-part-height(button, 2, 2);
|
|
}
|
|
|
|
radio:active {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 3);
|
|
min-width: -gtk-win32-part-width(button, 2, 3);
|
|
min-height: -gtk-win32-part-height(button, 2, 3);
|
|
}
|
|
|
|
radio:disabled {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 4);
|
|
min-width: -gtk-win32-part-width(button, 2, 4);
|
|
min-height: -gtk-win32-part-height(button, 2, 4);
|
|
}
|
|
|
|
radio:checked {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 5);
|
|
min-width: -gtk-win32-part-width(button, 2, 5);
|
|
min-height: -gtk-win32-part-height(button, 2, 5);
|
|
}
|
|
|
|
radio:checked:hover {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 6);
|
|
min-width: -gtk-win32-part-width(button, 2, 6);
|
|
min-height: -gtk-win32-part-height(button, 2, 6);
|
|
}
|
|
|
|
radio:checked:active {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 7);
|
|
min-width: -gtk-win32-part-width(button, 2, 7);
|
|
min-height: -gtk-win32-part-height(button, 2, 7);
|
|
}
|
|
|
|
radio:checked:disabled {
|
|
-gtk-icon-source: -gtk-win32-theme-part(button, 2 8);
|
|
min-width: -gtk-win32-part-width(button, 2, 8);
|
|
min-height: -gtk-win32-part-height(button, 2, 8);
|
|
}
|
|
|
|
radio:indeterminate {
|
|
-gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 5), -gtk-win32-theme-part(button, 2 1));
|
|
min-width: -gtk-win32-part-width(button, 2, 9);
|
|
min-height: -gtk-win32-part-height(button, 2, 9);
|
|
}
|
|
|
|
radio:indeterminate:hover {
|
|
-gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 6), -gtk-win32-theme-part(button, 2 2));
|
|
min-width: -gtk-win32-part-width(button, 2, 2);
|
|
min-height: -gtk-win32-part-height(button, 2, 2);
|
|
}
|
|
|
|
radio:indeterminate:active {
|
|
-gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 7), -gtk-win32-theme-part(button, 2 3));
|
|
min-width: -gtk-win32-part-width(button, 2, 3);
|
|
min-height: -gtk-win32-part-height(button, 2, 3);
|
|
}
|
|
|
|
radio:indeterminate:disabled {
|
|
-gtk-icon-source: cross-fade(30% -gtk-win32-theme-part(button, 2 8), -gtk-win32-theme-part(button, 2 4));
|
|
min-width: -gtk-win32-part-width(button, 2, 4);
|
|
min-height: -gtk-win32-part-height(button, 2, 4);
|
|
}
|
|
|
|
/* Buttons */
|
|
|
|
button {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(button, 1 1);
|
|
border-width: 0;
|
|
padding: 3px;
|
|
}
|
|
|
|
button:disabled {
|
|
background-image: -gtk-win32-theme-part(button, 1 4);
|
|
}
|
|
|
|
button:focus {
|
|
background-image: -gtk-win32-theme-part(button, 1 5);
|
|
}
|
|
|
|
button:hover, button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(button, 1 2);
|
|
color: @text_color;
|
|
}
|
|
|
|
button:active, button:active:focus, button:active:focus:hover {
|
|
background-image: -gtk-win32-theme-part(button, 1 3);
|
|
color: @text_color;
|
|
}
|
|
|
|
/* Override *:selected { ...} style; affects horizontalbuttons */
|
|
button:selected {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* Checkbuttons */
|
|
|
|
/* Prevent selected check/radiobuttons from getting the "selected" blue background */
|
|
button.check:hover:selected,
|
|
button.radio:hover:selected {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* This is meaningless, it just enables prelight propagation to check/radio mark */
|
|
button.check,
|
|
button.radio,
|
|
button.check:hover,
|
|
button.radio:hover {
|
|
background-image: -gtk-gradient (linear, left top, right bottom, from(transparent), to(transparent));
|
|
}
|
|
|
|
.check:focus,
|
|
.check {
|
|
background-color: transparent;
|
|
border-width: 0;
|
|
}
|
|
|
|
/* The button here is to avoid problems with checkboxes
|
|
in a listview where all checkboxes in a row gets prelighted
|
|
whenever the row is prelighted */
|
|
|
|
check:selected {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* Radiobuttons */
|
|
|
|
radio {
|
|
background-color: transparent;
|
|
border-width: 0;
|
|
}
|
|
|
|
/* 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:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 6);
|
|
}
|
|
|
|
scrollbar button.bottom:active,
|
|
scrollbar button.bottom:active:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 7);
|
|
}
|
|
|
|
scrollbar button.bottom:disabled {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 8);
|
|
}
|
|
|
|
scrollbar button.top {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 1);
|
|
}
|
|
|
|
scrollbar button.top:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 2);
|
|
}
|
|
|
|
scrollbar button.top:active,
|
|
scrollbar button.top:active:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 3);
|
|
}
|
|
|
|
scrollbar button.top:disabled {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 4);
|
|
}
|
|
|
|
scrollbar button.left {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 9);
|
|
}
|
|
|
|
scrollbar button.left:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 10);
|
|
}
|
|
|
|
scrollbar button.left:active,
|
|
scrollbar button.left:active:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 11);
|
|
}
|
|
|
|
scrollbar button.left:disabled {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 12);
|
|
}
|
|
|
|
scrollbar button.right {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 13);
|
|
}
|
|
|
|
scrollbar button.right:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 14);
|
|
}
|
|
|
|
scrollbar button.right:active,
|
|
scrollbar button.right:active:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 1 15);
|
|
}
|
|
|
|
scrollbar button.right:disabled {
|
|
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:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 2 2, over (8 2));
|
|
}
|
|
|
|
scrollbar slider:active {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 2 3, over (8 3));
|
|
}
|
|
|
|
scrollbar slider:disabled {
|
|
/* There's a theme part for "disabled slider", but the only app observed
|
|
to have a disabled scrollbar (Notepad) does not draw its slider at all
|
|
when scrollbar is disabled. */
|
|
background-image: none;
|
|
background-color: transparent;
|
|
}
|
|
|
|
scrollbar.vertical slider {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 3 1, over (9 1));
|
|
}
|
|
|
|
scrollbar.vertical slider:hover {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 3 2, over (9 2));
|
|
}
|
|
|
|
scrollbar.vertical slider:active {
|
|
background-image: -gtk-win32-theme-part(scrollbar, 3 3, over (9 3));
|
|
}
|
|
|
|
scrollbar.vertical slider:disabled {
|
|
background-image: none;
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* Entry */
|
|
|
|
/* We apply the border as a border combined with the background so that
|
|
gtk_entry_set_has_frame works */
|
|
|
|
entry {
|
|
border-width: 1px;
|
|
border-style: solid;
|
|
border-image: -gtk-win32-theme-part(edit, 6 1) 1 1 1 1 stretch;
|
|
background-image: -gtk-win32-theme-part(edit, 6 1, margins(-1 -1 -1 -1));
|
|
padding: 2px;
|
|
}
|
|
entry:disabled {
|
|
border-image: -gtk-win32-theme-part(edit, 6 4) 1 1 1 1 stretch;
|
|
background-image: -gtk-win32-theme-part(edit, 6 4, margins(-1 -1 -1 -1));
|
|
color: #a7aba7;
|
|
}
|
|
entry:hover {
|
|
border-image: -gtk-win32-theme-part(edit, 6 2) 1 1 1 1 stretch;
|
|
background-image: -gtk-win32-theme-part(edit, 6 2, margins(-1 -1 -1 -1));
|
|
}
|
|
entry:focus {
|
|
border-image: -gtk-win32-theme-part(edit, 6 3) 1 1 1 1 stretch;
|
|
background-image: -gtk-win32-theme-part(edit, 6 3, margins(-1 -1 -1 -1));
|
|
}
|
|
|
|
/* Spibuttons */
|
|
|
|
spinbutton button,
|
|
spinbutton button:focus {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 -1 -1));
|
|
color: rgba(0, 0, 0, 0);
|
|
}
|
|
|
|
spinbutton button:last-child,
|
|
spinbutton button:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 1 1, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
spinbutton button:hover,
|
|
spinbutton button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:hover:last-child,
|
|
spinbutton button:hover:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 1 2, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
|
|
spinbutton button:active,
|
|
spinbutton button:active:hover,
|
|
spinbutton button:active:focus,
|
|
spinbutton button:active:hover:focus {
|
|
background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:active:last-child,
|
|
spinbutton button:active:hover:last-child,
|
|
spinbutton button:active:focus:last-child,
|
|
spinbutton button:active:hover:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 1 3, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
spinbutton button:disabled {
|
|
background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:disabled:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 1 4, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
|
|
|
|
spinbutton.vertical button,
|
|
spinbutton.vertical button:focus {
|
|
background-color: transparent;
|
|
color: rgba(0, 0, 0, 0);
|
|
background-image: -gtk-win32-theme-part(spin, 1 1, margins(0 -1 -0 -1));
|
|
}
|
|
|
|
spinbutton.vertical button:last-child,
|
|
spinbutton.vertical button:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 0 -1));
|
|
}
|
|
|
|
|
|
spinbutton.vertical button:hover,
|
|
spinbutton.vertical button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(spin, 1 2, margins(0 -1 -0 -1));
|
|
}
|
|
|
|
spinbutton.vertical button:hover:last-child,
|
|
spinbutton.vertical button:hover:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 0 -1));
|
|
}
|
|
|
|
|
|
spinbutton.vertical button:active,
|
|
spinbutton.vertical button:active:hover,
|
|
spinbutton.vertical button:active:focus,
|
|
spinbutton.vertical button:active:hover:focus {
|
|
background-image: -gtk-win32-theme-part(spin, 1 3, margins(0 -1 -0 -1));
|
|
}
|
|
|
|
spinbutton.vertical button:active:last-child,
|
|
spinbutton.vertical button:active:hover:last-child,
|
|
spinbutton.vertical button:active:focus:last-child,
|
|
spinbutton.vertical button:active:hover:focus:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 0 -1));
|
|
}
|
|
|
|
spinbutton.vertical button:disabled {
|
|
background-image: -gtk-win32-theme-part(spin, 1 4, margins(0 -1 -0 -1));
|
|
}
|
|
|
|
spinbutton.vertical button:disabled:last-child {
|
|
background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 0 -1));
|
|
}
|
|
|
|
|
|
|
|
spinbutton button:dir(rtl),
|
|
spinbutton button:focus:dir(rtl) {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(spin, 2 1, margins(0 -1 -1 -1));
|
|
color: rgba(0, 0, 0, 0);
|
|
}
|
|
|
|
spinbutton button:first-child:dir(rtl),
|
|
spinbutton button:focus:first-child:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 1 1, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
spinbutton button:hover:dir(rtl),
|
|
spinbutton button:hover:focus:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 2 2, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:hover:first-child:dir(rtl),
|
|
spinbutton button:hover:focus:first-child:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 1 2, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
|
|
spinbutton button:active:dir(rtl),
|
|
spinbutton button:active:hover:dir(rtl),
|
|
spinbutton button:active:focus:dir(rtl),
|
|
spinbutton button:active:hover:focus:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 2 3, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:active:first-child:dir(rtl),
|
|
spinbutton button:active:hover:first-child:dir(rtl),
|
|
spinbutton button:active:focus:first-child:dir(rtl),
|
|
spinbutton button:active:hover:focus:first-child:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 1 3, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
spinbutton button:disabled:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 2 4, margins(0 -1 -1 -1));
|
|
}
|
|
|
|
spinbutton button:disabled:first-child:dir(rtl) {
|
|
background-image: -gtk-win32-theme-part(spin, 1 4, margins(-1 -1 0 -1));
|
|
}
|
|
|
|
/* 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: 12;
|
|
-GtkRange-slider-width: 20;
|
|
-GtkRange-trough-border: 0;
|
|
}
|
|
|
|
scale trough {
|
|
margin: 8px 0;
|
|
border-style: none;
|
|
border-width: 0;
|
|
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
|
}
|
|
|
|
scale.vertical trough {
|
|
margin: 0 8px;
|
|
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
|
}
|
|
|
|
scale.mark.separator {
|
|
/* defines the color of the actuall marks on the scale */
|
|
color: shade(@bg_color, 0.6);
|
|
}
|
|
|
|
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:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 3 2);
|
|
}
|
|
|
|
scale slider:active,
|
|
scale slider:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 3 3);
|
|
}
|
|
|
|
scale slider:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 3 4);
|
|
}
|
|
|
|
scale slider:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 3 5);
|
|
}
|
|
|
|
scale.vertical slider {
|
|
background-image: -gtk-win32-theme-part(trackbar, 6 1);
|
|
}
|
|
|
|
scale.vertical slider:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 6 2);
|
|
}
|
|
|
|
scale.vertical slider:active,
|
|
scale.vertical slider:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 6 3);
|
|
}
|
|
|
|
scale.vertical slider:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 6 4);
|
|
}
|
|
|
|
scale.vertical slider:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 6 5);
|
|
}
|
|
|
|
scale marks.bottom {
|
|
background-image: -gtk-win32-theme-part(trackbar, 4 1, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.bottom:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 4 2, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.bottom:active,
|
|
scale marks.bottom:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 4 3, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.bottom:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 4 4, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.bottom:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 4 5, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale.vertical marks.bottom {
|
|
background-image: -gtk-win32-theme-part(trackbar, 8 1, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.bottom:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 8 2, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.bottom:active,
|
|
scale.vertical marks.bottom:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 8 3, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.bottom:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 8 4, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.bottom:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 8 5, margins(0 0 -2 0));
|
|
}
|
|
|
|
|
|
|
|
scale marks.top {
|
|
background-image: -gtk-win32-theme-part(trackbar, 5 1, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.top:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 5 2, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.top:active,
|
|
scale marks.top:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 5 3, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.top:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 5 4, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale marks.top:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 5 5, margins(0 -2 0 0));
|
|
}
|
|
|
|
scale.vertical marks.top {
|
|
background-image: -gtk-win32-theme-part(trackbar, 7 1, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.top:hover {
|
|
background-image: -gtk-win32-theme-part(trackbar, 7 2, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.top:active,
|
|
scale.vertical marks.top:hover:active {
|
|
background-image: -gtk-win32-theme-part(trackbar, 7 3, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.top:focus {
|
|
background-image: -gtk-win32-theme-part(trackbar, 7 4, margins(0 0 -2 0));
|
|
}
|
|
|
|
scale.vertical marks.top:disabled {
|
|
background-image: -gtk-win32-theme-part(trackbar, 7 5, margins(0 0 -2 0));
|
|
}
|
|
|
|
/* Progress bars */
|
|
|
|
progressbar {
|
|
background-color: transparent;
|
|
padding: 0;
|
|
}
|
|
|
|
progressbar trough {
|
|
border-width: 0;
|
|
background-image: -gtk-win32-theme-part(progress, 1 1);
|
|
}
|
|
|
|
progressbar progress,
|
|
entry progress,
|
|
entry progress:focus {
|
|
border-width: 0;
|
|
background-image: -gtk-win32-theme-part(progress, 5 1);
|
|
}
|
|
|
|
progressbar progress.pulse,
|
|
entry progress.pulse,
|
|
entry progress.pulse:focus {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(progress, 8 1);
|
|
}
|
|
|
|
progressbar.vertical trough {
|
|
background-image: -gtk-win32-theme-part(progress, 2 1);
|
|
}
|
|
|
|
progressbar.vertical progress {
|
|
background-image: -gtk-win32-theme-part(progress, 6 1);
|
|
}
|
|
|
|
progressbar.vertical progress.pulse {
|
|
background-image: -gtk-win32-theme-part(progress, 10 1);
|
|
}
|
|
|
|
/* Combobox */
|
|
|
|
combobox-entry button {
|
|
background-color: transparent;
|
|
border-width: 0;
|
|
background-image: -gtk-win32-theme-part(combobox, 1 1);
|
|
color: rgba(0, 0, 0, 0);
|
|
/* Remove padding from comboboxbutton (GtkArrow inside of it is hardcoded to be
|
|
16x16, but we draw even smaller arrow instead, so padding is completely unnecessary,
|
|
it only makes thebutton bigger for not good reason).
|
|
Only do this for combobox-entry, because non-entry combobox IS thebutton,
|
|
and it does need to be as thick as the items of the list it pops up (and it's
|
|
still slimmer than padded combobox-entry!). */
|
|
padding: 0px;
|
|
}
|
|
|
|
combobox-entry button:hover,
|
|
combobox-entry button:focus,
|
|
combobox-entry button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(combobox, 1 2);
|
|
}
|
|
combobox-entry button:active,
|
|
combobox-entry button:active:focus,
|
|
combobox-entry button:active:hover,
|
|
combobox-entry button:active:focus:hover {
|
|
background-image: -gtk-win32-theme-part(combobox, 1 3);
|
|
}
|
|
combobox-entry button:disabled {
|
|
background-image: -gtk-win32-theme-part(combobox, 1 4);
|
|
}
|
|
|
|
/* Dropdown list should have "window" color, as listbox contents do (usually it's "white") */
|
|
combobox cellview * {
|
|
background-color: -gtk-win32-color(listview, 5);
|
|
}
|
|
|
|
/* Draw "arrow" for non-entry comboboxes. Select the box, since selecting
|
|
the arrow itself does not seem to work as intended. */
|
|
combobox box {
|
|
color: rgba(255, 0, 0, 0);
|
|
background-image: -gtk-win32-theme-part(combobox, 6 1);
|
|
}
|
|
combobox box:disabled {
|
|
color: rgba(255, 0, 0, 0);
|
|
background-image: -gtk-win32-theme-part(combobox, 6 4);
|
|
}
|
|
/* Make sure the style above does not touch comboboxes with entries by
|
|
disabling background image for the box again */
|
|
combobox-entry box {
|
|
color: rgba(255, 0, 0, 0);
|
|
background-image: none;
|
|
}
|
|
combobox-entry box:disabled {
|
|
color: rgba(255, 0, 0, 0);
|
|
background-image: none;
|
|
}
|
|
/* The arrow is part of the background image drawn by the theme, don't draw GTK's own arrow */
|
|
combobox-entry GtkArrow {
|
|
color: rgba(255, 0, 0, 0);
|
|
}
|
|
combobox-entry GtkArrow:disabled {
|
|
color: rgba(255, 0, 0, 0);
|
|
}
|
|
combobox arrow {
|
|
color: rgba(255, 0, 0, 0);
|
|
}
|
|
combobox arrow:disabled {
|
|
color: rgba(255, 0, 0, 0);
|
|
}
|
|
|
|
/* Toolbar */
|
|
|
|
toolbar {
|
|
background-color: transparent;
|
|
border-width: 0;
|
|
background-image: -gtk-win32-theme-part(rebar, 6 1);
|
|
}
|
|
|
|
toolbar button,
|
|
toolbar button:focus {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(toolbar, 1 1);
|
|
}
|
|
|
|
toolbar button:hover,
|
|
toolbar button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(toolbar, 1 2);
|
|
}
|
|
|
|
toolbar button:active {
|
|
background-image: -gtk-win32-theme-part(toolbar, 1 3);
|
|
}
|
|
|
|
toolbar button:active:hover {
|
|
background-image: -gtk-win32-theme-part(toolbar, 1 6);
|
|
}
|
|
|
|
toolbar button:disabled {
|
|
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:hover,
|
|
column-header button:hover:focus {
|
|
background-image: -gtk-win32-theme-part(header, 1 2);
|
|
}
|
|
|
|
column-header button:active,
|
|
column-header button:active:hover,
|
|
column-header button:active:focus,
|
|
column-header button:active:hover:focus {
|
|
background-image: -gtk-win32-theme-part(header, 1 3);
|
|
}
|
|
|
|
/* Switch */
|
|
|
|
switch {
|
|
font: bold condensed 10;
|
|
color: @text_color;
|
|
background-image: -gtk-win32-theme-part(button, 1 1);
|
|
}
|
|
|
|
switch:disabled {
|
|
background-image: -gtk-win32-theme-part(button, 1 4);
|
|
}
|
|
|
|
switch:active {
|
|
background-image: -gtk-win32-theme-part(button, 1 2);
|
|
}
|
|
|
|
switch slider {
|
|
padding: 4px;
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1));
|
|
border-width: 0;
|
|
}
|
|
|
|
/* 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 menuitem *:backdrop {
|
|
color: mix (-gtk-win32-color(button, 7), white, 0.5);
|
|
}
|
|
|
|
menubar > menuitem {
|
|
padding: 3px 5px;
|
|
}
|
|
|
|
/* Add more padding to menus, increasing visible height of each menuitem */
|
|
menu * {
|
|
padding: 2px;
|
|
}
|
|
|
|
/* Assistant */
|
|
|
|
GtkAssistant .sidebar .highlight {
|
|
background-color: gray;
|
|
font: bold;
|
|
}
|
|
|
|
GtkAssistant .sidebar {
|
|
padding: 12px;
|
|
|
|
background-color: white;
|
|
|
|
border-image: none;
|
|
border-width: 0 1px 0 0;
|
|
border-style: solid;
|
|
}
|
|
|
|
colorswatch {
|
|
border-style: solid;
|
|
border-width: 1px;
|
|
}
|
|
|
|
colorswatch:hover {
|
|
border-color: shade (@bg_color, 0.2);
|
|
}
|
|
|
|
separator,
|
|
separator:hover {
|
|
color: shade (@bg_color, 0.6);
|
|
}
|
|
|
|
statusbar > frame {
|
|
border-width: 1px 1px 1px 1px;
|
|
border-style: solid;
|
|
border-image: -gtk-win32-theme-part(status, 0 0, margins (-1 0 0 0)) 2 1 1 1 stretch;
|
|
background-image: none;
|
|
}
|
|
|
|
/* Spinner */
|
|
|
|
@keyframes spin {
|
|
to { -gtk-icon-transform: rotate(1turn); }
|
|
}
|
|
|
|
spinner {
|
|
background: none;
|
|
opacity: 0;
|
|
-gtk-icon-source: -gtk-icontheme('process-working-symbolic');
|
|
}
|
|
|
|
spinner:checked {
|
|
opacity: 1;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
spinner:checked:disabled
|
|
{
|
|
opacity: 0.5;
|
|
}
|
|
|
|
spinner:active {
|
|
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
|
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
|
|
animation: spinner 1s infinite linear;
|
|
}
|
|
|
|
/* Popovers */
|
|
popover {
|
|
border-radius: 3px;
|
|
background-clip: border-box;
|
|
background-color: @bg_color;
|
|
|
|
border-color: rgba(0, 0, 0, 1);
|
|
border-width: 1px;
|
|
border-style: solid;
|
|
|
|
box-shadow: 0 2px 3px alpha(black, 0.5);
|
|
margin: 10px;
|
|
padding: 2px;
|
|
}
|
|
popover > list,
|
|
popover > .view,
|
|
popover > toolbar {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* Listbox */
|
|
list {
|
|
background-color: -gtk-win32-color(listbox, 5);
|
|
}
|
|
|
|
/* Dim label */
|
|
.dim-label {
|
|
color: alpha(currentColor, 0.55);
|
|
text-shadow: none;
|
|
}
|
|
|
|
/* Modelbuttons */
|
|
|
|
modelbutton:focus,
|
|
modelbutton {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(menu, 14 1);
|
|
}
|
|
|
|
modelbutton:active,
|
|
modelbutton:active:focus {
|
|
background-color: transparent;
|
|
background-image: -gtk-win32-theme-part(menu, 14 1);
|
|
}
|
|
|
|
modelbutton:active:hover:focus,
|
|
modelbutton:hover:focus,
|
|
modelbutton:hover {
|
|
background-image: -gtk-win32-theme-part(menu, 14 2);
|
|
}
|
|
|
|
modelbutton:active:hover:disabled:focus,
|
|
modelbutton:hover:disabled:focus,
|
|
modelbutton:hover:disabled {
|
|
background-image: -gtk-win32-theme-part(menu, 14 4);
|
|
}
|
|
|
|
|
|
modelbutton radio:focus,
|
|
modelbutton radio,
|
|
modelbutton radio:hover,
|
|
modelbutton radio:disabled {
|
|
background-color: transparent;
|
|
background-image: none;
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton radio:active:focus,
|
|
modelbutton radio:active,
|
|
modelbutton radio:active:hover {
|
|
background-image: -gtk-win32-theme-part(menu, 12 2, over (11 3));
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton radio:indeterminate:focus,
|
|
modelbutton radio:indeterminate,
|
|
modelbutton radio:indeterminate:disabled,
|
|
modelbutton radio:indeterminate:hover,
|
|
modelbutton radio:indeterminate:active,
|
|
modelbutton radio:indeterminate:active:hover {
|
|
background-image: none; /* Fall back to default, this state is not in win32 */
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton radio:disabled:active:focus,
|
|
modelbutton radio:disabled:active,
|
|
modelbutton radio:disabled:active:hover {
|
|
background-image: -gtk-win32-theme-part(menu, 12 1, over (11 4));
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton check:focus,
|
|
modelbutton check,
|
|
modelbutton check:disabled,
|
|
modelbutton check:hover,
|
|
modelbutton check:hover:focus {
|
|
background-color: transparent;
|
|
background-image: none;
|
|
border-width: 0;
|
|
}
|
|
|
|
|
|
modelbutton check:active:focus,
|
|
modelbutton check:active,
|
|
modelbutton check:active:hover:focus,
|
|
modelbutton check:active:hover {
|
|
background-image: -gtk-win32-theme-part(menu, 12 2, over (11 1));
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton check:indeterminate:focus,
|
|
modelbutton check:indeterminate,
|
|
modelbutton check:indeterminate:disabled,
|
|
modelbutton check:indeterminate:disabled:focus,
|
|
modelbutton check:indeterminate:hover,
|
|
modelbutton check:indeterminate:hover:focus,
|
|
modelbutton check:indeterminate:active,
|
|
modelbutton check:indeterminate:active:focus,
|
|
modelbutton check:indeterminate:active:hover:focus,
|
|
modelbutton check:indeterminate:active:hover {
|
|
background-image: none; /* Fall back to default, this state is not in win32 */
|
|
border-width: 0;
|
|
}
|
|
|
|
modelbutton check:disabled:active:focus,
|
|
modelbutton check:disabled:active,
|
|
modelbutton check:disabled:active:hover:focus,
|
|
modelbutton check:disabled:active:hover {
|
|
background-image: -gtk-win32-theme-part(menu, 12 1, over (11 2));
|
|
border-width: 0;
|
|
}
|
|
|
|
/* Application notification */
|
|
.app-notification {
|
|
border-style: solid;
|
|
border-color: @app_notification_border;
|
|
border-width: 0 1px 1px 1px;
|
|
border-radius: 0 0 5px 5px;
|
|
padding: 8px;
|
|
|
|
background-image: linear-gradient(to bottom,
|
|
@app_notification_a,
|
|
@app_notification_b 18%,
|
|
@app_notification_c);
|
|
|
|
color: @theme_text_color;
|
|
text-shadow: 0 1px @primary_toolbarbutton_text_shadow;
|
|
border-image: none;
|
|
}
|