Created
February 10, 2014 20:03
-
-
Save carlos-jenkins/8923124 to your computer and use it in GitHub Desktop.
Example to set to a Gtk application a custom theme.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding:utf-8 -*- | |
# | |
# Copyright (C) 2013 Carlos Jenkins <[email protected]> | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
from gi.repository import Gdk, Gtk | |
from os.path import abspath, dirname, join | |
WHERE_AM_I = abspath(dirname(__file__)) | |
class ThemedApp(object): | |
def __init__(self): | |
""" | |
Build GUI | |
""" | |
# Theme app | |
self.set_style() | |
# Build GUI from Glade file | |
self.builder = Gtk.Builder() | |
self.glade_file = join(WHERE_AM_I, 'ui.glade') | |
self.builder.add_from_file(self.glade_file) | |
# Get objects | |
go = self.builder.get_object | |
self.window = go('window') | |
self.button = go('button') | |
# Connect signals | |
self.builder.connect_signals(self) | |
# Configure interface | |
self.window.connect('delete-event', lambda x, y: Gtk.main_quit()) | |
# Everything is ready | |
self.window.show() | |
def set_style(self): | |
""" | |
Change Gtk+ Style | |
""" | |
provider = Gtk.CssProvider() | |
# Demo CSS kindly provided by Numix project | |
provider.load_from_path(join(WHERE_AM_I, 'gtk-dark.css')) | |
screen = Gdk.Display.get_default_screen(Gdk.Display.get_default()) | |
# I was unable to found instrospected version of this | |
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION = 600 | |
Gtk.StyleContext.add_provider_for_screen( | |
screen, provider, | |
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION | |
) | |
if __name__ == '__main__': | |
gui = ThemedApp() | |
Gtk.main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* default color scheme */ | |
@define-color base_color #333333; | |
@define-color bg_color #2d2d2d; | |
@define-color text_color #dedede; | |
@define-color fg_color #dcdcdc; | |
@define-color selected_bg_color #d64937; | |
@define-color selected_fg_color #f9f9f9; | |
@define-color tooltip_bg_color #2d2d2d; | |
@define-color tooltip_fg_color #dcdcdc; | |
/* dark color scheme */ | |
@define-color dark_bg_color #2d2d2d; | |
@define-color dark_fg_color #dcdcdc; | |
/* colormap actually used by the theme, to be overridden in other css files */ | |
@define-color theme_bg_color @bg_color; | |
@define-color theme_fg_color @fg_color; | |
@define-color theme_base_color @base_color; | |
@define-color theme_text_color @text_color; | |
@define-color theme_selected_bg_color @selected_bg_color; | |
@define-color theme_selected_fg_color @selected_fg_color; | |
@define-color theme_tooltip_bg_color @tooltip_bg_color; | |
@define-color theme_tooltip_fg_color @tooltip_fg_color; | |
/* shadow effects */ | |
@define-color light_shadow #fff; | |
@define-color dark_shadow #000; | |
/* misc colors used by gtk+ */ | |
@define-color info_fg_color rgb (58, 135, 173); | |
@define-color info_bg_color rgb (217, 237, 247); | |
@define-color warning_fg_color rgb (192, 152, 83); | |
@define-color warning_bg_color rgb (252, 248, 227); | |
@define-color question_fg_color rgb (214, 73, 55); | |
@define-color question_bg_color rgb (252, 229, 213); | |
@define-color error_fg_color rgb (185, 74, 72); | |
@define-color error_bg_color rgb (242, 222, 222); | |
@define-color link_color #fc6f5d; | |
@define-color success_color #53a93f; | |
@define-color warning_color #f57900; | |
@define-color error_color #cc0000; | |
/* widget colors */ | |
@define-color menubar_bg_color @dark_bg_color; | |
@define-color menubar_fg_color @dark_fg_color; | |
@define-color toolbar_bg_color @theme_bg_color; | |
@define-color toolbar_fg_color @theme_fg_color; | |
@define-color menu_bg_color @dark_bg_color; | |
@define-color menu_fg_color @dark_fg_color; | |
@define-color panel_bg_color @dark_bg_color; | |
@define-color panel_fg_color @dark_fg_color; | |
/* osd */ | |
@define-color osd_base @dark_bg_color; | |
@define-color osd_fg @dark_fg_color; | |
@define-color osd_bg alpha(@osd_base, 0.8); | |
/* window manager colors */ | |
@define-color wm_bg #2d2d2d; | |
@define-color wm_border_focused #484848; | |
@define-color wm_border_unfocused #393939; | |
@define-color wm_title_focused #dcdcdc; | |
@define-color wm_title_unfocused #888888; | |
@define-color wm_icons_focused #dcdcdc; | |
@define-color wm_icons_focused_prelight @selected_bg_color; | |
@define-color wm_icons_focused_pressed shade(@selected_bg_color, 0.8); | |
@define-color wm_icons_unfocused #888888; | |
@define-color wm_icons_unfocused_prelight @selected_bg_color; | |
@define-color wm_icons_unfocused_pressed shade(@selected_bg_color, 0.8); | |
@import url("gtk-widgets.css"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* NOTES to contributors: | |
* use 4 spaces indents, and keep code ALIGNED and ORDERED */ | |
/* default */ | |
* { | |
background-clip: padding-box; | |
-GtkArrow-arrow-scaling: 0.5; | |
-GtkButton-child-displacement-x: 0; | |
-GtkButton-child-displacement-y: 0; | |
-GtkButton-default-border: 0; | |
-GtkButton-image-spacing: 0; | |
-GtkButton-inner-border: 1; | |
-GtkButton-interior-focus: true; | |
-GtkCheckButton-indicator-size: 16; | |
-GtkCheckMenuItem-indicator-size: 14; | |
-GtkExpander-expander-size: 8; | |
-GtkHTML-link-color: @link_color; | |
-GtkIMHtml-hyperlink-color: @link_color; | |
-GtkMenu-horizontal-padding: 0; | |
-GtkMenu-vertical-padding: 0; | |
-GtkNotebook-initial-gap: 0; | |
-GtkPaned-handle-size: 4; | |
-GtkProgressBar-min-horizontal-bar-height: 12; | |
-GtkProgressBar-min-vertical-bar-width: 12; | |
-GtkRange-slider-width: 12; | |
-GtkRange-stepper-spacing: 0; | |
-GtkRange-trough-border: 0; | |
-GtkRange-trough-under-steppers: 1; | |
-GtkScrollbar-has-backward-stepper: false; | |
-GtkScrollbar-has-forward-stepper: false; | |
-GtkScrollbar-min-slider-length: 80; | |
-GtkScrolledWindow-scrollbar-spacing: 0; | |
-GtkScrolledWindow-scrollbars-within-bevel: 1; | |
-GtkStatusbar-shadow-type: none; | |
-GtkTextView-error-underline-color: @error_color; | |
-GtkToolButton-icon-spacing: 6; | |
-GtkToolItemGroup-expander-size: 8; | |
-GtkTreeView-expander-size: 8; | |
-GtkWidget-focus-line-width: 1; | |
-GtkWidget-focus-padding: 0; | |
-GtkWidget-link-color: @link_color; | |
-GtkWidget-visited-link-color: @link_color; | |
-GtkWindow-resize-grip-height: 0; | |
-GtkWindow-resize-grip-width: 0; | |
-WnckTasklist-fade-overlay-rect: 0; | |
outline-color: alpha(@theme_selected_bg_color, 0.5); | |
outline-style: solid; | |
outline-offset: 0; | |
} | |
/*************** | |
* base states * | |
***************/ | |
.background { | |
background-color: @theme_bg_color; | |
color: @theme_fg_color; | |
} | |
GtkClutterOffscreen { | |
background-color: @theme_bg_color; | |
color: @theme_fg_color; | |
} | |
*:selected, | |
*:selected:focus { | |
background-color: @theme_selected_bg_color; | |
color: @theme_selected_fg_color; | |
} | |
*:active { | |
background-color: shade(@theme_bg_color, 0.85); | |
} | |
*:insensitive, | |
*:insensitive:insensitive { | |
color: mix(@theme_fg_color, @theme_bg_color, 0.5); | |
} | |
/* apply effects to insensitive and prelit images */ | |
*:insensitive { | |
-gtk-image-effect: dim; | |
} | |
*:hover { | |
-gtk-image-effect: highlight; | |
} | |
.gtkstyle-fallback { | |
background-color: @theme_bg_color; | |
color: @theme_fg_color; | |
} | |
.gtkstyle-fallback:prelight { | |
background-color: shade(@theme_bg_color, 1.1); | |
color: @theme_fg_color; | |
} | |
.gtkstyle-fallback:active { | |
background-color: shade(@theme_bg_color, 0.9); | |
color: @theme_fg_color; | |
} | |
.gtkstyle-fallback:insensitive { | |
background-color: shade(shade(@theme_bg_color, 0.95), 1.05); | |
color: mix(@theme_fg_color, @theme_bg_color, 0.5); | |
} | |
.gtkstyle-fallback:selected { | |
background-color: @theme_selected_bg_color; | |
color: @theme_selected_fg_color; | |
} | |
/****************** | |
* visual effects * | |
******************/ | |
/* transitions */ | |
.button { | |
transition: border 100ms ease-in-out; | |
} | |
.entry { | |
transition: border 100ms ease-out; | |
} | |
.entry:focus { | |
transition: border 100ms ease-in; | |
} | |
/* inset shadows */ | |
.button:active, | |
.primary-toolbar .button:active, | |
.toolbar .button:active, | |
.header-bar .button:active { | |
box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset -1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 -1px alpha(@dark_shadow, 0.05); | |
} | |
.entry { | |
box-shadow: inset 1px 0 alpha(@dark_shadow, 0.10), | |
inset 0 1px alpha(@dark_shadow, 0.12), | |
inset -1px 0 alpha(@dark_shadow, 0.10), | |
inset 0 -1px alpha(@dark_shadow, 0.05); | |
} | |
/* disable inset shadow */ | |
.button:active *:insensitive, | |
.primary-toolbar .button:active *:insensitive, | |
.toolbar .button:active *:insensitive, | |
.header-bar .button:active *:insensitive, | |
.entry:insensitive { | |
box-shadow: none; | |
} | |
/************* | |
* assistant * | |
*************/ | |
GtkAssistant .sidebar .highlight { | |
font: bold; | |
} | |
GtkAssistant .sidebar { | |
padding: 4px; | |
border-width: 0 1px 0 0; | |
border-style: solid; | |
border-right-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
background-color: @theme_bg_color; | |
color: mix(@theme_fg_color, @theme_bg_color, 0.1); | |
} | |
/********** | |
* button * | |
**********/ | |
.button { | |
-GtkWidget-focus-padding: 1; | |
-GtkWidget-focus-line-width: 0; | |
padding: 3px; | |
border-width: 1px; | |
border-radius: 2px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
color: @theme_fg_color; | |
} | |
.button:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
background-color: shade(@theme_bg_color, 1.10); | |
background-image: none; | |
} | |
.button:active { | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 0.95); | |
background-image: none; | |
} | |
.button:active:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.button:focus, | |
.button:hover:focus, | |
.button:active:focus, | |
.button:active:hover:focus { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.button:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
} | |
.button:active *:insensitive { | |
border-color: shade(@theme_bg_color, 0.75); | |
background-color: shade(@theme_bg_color, 0.80); | |
background-image: none; | |
} | |
/* default button */ | |
.button.default { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
background-color: shade(@theme_selected_bg_color, 1.08); | |
color: @theme_selected_fg_color; | |
} | |
.button.default:hover { | |
border-color: shade(@theme_selected_bg_color, 0.7); | |
background-color: @theme_selected_bg_color; | |
} | |
.button.default:active { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
background-color: shade(@theme_selected_bg_color, 0.95); | |
} | |
.button.default:active:hover { | |
border-color: shade(@theme_selected_bg_color, 0.7); | |
background-color: shade(@theme_selected_bg_color, 0.97); | |
} | |
/**************** | |
* cell and row * | |
****************/ | |
.cell { | |
border-width: 0; | |
border-radius: 0; | |
} | |
.cell:selected, | |
.cell:selected:focus { | |
background-color: @theme_selected_bg_color; | |
color: @theme_selected_fg_color; | |
} | |
row:selected, | |
row:selected:hover, | |
row:selected:focus { | |
border-width: 1px 0; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
color: @theme_selected_fg_color; | |
-GtkWidget-focus-padding: 1; | |
-GtkWidget-focus-line-width: 0; | |
} | |
/******************* | |
* check and radio * | |
*******************/ | |
.check, | |
.radio, | |
.check:insensitive, | |
.radio:insensitive { | |
border-style: none; | |
background-color: transparent; | |
} | |
GtkCheckButton:hover, | |
GtkCheckButton:active:hover, | |
GtkCheckButton:selected, | |
GtkCheckButton:selected:focus { | |
background-color: transparent; | |
} | |
/***************** | |
* column-header * | |
*****************/ | |
column-header .button, | |
column-header .button:active { | |
border-width: 0 1px 1px 0; | |
border-radius: 0; | |
} | |
column-header .button, | |
column-header .button:active, | |
column-header .button:focus, | |
column-header .button:active:focus { | |
border-color: shade(@theme_base_color, 0.9); | |
border-bottom-color: shade(@theme_base_color, 0.8); | |
background-color: shade(@theme_base_color, 0.97); | |
background-image: none; | |
} | |
column-header .button:hover, | |
column-header .button:active:hover, | |
column-header .button:hover:focus, | |
column-header .button:active:hover:focus { | |
border-color: shade(@theme_base_color, 0.9); | |
border-bottom-color: shade(@theme_base_color, 0.8); | |
background-color: shade(@theme_base_color, 0.99); | |
background-image: none; | |
} | |
column-header:last-child .button { | |
border-width: 0 0 1px 0; | |
} | |
/**************** | |
* content view * | |
****************/ | |
.content-view.view { | |
background-color: @theme_base_color; | |
} | |
.content-view.view:prelight { | |
background-color: alpha(@theme_selected_bg_color, 0.6); | |
} | |
.content-view.view:selected, | |
.content-view.view:active { | |
background-color: @theme_selected_bg_color; | |
} | |
.content-view.view:insensitive { | |
background-color: shade(@theme_base_color, 0.9); | |
} | |
GdMainIconView.content-view { | |
-GdMainIconView-icon-size: 40; | |
} | |
GtkIconView.content-view.check { | |
background-color: transparent; | |
} | |
GtkIconView.content-view.check:active { | |
background-color: transparent; | |
} | |
.content-view.view.check, | |
.content-view.view.check:active { | |
background-color: transparent; | |
} | |
GtkIconView.content-view.check:prelight, | |
GtkIconView.content-view.check:insensitive, | |
GtkIconView.content-view.check:selected { | |
background-color: transparent; | |
} | |
/**************** | |
* drawing area * | |
****************/ | |
GtkDrawingArea { | |
background-color: @theme_base_color; | |
} | |
GtkDrawingArea:insensitive { | |
background-color: shade(@theme_base_color, 0.9); | |
} | |
/*********** | |
* gtkhtml * | |
***********/ | |
GtkHTML { | |
background-color: @theme_base_color; | |
color: @theme_text_color; | |
} | |
/*********** | |
* calendar * | |
************/ | |
GtkCalendar { | |
padding: 4px; | |
} | |
GtkCalendar:inconsistent { | |
color: mix(@theme_fg_color, @theme_bg_color, 0.5); | |
} | |
GtkCalendar.view, | |
GtkCalendar.header, | |
GtkCalendar.button, | |
GtkCalendar.button:hover, | |
GtkCalendar.button:insensitive { | |
border-width: 0; | |
background-color: transparent; | |
background-image: none; | |
} | |
.highlight, | |
GtkCalendar.highlight { | |
border-width: 0; | |
background-color: transparent; | |
color: @theme_selected_bg_color; | |
} | |
/****************** | |
* combobox entry * | |
******************/ | |
.primary-toolbar GtkComboBox.combobox-entry .entry, | |
.primary-toolbar GtkComboBox.combobox-entry .entry:active, | |
.primary-toolbar GtkComboBox.combobox-entry .entry:focus, | |
.primary-toolbar GtkComboBox.combobox-entry .entry:insensitive, | |
GtkComboBox.combobox-entry .entry, | |
GtkComboBox.combobox-entry .entry:active, | |
GtkComboBox.combobox-entry .entry:focus, | |
GtkComboBox.combobox-entry .entry:insensitive { | |
border-width: 1px 0 1px 1px; | |
border-top-right-radius: 0; | |
border-bottom-right-radius: 0; | |
} | |
.primary-toolbar GtkComboBox.combobox-entry .button, | |
.primary-toolbar GtkComboBox.combobox-entry .button:hover, | |
.primary-toolbar GtkComboBox.combobox-entry .button:active, | |
.primary-toolbar GtkComboBox.combobox-entry .button:insensitive, | |
GtkComboBox.combobox-entry .button, | |
GtkComboBox.combobox-entry .button:hover, | |
GtkComboBox.combobox-entry .button:active, | |
GtkComboBox.combobox-entry .button:insensitive { | |
border-width: 1px 1px 1px 1px; | |
border-bottom-left-radius: 0; | |
border-top-left-radius: 0; | |
} | |
/********* | |
* entry * | |
*********/ | |
.entry { | |
padding: 4px 3px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 2px; | |
background-color: @theme_base_color; | |
background-image: none; | |
color: @theme_text_color; | |
} | |
.entry:active, | |
.entry:focus { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.entry:selected, | |
.entry:selected:focus { | |
background-color: @theme_selected_bg_color; | |
color: @theme_selected_fg_color; | |
} | |
.entry:insensitive { | |
background-color: shade(@theme_bg_color, 0.95); | |
background-image: none; | |
color: mix(@theme_text_color, @theme_base_color, 0.5); | |
} | |
.entry.progressbar { | |
border-width: 0; | |
border-radius: 2px; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
/************ | |
* expander * | |
************/ | |
.expander { | |
color: alpha(@theme_fg_color, 0.7); | |
} | |
.expander:hover { | |
color: alpha(@theme_fg_color, 0.8); | |
} | |
/********* | |
* frame * | |
*********/ | |
.frame { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
} | |
/******************* | |
* scrolled window * | |
*******************/ | |
GtkScrolledWindow.frame { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
} | |
/* avoid double borders when a viewport is | |
* packed into a GtkScrolledWindow */ | |
GtkScrolledWindow GtkViewport.frame { | |
border-style: none; | |
} | |
/************ | |
* iconview * | |
************/ | |
GtkIconView.view.cell:selected, | |
GtkIconView.view.cell:selected:focus { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
border-radius: 2px; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
.content-view.view.rubberband, | |
.view.rubberband, | |
.rubberband { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
border-radius: 0; | |
background-color: alpha(@theme_selected_bg_color, 0.3); | |
} | |
/********* | |
* image * | |
*********/ | |
GtkImage, | |
GtkImage:active, | |
GtkImage:insensitive { | |
background-color: transparent; | |
} | |
/********* | |
* label * | |
*********/ | |
GtkLabel, | |
GtkLabel:active, | |
GtkLabel:insensitive { | |
background-color: transparent; | |
} | |
/*********** | |
* infobar * | |
***********/ | |
GtkInfoBar { | |
border-width: 0; | |
border-style: none; | |
} | |
.info { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@info_bg_color, 0.8); | |
background-color: @info_bg_color; | |
background-image: none; | |
color: @info_fg_color; | |
} | |
.info .button.close { | |
color: @info_fg_color; | |
} | |
.info .button.close:hover { | |
background-image: linear-gradient(to bottom, | |
alpha(white, 0.3), | |
alpha(white, 0.2) 30%, | |
alpha(black, 0.02)); | |
} | |
.info .button.close:active { | |
color: @info_fg_color; | |
background-image: linear-gradient(to bottom, | |
alpha(black, 0.1), | |
transparent); | |
} | |
.warning { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@warning_bg_color, 0.8); | |
background-color: @warning_bg_color; | |
background-image: none; | |
color: @warning_fg_color; | |
} | |
.warning .button.close { | |
color: @warning_fg_color; | |
} | |
.warning .button.close:hover { | |
background-image: linear-gradient(to bottom, | |
alpha(white, 0.3), | |
alpha(white, 0.2) 30%, | |
alpha(black, 0.02)); | |
} | |
.warning .button.close:active { | |
color: @warning_fg_color; | |
background-image: linear-gradient(to bottom, | |
alpha(black, 0.1), | |
transparent); | |
} | |
.question { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@question_bg_color, 0.8); | |
background-color: @question_bg_color; | |
background-image: none; | |
color: @question_fg_color; | |
} | |
.question .button.close { | |
color: @question_fg_color; | |
} | |
.question .button.close:hover { | |
background-image: linear-gradient(to bottom, | |
alpha(white, 0.3), | |
alpha(white, 0.2) 30%, | |
alpha(black, 0.02)); | |
} | |
.question .button.close:active { | |
color: @question_fg_color; | |
background-image: linear-gradient(to bottom, | |
alpha(black, 0.1), | |
transparent); | |
} | |
.error { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@error_bg_color, 0.8); | |
background-color: @error_bg_color; | |
background-image: none; | |
color: @error_fg_color; | |
} | |
.error .button.close { | |
color: @error_fg_color; | |
} | |
.error .button.close:hover { | |
background-image: linear-gradient(to bottom, | |
alpha(white, 0.3), | |
alpha(white, 0.2) 30%, | |
alpha(black, 0.02)); | |
} | |
.error .button.close:active { | |
color: @error_fg_color; | |
background-image: linear-gradient(to bottom, | |
alpha(black, 0.1), | |
transparent); | |
} | |
/******************* | |
* symbolic images * | |
*******************/ | |
.image, | |
.view.image { | |
color: alpha(@theme_fg_color, 0.5); | |
} | |
.image:hover, | |
.view.image:hover { | |
color: @theme_fg_color; | |
} | |
.image:selected, | |
.image:selected:hover, | |
.view.image:selected, | |
.view.image:selected:hover { | |
color: @theme_selected_fg_color; | |
} | |
/***************** | |
* miscellaneous * | |
*****************/ | |
.floating-bar { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 2px; | |
background-color: @theme_bg_color; | |
background-image: none; | |
color: @theme_fg_color; | |
} | |
.floating-bar.top { | |
border-top-width: 0; | |
border-top-right-radius: 0; | |
border-top-left-radius: 0; | |
} | |
.floating-bar.right { | |
border-right-width: 0; | |
border-top-right-radius: 0; | |
border-bottom-right-radius: 0; | |
} | |
.floating-bar.bottom { | |
border-bottom-width: 0; | |
border-bottom-right-radius: 0; | |
border-bottom-left-radius: 0; | |
} | |
.floating-bar.left { | |
border-left-width: 0; | |
border-bottom-left-radius: 0; | |
border-top-left-radius: 0; | |
} | |
.floating-bar .button { | |
-GtkButton-image-spacing: 0; | |
-GtkButton-inner-border: 0; | |
border-style: none; | |
background-color: transparent; | |
background-image: none; | |
} | |
.view.dim-label, | |
.dim-label { | |
color: alpha(currentColor, 0.5); | |
} | |
.dnd { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
} | |
.grip { | |
background-color: transparent; | |
} | |
.arrow { | |
color: alpha(@theme_fg_color, 0.7); | |
} | |
/******** | |
* menu * | |
********/ | |
GtkTreeMenu.menu, | |
GtkMenuToolButton.menu, | |
GtkComboBox .menu { | |
background-color: @menu_bg_color; | |
} | |
.primary-toolbar .menu, | |
.primary-toolbar .button .menu, | |
.toolbar .menu, | |
.toolbar .primary-toolbar .menu, | |
.header-bar .menu, | |
.header-bar .primary-toolbar .menu, | |
.menu { | |
padding: 0; | |
border-radius: 0; | |
border-style: none; | |
background-color: @menu_bg_color; | |
color: @menu_fg_color; | |
} | |
.menu.button:hover, | |
.menu.button:active, | |
.menu.button:active *:insensitive, | |
.menu.button:insensitive, | |
.menu.button { | |
border-width: 0; | |
background-color: @menu_bg_color; | |
background-image: none; | |
} | |
.context-menu { | |
font: initial; | |
} | |
/* ubuntu software center menu */ | |
#toolbar-popup { | |
background-color: @menu_bg_color; | |
color: @menu_fg_color; | |
} | |
/*********** | |
* menubar * | |
***********/ | |
.menubar { | |
-GtkWidget-window-dragging: true; | |
border-style: none; | |
background-color: @menubar_bg_color; | |
background-image: none; | |
color: @menubar_fg_color; | |
} | |
/*************** | |
* menubaritem * | |
***************/ | |
.menubar.menuitem, | |
.menubar .menuitem { | |
padding: 3px 5px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: transparent; | |
background-color: transparent; | |
background-image: none; | |
color: @menubar_fg_color; | |
} | |
.menubar.menuitem:hover, | |
.menubar .menuitem:hover { | |
border-color: mix(@menubar_bg_color, @menubar_fg_color, 0.21); | |
background-color: mix(@menubar_bg_color, @menubar_fg_color, 0.21); | |
background-image: none; | |
color: shade(@menubar_fg_color, 1.08); | |
} | |
.menubar .menuitem *:hover { | |
color: shade(@menubar_fg_color, 1.08); | |
} | |
/************ | |
* menuitem * | |
************/ | |
GtkTreeMenu .menuitem { | |
padding: 0; | |
border-width: 0; | |
} | |
.menuitem, | |
.menu .menuitem { | |
padding: 3px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: transparent; | |
border-radius: 0; | |
background-color: transparent; | |
background-image: none; | |
color: @menu_fg_color; | |
-GtkMenuItem-arrow-scaling: 0.5; | |
} | |
.menu .menuitem:active, | |
.menu .menuitem:hover { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
} | |
.menu .menuitem:active, | |
.menu .menuitem *:active, | |
.menu .menuitem:hover, | |
.menu .menuitem *:hover { | |
color: @theme_selected_fg_color; | |
} | |
.menu .menuitem:insensitive, | |
.menu .menuitem *:insensitive { | |
color: mix(@menu_fg_color, @menu_bg_color, 0.5); | |
} | |
.menuitem.check, | |
.menuitem.radio, | |
.menuitem.check:hover, | |
.menuitem.radio:hover, | |
.menuitem.check:insensitive, | |
.menuitem.radio:insensitive { | |
border-style: none; | |
background-color: transparent; | |
background-image: none; | |
} | |
.menuitem.check:active, | |
.menuitem.radio:active { | |
border-style: none; | |
background-color: transparent; | |
} | |
.menuitem.arrow { | |
color: alpha(@menu_fg_color, 0.6); | |
} | |
.menuitem GtkCalendar:inconsistent { | |
color: mix(@menu_fg_color, @menu_bg_color, 0.5); | |
} | |
.menuitem GtkCalendar.button { | |
border-style: none; | |
background-color: transparent; | |
background-image: none; | |
} | |
.menuitem .entry { | |
border-color: shade(@menu_bg_color, 0.7); | |
background-color: @menu_bg_color; | |
background-image: none; | |
color: @menu_fg_color; | |
} | |
.menuitem .entry:active, | |
.menuitem .entry:focus { | |
border-color: shade(@menu_bg_color, 0.7); | |
} | |
.menuitem .accelerator { | |
color: alpha(@menu_fg_color, 0.6); | |
} | |
.menuitem .accelerator:hover { | |
color: alpha(@theme_selected_fg_color, 0.8); | |
} | |
.menuitem .accelerator:insensitive { | |
color: alpha(mix(@menu_fg_color, @menu_bg_color, 0.5), 0.6); | |
} | |
GtkModelMenuItem GtkBox GtkImage { | |
padding-right: 4px; | |
} | |
/************ | |
* notebook * | |
************/ | |
.notebook { | |
padding: 0; | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_base_color, 0.7); | |
border-radius: 0; | |
background-color: @theme_base_color; | |
background-image: none; | |
background-clip: border-box; | |
} | |
.notebook.frame { | |
border-width: 1px; | |
} | |
.notebook.header { | |
border-width: 0; | |
background-color: shade(@theme_base_color, 0.95); | |
} | |
.notebook.header.frame { | |
border-color: shade(@theme_base_color, 0.75); | |
} | |
.notebook.header.frame.top { | |
border-width: 1px 1px 0 1px; | |
} | |
.notebook.header.frame.right { | |
border-width: 1px 1px 1px 0; | |
} | |
.notebook.header.frame.bottom { | |
border-width: 0 1px 1px 1px; | |
} | |
.notebook.header.frame.left { | |
border-width: 1px 0 1px 1px; | |
} | |
.notebook GtkViewport { | |
border-width: 0; | |
background-color: @theme_base_color; | |
color: @theme_text_color; | |
} | |
.notebook tab { | |
padding: 4px; | |
border-color: shade(@theme_base_color, 0.75); | |
border-radius: 0; | |
background-color: shade(@theme_base_color, 0.85); | |
background-image: none; | |
} | |
.notebook tab:active { | |
border-color: shade(@theme_base_color, 0.7); | |
background-color: @theme_base_color; | |
background-image: none; | |
} | |
.notebook tab.top { | |
border-width: 1px 1px 0 1px; | |
border-bottom-right-radius: 0; | |
border-bottom-left-radius: 0; | |
} | |
.notebook tab.top:active { | |
border-top-color: @theme_selected_bg_color; | |
} | |
.notebook tab.right { | |
border-width: 1px 1px 1px 0; | |
border-bottom-left-radius: 0; | |
border-top-left-radius: 0; | |
} | |
.notebook tab.right:active { | |
border-right-color: @theme_selected_bg_color; | |
} | |
.notebook tab.bottom { | |
border-width: 0 1px 1px 1px; | |
border-top-right-radius: 0; | |
border-top-left-radius: 0; | |
} | |
.notebook tab.bottom:active { | |
border-bottom-color: @theme_selected_bg_color; | |
} | |
.notebook tab.left { | |
border-width: 1px 0 1px 1px; | |
border-top-right-radius: 0; | |
border-bottom-right-radius: 0; | |
} | |
.notebook tab.left:active { | |
border-left-color: @theme_selected_bg_color; | |
} | |
.notebook tab GtkLabel { | |
color: mix(@theme_text_color, @theme_base_color, 0.3); | |
} | |
.notebook .active-page, | |
.notebook tab .active-page GtkLabel { | |
color: @theme_text_color; | |
} | |
/* close button styling */ | |
.notebook tab .button, | |
.notebook tab .button:active, | |
.notebook tab .button:hover { | |
padding: 1px; | |
border-width: 1px; | |
border-radius: 2px; | |
border-style: solid; | |
border-color: transparent; | |
background-image: none; | |
background-color: transparent; | |
color: mix(@theme_text_color, @theme_base_color, 0.5); | |
} | |
.notebook tab .button:hover { | |
color: @theme_text_color; | |
border-color: shade(@theme_base_color, 0.8); | |
} | |
.notebook tab .button:active, | |
.notebook tab .button:active:hover { | |
border-color: shade(@theme_base_color, 0.7); | |
background-color: shade(@theme_base_color, 0.95); | |
} | |
/****************** | |
* pane separator * | |
******************/ | |
.pane-separator { | |
background-color: @theme_bg_color; | |
color: transparent; | |
} | |
/************************* | |
* progressbar and scale * | |
*************************/ | |
GtkProgressBar { | |
padding: 0; | |
border-width: 1px; | |
border-radius: 2px; | |
} | |
.progressbar, | |
.progressbar row, | |
.progressbar row:hover, | |
.progressbar row:selected, | |
.progressbar row:selected:focus { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
background-image: linear-gradient(to bottom, | |
@theme_selected_bg_color, | |
@theme_selected_bg_color | |
); | |
} | |
.progressbar.vertical { | |
background-color: @theme_selected_bg_color; | |
background-image: linear-gradient(to right, | |
@theme_selected_bg_color, | |
@theme_selected_bg_color | |
); | |
} | |
.trough, | |
.trough row, | |
.trough row:hover, | |
.trough row:selected, | |
.trough row:selected:focus { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
} | |
.trough.vertical { | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
} | |
/* level bars as used for password quality or remaining power */ | |
GtkLevelBar { | |
-GtkLevelBar-min-block-width: 34; | |
-GtkLevelBar-min-block-height: 2; | |
} | |
GtkLevelBar.vertical { | |
-GtkLevelBar-min-block-width: 2; | |
-GtkLevelBar-min-block-height: 34; | |
} | |
.level-bar.trough { | |
padding: 1px; | |
border-radius: 2px; | |
} | |
.level-bar.fill-block { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
} | |
.level-bar.indicator-continuous.fill-block { | |
padding: 1px; | |
border-radius: 2px; | |
} | |
.level-bar.indicator-discrete.fill-block.horizontal { | |
margin: 0 1px; | |
} | |
.level-bar.indicator-discrete.fill-block.vertical { | |
margin: 1px 0; | |
} | |
/* discrete indicator border rounding, | |
uncomment when :nth-child will be working | |
on the widget | |
.level-bar.indicator-discrete.fill-block.horizontal:first-child { | |
border-radius: 2px 0 0 2px; | |
} | |
.level-bar.indicator-discrete.fill-block.horizontal:last-child { | |
border-radius: 0 2px 2px 0; | |
} | |
.level-bar.indicator-discrete.fill-block.vertical:first-child { | |
border-radius: 2px 2px 0 0; | |
} | |
.level-bar.indicator-discrete.fill-block.vertical:last-child { | |
border-radius: 0 0 2px 2px; | |
} | |
*/ | |
.level-bar.fill-block.level-high { | |
border-color: shade(@success_color, 0.85); | |
background-image: linear-gradient(to bottom, | |
shade(@success_color, 1.2), | |
@success_color 75%, | |
shade(@success_color, 0.95) | |
); | |
} | |
.level-bar.fill-block.level-low { | |
border-color: shade(@warning_color, 0.80); | |
background-image: linear-gradient(to bottom, | |
shade(@warning_color, 1.3), | |
@warning_color 75%, | |
shade(@warning_color, 0.9) | |
); | |
} | |
.level-bar.fill-block.empty-fill-block { | |
border-color: alpha(@theme_fg_color, 0.1); | |
background-color: transparent; | |
background-image: none; | |
} | |
.scale { | |
padding: 0; | |
border-width: 1px; | |
border-radius: 2px; | |
-GtkRange-slider-width: 16; | |
-GtkRange-trough-border: 1; | |
-GtkScale-slider-length: 16; | |
} | |
.scale.slider { | |
border-radius: 8px; | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
/* we will draw the border using box shadow for now */ | |
box-shadow: inset 1px 0 shade(@theme_bg_color, 0.8), | |
inset 0 1px shade(@theme_bg_color, 0.8), | |
inset -1px 0 shade(@theme_bg_color, 0.8), | |
inset 0 -1px shade(@theme_bg_color, 0.8); | |
} | |
.scale.slider:hover { | |
box-shadow: inset 1px 0 shade(@theme_bg_color, 0.7), | |
inset 0 1px shade(@theme_bg_color, 0.7), | |
inset -1px 0 shade(@theme_bg_color, 0.7), | |
inset 0 -1px shade(@theme_bg_color, 0.7); | |
} | |
.scale.slider:insensitive { | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
box-shadow: inset 1px 0 shade(@theme_bg_color, 0.85), | |
inset 0 1px shade(@theme_bg_color, 0.85), | |
inset -1px 0 shade(@theme_bg_color, 0.85), | |
inset 0 -1px shade(@theme_bg_color, 0.85); | |
} | |
.scale.slider.fine-tune:active, | |
.scale.slider.fine-tune:active:hover, | |
.scale.slider.fine-tune.horizontal:active, | |
.scale.slider.fine-tune.horizontal:active:hover { | |
background-size: 50%; | |
background-repeat: no-repeat; | |
background-position: center; | |
} | |
.scale.mark { | |
border-color: shade(@theme_bg_color, 0.8); | |
} | |
.scale.trough { | |
margin: 7px 0; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 2px; | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
} | |
.scale.trough.vertical { | |
margin: 0 7px; | |
} | |
.menuitem .scale.highlight.left, | |
.scale.highlight.left { | |
border-color: @theme_selected_bg_color; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
} | |
.menuitem .scale.highlight.left:hover { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
background-color: shade(@theme_selected_bg_color, 0.8); | |
} | |
.scale.highlight.bottom { | |
border-color: @theme_selected_bg_color; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
} | |
.scale.trough:insensitive, | |
.scale.highlight.left:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
} | |
/************* | |
* scrollbar * | |
*************/ | |
.scrollbar { | |
border-width: 1px; | |
border-style: solid; | |
padding: 0; | |
} | |
.scrollbars-junction, | |
.scrollbar.trough { | |
border-width: 0; | |
border-radius: 0; | |
background-color: @theme_bg_color; | |
background-image: none; | |
} | |
.scrollbar.button, | |
.scrollbar.button:active, | |
.scrollbar.button:active:hover { | |
border-width: 0; | |
border-radius: 0; | |
background-color: transparent; | |
background-image: none; | |
color: shade(@theme_bg_color, 0.6); | |
} | |
.scrollbar.slider { | |
border-width: 1px; | |
border-color: mix(shade(@theme_bg_color, 0.87), @theme_fg_color, 0.21); | |
border-radius: 0; | |
background-color: mix(@theme_bg_color, @theme_fg_color, 0.21); | |
} | |
.scrollbar.slider:hover, | |
.scrollbar.slider.vertical:hover { | |
border-color: mix(shade(@theme_bg_color, 0.87), @theme_fg_color, 0.31); | |
background-color: mix(@theme_bg_color, @theme_fg_color, 0.31); | |
} | |
.scrollbar.slider:active, | |
.scrollbar.slider.vertical:active { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
} | |
.scrollbar.slider.fine-tune:prelight:active { | |
background-size: 50%; | |
background-repeat: no-repeat; | |
background-position: center; | |
} | |
/* overlay scrollbar */ | |
OsThumb { | |
color: shade(@theme_bg_color, 0.7); | |
} | |
OsThumb:selected, | |
OsScrollbar:selected { | |
background-color: @theme_selected_bg_color; | |
} | |
OsThumb:active, | |
OsScrollbar:active { | |
background-color: @theme_selected_bg_color; | |
} | |
OsThumb:insensitive, | |
OsScrollbar:insensitive { | |
background-color: shade(@theme_bg_color, 0.9); | |
} | |
/************* | |
* separator * | |
*************/ | |
.sidebar.view.separator, | |
.view.separator, | |
.separator { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.9); | |
color: shade(@theme_bg_color, 0.9); | |
} | |
.button .separator, | |
.button.separator { | |
border-color: shade(@theme_bg_color, 0.95); | |
} | |
.button .separator:insensitive, | |
.button.separator:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
} | |
.primary-toolbar GtkSeparatorToolItem, | |
.primary-toolbar .separator, | |
.primary-toolbar .separator:insensitive, | |
.toolbar GtkSeparatorToolItem, | |
.toolbar .separator, | |
.toolbar .separator:insensitive, | |
.header-bar GtkSeparatorToolItem, | |
.header-bar .separator, | |
.header-bar .separator:insensitive, | |
.titlebar GtkSeparatorToolItem, | |
.titlebar .separator, | |
.titlebar .separator:insensitive { | |
border-color: shade(@toolbar_bg_color, 0.95); | |
color: shade(@toolbar_bg_color, 0.95); | |
} | |
.primary-toolbar .button .separator, | |
.primary-toolbar .button.separator, | |
.toolbar .button .separator, | |
.toolbar .button.separator, | |
.header-bar .button .separator, | |
.header-bar .button.separator { | |
border-color: shade(@toolbar_bg_color, 0.95); | |
} | |
.primary-toolbar .button .separator:insensitive, | |
.primary-toolbar .button.separator:insensitive, | |
.toolbar .button .separator:insensitive, | |
.toolbar .button.separator:insensitive, | |
.header-bar .button .separator:insensitive, | |
.header-bar .button.separator:insensitive { | |
border-color: shade(@toolbar_bg_color, 0.85); | |
} | |
.menuitem.separator { | |
-GtkMenuItem-horizontal-padding: 0; | |
-GtkWidget-separator-height: 1; | |
border-style: none; | |
color: shade(@menu_bg_color, 0.9); | |
} | |
GtkComboBox .separator { | |
border-style: none; | |
/* always disable separators */ | |
-GtkWidget-wide-separators: true; | |
-GtkWidget-horizontal-separator: 0; | |
-GtkWidget-vertical-separator: 0; | |
} | |
/*********** | |
* sidebar * | |
***********/ | |
.sidebar, | |
.sidebar.view, | |
.sidebar .view, | |
.sidebar GtkScrolledWindow { | |
background-color: @theme_bg_color; | |
color: mix(@theme_fg_color, @theme_bg_color, 0.1); | |
} | |
.sidebar row:selected, | |
.sidebar row:selected:hover, | |
.sidebar row:selected:focus, | |
.sidebar .view row:selected, | |
.sidebar .view row:selected:hover, | |
.sidebar .view row:selected:focus { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
.sidebar row:prelight, | |
.sidebar .view row:prelight { | |
border-color: shade(@theme_bg_color, 1.05); | |
background-color: shade(@theme_bg_color, 1.05); | |
background-image: none; | |
color: @theme_fg_color; | |
} | |
.sidebar row:selected:prelight, | |
.sidebar .view row:selected:prelight { | |
border-color: shade(@theme_selected_bg_color, 1.05); | |
background-color: shade(@theme_selected_bg_color, 1.05); | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
.sidebar .frame { | |
border-width: 0; | |
} | |
/************** | |
* spinbutton * | |
**************/ | |
.spinbutton .button { | |
color: mix(@theme_text_color, @theme_base_color, 0.4); | |
padding: 2px 4px; | |
border-width: 0; | |
border-radius: 0; | |
border-style: none; | |
background-color: transparent; | |
background-image: none; | |
box-shadow: inset 1px 0 shade(@theme_base_color, 0.9); | |
} | |
.spinbutton .button:insensitive { | |
color: mix(@theme_text_color, @theme_base_color, 0.7); | |
box-shadow: inset 1px 0 shade(@theme_bg_color, 0.95); | |
} | |
.spinbutton .button:active, | |
.spinbutton .button:hover { | |
color: @theme_fg_color; | |
} | |
.spinbutton .button:first-child { | |
border-radius: 2px 0 0 2px; | |
box-shadow: none; | |
} | |
.spinbutton .button:last-child { | |
border-radius: 0 2px 2px 0; | |
} | |
.spinbutton .button:dir(rtl) { | |
box-shadow: inset -1px 0 shade(@theme_base_color, 0.9); | |
} | |
.spinbutton.vertical .button { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 2px; | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
color: @theme_fg_color; | |
box-shadow: none; | |
} | |
.spinbutton.vertical .button:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
background-color: shade(@theme_bg_color, 1.10); | |
background-image: none; | |
} | |
.spinbutton.vertical .button:active { | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 0.95); | |
background-image: none; | |
} | |
.spinbutton.vertical .button:active:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.spinbutton.vertical .button:focus, | |
.spinbutton.vertical .button:hover:focus, | |
.spinbutton.vertical .button:active:focus, | |
.spinbutton.vertical .button:active:hover:focus { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.spinbutton.vertical .button:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
} | |
.spinbutton.vertical .button:first-child { | |
border-width: 1px; | |
border-bottom-width: 0; | |
border-radius: 2px; | |
border-bottom-right-radius: 0; | |
border-bottom-left-radius: 0; | |
} | |
.spinbutton.vertical .button:last-child { | |
border-width: 1px; | |
border-top-width: 0; | |
border-radius: 2px; | |
border-top-left-radius: 0; | |
border-top-right-radius: 0; | |
} | |
.spinbutton.vertical.entry { | |
border-width: 1px; | |
border-style: solid; | |
border-radius: 0; | |
} | |
/*********** | |
* spinner * | |
***********/ | |
@keyframes spinner { | |
0.00% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); } | |
12.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); } | |
25.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)); } | |
37.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)); } | |
50.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)); } | |
62.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)); } | |
75.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)); } | |
87.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)); } | |
100% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); } | |
} | |
.spinner { | |
background-color: transparent; | |
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); | |
background-position: 14% 14%, 0% 50%, 14% 86%, 50% 100%, 86% 86%, 100% 50%, 86% 14%, 50% 0%; | |
background-size: 15% 15%; | |
background-repeat: no-repeat; | |
} | |
.spinner:active { | |
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)), | |
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); | |
animation: spinner 1s infinite linear; | |
} | |
.menu.spinner, | |
.primary-toolbar .spinner { | |
color: @theme_selected_bg_color; | |
} | |
/************* | |
* statusbar * | |
*************/ | |
GtkStatusbar { | |
padding: 4px; | |
color: @theme_fg_color; | |
} | |
/********** | |
* switch * | |
**********/ | |
GtkSwitch { | |
padding: 0; | |
border-radius: 2px; | |
font: bold condensed; | |
} | |
GtkSwitch.slider { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
} | |
GtkSwitch.slider:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
} | |
GtkSwitch.trough { | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 0.95); | |
background-image: none; | |
color: @theme_fg_color; | |
} | |
GtkSwitch.trough:active { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
GtkSwitch.trough:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
color: mix(@theme_fg_color, @theme_bg_color, 0.5); | |
} | |
/************ | |
* textview * | |
************/ | |
GtkTextView { | |
background-color: @theme_base_color; | |
color: @theme_text_color; | |
} | |
/***************** | |
* color chooser * | |
*****************/ | |
GtkColorSwatch, | |
GtkColorSwatch:selected { | |
border-width: 1px; | |
border-style: solid; | |
border-color: alpha(black, 0.1); | |
border-radius: 1px; | |
background-color: transparent; | |
background-clip: border-box; | |
} | |
GtkColorSwatch:hover, | |
GtkColorSwatch:selected:hover { | |
border-color: alpha(black, 0.3); | |
} | |
GtkColorSwatch.color-dark:hover { | |
} | |
GtkColorSwatch.color-light:hover { | |
} | |
GtkColorSwatch.color-light:selected:hover, | |
GtkColorSwatch.color-dark:selected:hover { | |
background-image: none; | |
} | |
GtkColorSwatch.left, | |
GtkColorSwatch:first-child { | |
border-top-left-radius: 2px; | |
border-bottom-left-radius: 2px; | |
} | |
GtkColorSwatch.right, | |
GtkColorSwatch:last-child { | |
border-top-right-radius: 2px; | |
border-bottom-right-radius: 2px; | |
} | |
GtkColorSwatch:only-child { | |
border-radius: 2px; | |
} | |
GtkColorSwatch.top { | |
border-top-left-radius: 2px; | |
border-top-right-radius: 2px; | |
} | |
GtkColorSwatch.bottom { | |
border-bottom-left-radius: 2px; | |
border-bottom-right-radius: 2px; | |
} | |
GtkColorChooserWidget #add-color-button { | |
background-clip: padding-box; | |
border-color: alpha(black, 0.1); | |
background-color: shade(@theme_bg_color, 0.95); | |
color: @theme_fg_color; | |
} | |
GtkColorChooserWidget #add-color-button:hover { | |
border-color: alpha(black, 0.3); | |
background-color: shade(@theme_bg_color, 0.90); | |
color: @theme_fg_color; | |
} | |
.color-active-badge, | |
.color-active-badge:selected { | |
border-width: 1px; | |
border-style: solid; | |
border-width: 2px; | |
background-color: transparent; | |
} | |
.color-active-badge.color-light, | |
.color-active-badge.color-light:hover { | |
border-color: alpha(black, 0.3); | |
color: alpha(black, 0.3); | |
} | |
.color-active-badge.color-dark, | |
.color-active-badge.color-dark:hover { | |
border-color: alpha(white, 0.3); | |
color: alpha(white, 0.3); | |
} | |
GtkColorEditor GtkColorSwatch { | |
border-radius: 2px; | |
} | |
GtkColorEditor GtkColorSwatch.color-dark:hover, | |
GtkColorEditor GtkColorSwatch.color-light:hover { | |
background-image: none; | |
border-color: alpha(black, 0.3); | |
} | |
GtkColorButton.button { | |
padding: 2px; | |
} | |
/************** | |
* header-bar * | |
**************/ | |
.header-bar { | |
padding: 4px; | |
border-width: 0 0 1px 0; | |
border-style: solid; | |
border-color: shade(@toolbar_bg_color, 0.8); | |
background-color: @toolbar_bg_color; | |
background-image: none; | |
color: @toolbar_fg_color; | |
} | |
.header-bar .button.text-button { | |
padding: 4px; | |
} | |
.header-bar .button.image-button { | |
padding: 6px; | |
} | |
.header-bar .title { | |
font: bold; | |
padding: 0 12px; | |
} | |
.header-bar .subtitle { | |
font: smaller; | |
padding: 0 12px; | |
} | |
/*********** | |
* toolbar * | |
***********/ | |
.toolbar { | |
padding: 4px; | |
border-style: none; | |
background-color: @toolbar_bg_color; | |
background-image: none; | |
color: @toolbar_fg_color; | |
} | |
.toolbar .button { | |
padding: 2px; | |
} | |
.toolbar .button.text-button { | |
padding: 2px 4px; | |
} | |
.toolbar .button.image-button { | |
padding: 4px 3px 3px 4px; | |
} | |
.toolbar:insensitive { | |
background-color: shade(@toolbar_bg_color, 0.9); | |
color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.5); | |
} | |
/* menubar toolbars */ | |
.toolbar.menubar { | |
-GtkToolbar-button-relief: normal; | |
} | |
/******************* | |
* primary-toolbar * | |
*******************/ | |
.primary-toolbar, | |
.primary-toolbar .toolbar, | |
.primary-toolbar.toolbar { | |
-GtkWidget-window-dragging: true; | |
padding: 4px; | |
border-width: 0 0 1px 0; | |
border-style: solid; | |
border-color: shade(@toolbar_bg_color, 0.8); | |
background-color: @toolbar_bg_color; | |
background-image: none; | |
color: @toolbar_fg_color; | |
} | |
.primary-toolbar GtkComboBox, | |
.primary-toolbar .button { | |
padding: 2px; | |
border-width: 1px; | |
border-color: transparent; | |
border-radius: 2px; | |
background-color: transparent; | |
background-image: none; | |
color: @toolbar_fg_color; | |
} | |
.primary-toolbar .raised .button, | |
.primary-toolbar .raised.button, | |
.toolbar GtkComboBox, | |
.toolbar .button, | |
.header-bar GtkComboBox, | |
.header-bar .button { | |
border-color: shade(@toolbar_bg_color, 0.8); | |
background-color: shade(@toolbar_bg_color, 1.08); | |
background-image: none; | |
color: @toolbar_fg_color; | |
} | |
.primary-toolbar .button:hover, | |
.toolbar .button:hover, | |
.header-bar .button:hover { | |
border-color: shade(@toolbar_bg_color, 0.7); | |
background-color: shade(@toolbar_bg_color, 1.10); | |
background-image: none; | |
} | |
.primary-toolbar .button:active, | |
.toolbar .button:active, | |
.header-bar .button:active { | |
border-color: shade(@toolbar_bg_color, 0.8); | |
background-color: shade(@toolbar_bg_color, 0.95); | |
background-image: none; | |
} | |
.primary-toolbar .button:active:hover, | |
.toolbar .button:active:hover, | |
.header-bar .button:active:hover { | |
border-color: shade(@toolbar_bg_color, 0.7); | |
} | |
.primary-toolbar .button:focus, | |
.primary-toolbar .button:hover:focus, | |
.primary-toolbar .button:active:focus, | |
.primary-toolbar .button:active:hover:focus, | |
.toolbar .button:focus, | |
.toolbar .button:hover:focus, | |
.toolbar .button:active:focus, | |
.toolbar .button:active:hover:focus, | |
.header-bar .button:focus, | |
.header-bar .button:hover:focus, | |
.header-bar .button:active:focus, | |
.header-bar .button:active:hover:focus { | |
border-color: shade(@toolbar_bg_color, 0.7); | |
} | |
.primary-toolbar .button:insensitive, | |
.toolbar .button:insensitive, | |
.header-bar .button:insensitive { | |
border-color: shade(@toolbar_bg_color, 0.85); | |
background-color: shade(@toolbar_bg_color, 0.9); | |
background-image: none; | |
} | |
.primary-toolbar .button:active *:insensitive, | |
.toolbar .button:active *:insensitive, | |
.header-bar .button:active *:insensitive { | |
border-color: shade(@toolbar_bg_color, 0.75); | |
background-color: shade(@toolbar_bg_color, 0.80); | |
background-image: none; | |
} | |
.primary-toolbar .entry, | |
.toolbar .entry, | |
.header-bar .entry { | |
border-color: shade(@toolbar_bg_color, 0.8); | |
} | |
.primary-toolbar .entry:active, | |
.primary-toolbar .entry:focus, | |
.toolbar .entry:active, | |
.toolbar .entry:focus, | |
.header-bar .entry:active, | |
.header-bar .entry:focus { | |
border-color: shade(@toolbar_bg_color, 0.7); | |
} | |
/* inline-toolbar */ | |
.inline-toolbar.toolbar { | |
-GtkToolbar-button-relief: normal; | |
padding: 1px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
background-color: @theme_bg_color; | |
background-image: none; | |
} | |
.inline-toolbar.toolbar:last-child { | |
border-width: 0 1px 1px 1px; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
} | |
.inline-toolbar.toolbar .button { | |
padding: 1px; | |
border-width: 1px 0 1px 1px; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
border-radius: 0; | |
background-color: shade(@theme_bg_color, 1.08); | |
background-image: none; | |
color: @theme_fg_color; | |
} | |
.inline-toolbar.toolbar .button:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
background-color: shade(@theme_bg_color, 1.10); | |
background-image: none; | |
} | |
.inline-toolbar.toolbar .button:active { | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 0.95); | |
background-image: none; | |
} | |
.inline-toolbar.toolbar .button:active:hover { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.inline-toolbar.toolbar .button:focus, | |
.inline-toolbar.toolbar .button:hover:focus, | |
.inline-toolbar.toolbar .button:active:focus, | |
.inline-toolbar.toolbar .button:active:hover:focus { | |
border-color: shade(@theme_bg_color, 0.7); | |
} | |
.inline-toolbar.toolbar .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton .button:insensitive { | |
border-color: shade(@theme_bg_color, 0.85); | |
background-color: shade(@theme_bg_color, 0.9); | |
background-image: none; | |
} | |
.inline-toolbar.toolbar .button:active *:insensitive | |
.inline-toolbar.toolbar GtkToolButton .button:active *:insensitive { | |
border-color: shade(@theme_bg_color, 0.75); | |
background-color: shade(@theme_bg_color, 0.80); | |
background-image: none; | |
} | |
/****************** | |
* linked buttons * | |
*****************/ | |
/* set up shadows for visual separation */ | |
.linked .button, | |
.inline-toolbar.toolbar .button, | |
.inline-toolbar.toolbar GtkToolButton .button, | |
.inline-toolbar.toolbar GtkToolButton > .button { | |
box-shadow: inset -1px 0 shade(@theme_bg_color, 0.9); | |
} | |
.linked .button:active, | |
.inline-toolbar.toolbar .button:active, | |
.inline-toolbar.toolbar GtkToolButton .button:active, | |
.inline-toolbar.toolbar GtkToolButton > .button:active { | |
box-shadow: inset -1px 0 shade(@theme_bg_color, 0.9), | |
inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset 0 -1px alpha(@dark_shadow, 0.05); | |
} | |
.linked .button:insensitive, | |
.inline-toolbar.toolbar .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton > .button:insensitive { | |
box-shadow: inset -1px 0 shade(@theme_bg_color, 0.85); | |
} | |
/* remove box shadow from last-child and only-child */ | |
.linked .button:last-child, | |
.linked .button:only-child, | |
.linked .button:insensitive:last-child, | |
.linked .button:insensitive:only-child, | |
.linked .button:active *:insensitive:last-child, | |
.linked .button:active *:insensitive:only-child, | |
.inline-toolbar.toolbar .button:last-child, | |
.inline-toolbar.toolbar .button:only-child, | |
.inline-toolbar.toolbar .button:insensitive:last-child, | |
.inline-toolbar.toolbar .button:insensitive:only-child, | |
.inline-toolbar.toolbar .button:active *:insensitive:last-child, | |
.inline-toolbar.toolbar .button:active *:insensitive:only-child, | |
.inline-toolbar.toolbar GtkToolButton:last-child > .button, | |
.inline-toolbar.toolbar GtkToolButton:only-child > .button, | |
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton:last-child > .button:active *:insensitive, | |
.inline-toolbar.toolbar GtkToolButton:only-child > .button:active *:insensitive { | |
box-shadow: none; | |
} | |
/* add back the inset shadow effect */ | |
.linked .button:active:last-child, | |
.linked .button:active:only-child, | |
.inline-toolbar.toolbar .button:active:last-child, | |
.inline-toolbar.toolbar .button:active:only-child, | |
.inline-toolbar.toolbar GtkToolButton:last-child > .button:active, | |
.inline-toolbar.toolbar GtkToolButton:only-child > .button:active { | |
box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset -1px 0 alpha(@dark_shadow, 0.07); | |
} | |
/* middle button */ | |
.linked .entry, | |
.linked .button, | |
.linked .button:active, | |
.linked .button:active:hover, | |
.linked .button:insensitive, | |
.inline-toolbar.toolbar .button, | |
.inline-toolbar.toolbar .button:active, | |
.inline-toolbar.toolbar .button:insensitive, | |
.inline-toolbar.toolbar GtkToolButton .button, | |
.inline-toolbar.toolbar GtkToolButton .button:active, | |
.inline-toolbar.toolbar GtkToolButton .button:insensitive { | |
border-width: 1px; | |
border-radius: 0; | |
border-right-width: 0; | |
border-left-width: 0; | |
} | |
/*leftmost button */ | |
.linked .entry:first-child, | |
.linked .button:first-child, | |
.linked .button:active:first-child, | |
.linked .button:active:hover:first-child, | |
.linked .button:insensitive:first-child, | |
.inline-toolbar.toolbar .button:first-child, | |
.inline-toolbar.toolbar .button:active:first-child, | |
.inline-toolbar.toolbar .button:insensitive:first-child, | |
.inline-toolbar.toolbar GtkToolButton:first-child .button, | |
.inline-toolbar.toolbar GtkToolButton:first-child .button:active, | |
.inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive { | |
border-width: 1px; | |
border-radius: 2px; | |
border-right-width: 0; | |
border-bottom-right-radius: 0; | |
border-top-right-radius: 0; | |
} | |
/* rightmost button */ | |
.linked .entry:last-child, | |
.linked .button:last-child, | |
.linked .button:active:last-child, | |
.linked .button:active:hover:last-child, | |
.linked .button:insensitive:last-child, | |
.inline-toolbar.toolbar .button:last-child, | |
.inline-toolbar.toolbar .button:active:last-child, | |
.inline-toolbar.toolbar .button:insensitive:last-child, | |
.inline-toolbar.toolbar GtkToolButton:last-child .button, | |
.inline-toolbar.toolbar GtkToolButton:last-child .button:active, | |
.inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive { | |
border-width: 1px; | |
border-radius: 2px; | |
border-left-width: 0; | |
border-bottom-left-radius: 0; | |
border-top-left-radius: 0; | |
} | |
/* linked single button */ | |
.linked .entry:only-child, | |
.linked .button:only-child, | |
.linked .button:active:only-child, | |
.linked .button:active:hover:only-child, | |
.linked .button:insensitive:only-child, | |
.inline-toolbar.toolbar .button:only-child, | |
.inline-toolbar.toolbar .button:active:only-child, | |
.inline-toolbar.toolbar .button:insensitive:only-child, | |
.inline-toolbar.toolbar GtkToolButton:only-child .button, | |
.inline-toolbar.toolbar GtkToolButton:only-child .button:active, | |
.inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive { | |
border-width: 1px; | |
border-radius: 2px; | |
} | |
/* linked button shadows (vertical) */ | |
.linked.vertical .button, | |
.inline-toolbar.toolbar.vertical .button, | |
.inline-toolbar.toolbar.vertical GtkToolButton > .button { | |
box-shadow: inset 0 -1px shade(@theme_bg_color, 0.9); | |
} | |
.linked.vertical .button:active, | |
.inline-toolbar.toolbar.vertical .button:active, | |
.inline-toolbar.toolbar.vertical GtkToolButton > .button:active { | |
box-shadow: inset 0 -1px shade(@theme_bg_color, 0.9), | |
inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset -1px 0 alpha(@dark_shadow, 0.07); | |
} | |
.linked.vertical .button:insensitive, | |
.inline-toolbar.toolbar.vertical .button:insensitive, | |
.inline-toolbar.toolbar.vertical GtkToolButton > .button:insensitive { | |
box-shadow: inset 0 -1px shade(@theme_bg_color, 0.85); | |
} | |
/* remove box shadow from last-child and only-child */ | |
.linked.vertical .button:last-child, | |
.linked.vertical .button:only-child, | |
.linked.vertical .button:insensitive:last-child, | |
.linked.vertical .button:insensitive:only-child, | |
.linked.vertical .button:active *:insensitive:last-child, | |
.linked.vertical .button:active *:insensitive:only-child, | |
.inline-toolbar.toolbar.vertical .button:last-child, | |
.inline-toolbar.toolbar.vertical .button:only-child, | |
.inline-toolbar.toolbar.vertical .button:insensitive:last-child, | |
.inline-toolbar.toolbar.vertical .button:insensitive:only-child, | |
.inline-toolbar.toolbar.vertical .button:active *:insensitive:last-child, | |
.inline-toolbar.toolbar.vertical .button:active *:insensitive:only-child, | |
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button, | |
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button, | |
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:insensitive, | |
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:insensitive, | |
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active *:insensitive, | |
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active *:insensitive { | |
box-shadow: none; | |
} | |
/* add back the inset shadow effect */ | |
.linked.vertical .button:active:last-child, | |
.linked.vertical .button:active:only-child, | |
.inline-toolbar.toolbar.vertical .button:active:last-child, | |
.inline-toolbar.toolbar.vertical .button:active:only-child, | |
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active, | |
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active { | |
box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset -1px 0 alpha(@dark_shadow, 0.07); | |
} | |
/* middle button (vertical) */ | |
.linked.vertical .entry, | |
.linked.vertical .button, | |
.linked.vertical .button:active, | |
.linked.vertical .button:active:hover, | |
.linked.vertical .button:insensitive { | |
border-width: 1px; | |
border-radius: 0; | |
border-top-width: 0; | |
border-bottom-width: 0; | |
} | |
/* top button (vertical) */ | |
.linked.vertical .entry:first-child, | |
.linked.vertical .button:first-child, | |
.linked.vertical .button:active:first-child, | |
.linked.vertical .button:active:hover:first-child, | |
.linked.vertical .button:insensitive:first-child { | |
border-width: 1px; | |
border-radius: 2px; | |
border-bottom-width: 0; | |
border-bottom-right-radius: 0; | |
border-bottom-left-radius: 0; | |
} | |
/* bottom button (vertical) */ | |
.linked.vertical .entry:last-child, | |
.linked.vertical .button:last-child, | |
.linked.vertical .button:active:last-child, | |
.linked.vertical .button:active:hover:last-child, | |
.linked.vertical .button:insensitive:last-child { | |
border-width: 1px; | |
border-radius: 2px; | |
border-top-width: 0; | |
border-top-left-radius: 0; | |
border-top-right-radius: 0; | |
} | |
/* linked single button (vertical) */ | |
.linked.vertical .entry:only-child, | |
.linked.vertical .button:only-child, | |
.linked.vertical .button:active:only-child, | |
.linked.vertical .button:active:hover:only-child, | |
.linked.vertical .button:insensitive:only-child { | |
border-width: 1px; | |
border-radius: 2px; | |
} | |
/* linked toolbar buttons */ | |
.primary-toolbar .button.raised.linked, | |
.primary-toolbar .raised.linked .button, | |
.toolbar .button.raised.linked, | |
.toolbar .raised.linked .button, | |
.toolbar .linked .button, | |
.header-bar .button.raised.linked, | |
.header-bar .raised.linked .button, | |
.header-bar .linked .button { | |
box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.9); | |
} | |
.primary-toolbar .button.raised.linked:active, | |
.primary-toolbar .raised.linked .button:active, | |
.toolbar .button.raised.linked:active, | |
.toolbar .raised.linked .button:active, | |
.toolbar .linked .button:active, | |
.header-bar .button.raised.linked:active, | |
.header-bar .raised.linked .button:active, | |
.header-bar .linked .button:active { | |
box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.9), | |
inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset 0 -1px alpha(@dark_shadow, 0.05); | |
} | |
.primary-toolbar .button.raised.linked:insensitive, | |
.primary-toolbar .raised.linked .button:insensitive, | |
.toolbar .button.raised.linked:insensitive, | |
.toolbar .raised.linked .button:insensitive, | |
.toolbar .linked .button:insensitive, | |
.header-bar .button.raised.linked:insensitive, | |
.header-bar .raised.linked .button:insensitive, | |
.header-bar .linked .button:insensitive { | |
box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.85); | |
} | |
/* remove box shadow from last-child and only-child */ | |
.primary-toolbar .button.raised.linked:last-child, | |
.primary-toolbar .button.raised.linked:only-child, | |
.primary-toolbar .button:insensitive.raised.linked:last-child, | |
.primary-toolbar .button:insensitive.raised.linked:only-child, | |
.primary-toolbar .button:active *:insensitive.raised.linked:last-child, | |
.primary-toolbar .button:active *:insensitive.raised.linked:only-child, | |
.primary-toolbar .raised.linked .button:last-child, | |
.primary-toolbar .raised.linked .button:only-child, | |
.primary-toolbar .raised.linked .button:insensitive:last-child, | |
.primary-toolbar .raised.linked .button:insensitive:only-child, | |
.primary-toolbar .raised.linked .button:active *:insensitive:last-child, | |
.primary-toolbar .raised.linked .button:active *:insensitive:only-child, | |
.toolbar .button.raised.linked:last-child, | |
.toolbar .button.raised.linked:only-child, | |
.toolbar .button:insensitive.raised.linked:last-child, | |
.toolbar .button:insensitive.raised.linked:only-child, | |
.toolbar .button:active *:insensitive.raised.linked:last-child, | |
.toolbar .button:active *:insensitive.raised.linked:only-child, | |
.toolbar .raised.linked .button:last-child, | |
.toolbar .raised.linked .button:only-child, | |
.toolbar .raised.linked .button:insensitive:last-child, | |
.toolbar .raised.linked .button:insensitive:only-child, | |
.toolbar .raised.linked .button:active *:insensitive:last-child, | |
.toolbar .raised.linked .button:active *:insensitive:only-child, | |
.toolbar .linked .button:last-child, | |
.toolbar .linked .button:only-child, | |
.toolbar .linked .button:insensitive:last-child, | |
.toolbar .linked .button:insensitive:only-child, | |
.toolbar .linked .button:active *:insensitive:last-child, | |
.toolbar .linked .button:active *:insensitive:only-child, | |
.header-bar .button.raised.linked:last-child, | |
.header-bar .button.raised.linked:only-child, | |
.header-bar .button:insensitive.raised.linked:last-child, | |
.header-bar .button:insensitive.raised.linked:only-child, | |
.header-bar .button:active *:insensitive.raised.linked:last-child, | |
.header-bar .button:active *:insensitive.raised.linked:only-child, | |
.header-bar .raised.linked .button:last-child, | |
.header-bar .raised.linked .button:only-child, | |
.header-bar .raised.linked .button:insensitive:last-child, | |
.header-bar .raised.linked .button:insensitive:only-child, | |
.header-bar .raised.linked .button:active *:insensitive:last-child, | |
.header-bar .raised.linked .button:active *:insensitive:only-child, | |
.header-bar .linked .button:last-child, | |
.header-bar .linked .button:only-child, | |
.header-bar .linked .button:insensitive:last-child, | |
.header-bar .linked .button:insensitive:only-child, | |
.header-bar .linked .button:active *:insensitive:last-child, | |
.header-bar .linked .button:active *:insensitive:only-child { | |
box-shadow: none; | |
} | |
/* add back the inset shadow effect */ | |
.primary-toolbar .button:active.raised.linked:last-child, | |
.primary-toolbar .button:active.raised.linked:only-child, | |
.primary-toolbar .raised.linked .button:active:last-child, | |
.primary-toolbar .raised.linked .button:active:only-child, | |
.toolbar .button:active.raised.linked:last-child, | |
.toolbar .button:active.raised.linked:only-child, | |
.toolbar .raised.linked .button:active:last-child, | |
.toolbar .raised.linked .button:active:only-child, | |
.toolbar .linked .button:active:last-child, | |
.toolbar .linked .button:active:only-child, | |
.header-bar .button:active.raised.linked:last-child, | |
.header-bar .button:active.raised.linked:only-child, | |
.header-bar .raised.linked .button:active:last-child, | |
.header-bar .raised.linked .button:active:only-child, | |
.header-bar .linked .button:active:last-child, | |
.header-bar .linked .button:active:only-child { | |
box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), | |
inset 0 1px alpha(@dark_shadow, 0.08), | |
inset -1px 0 alpha(@dark_shadow, 0.07); | |
} | |
/* middle button */ | |
.primary-toolbar .button.raised.linked, | |
.primary-toolbar .button.raised.linked:active, | |
.primary-toolbar .button.raised.linked:insensitive, | |
.primary-toolbar .raised.linked .button, | |
.primary-toolbar .raised.linked .button:active, | |
.primary-toolbar .raised.linked .button:insensitive, | |
.toolbar .button.raised.linked, | |
.toolbar .button.raised.linked:active, | |
.toolbar .button.raised.linked:insensitive, | |
.toolbar .raised.linked .button, | |
.toolbar .raised.linked .button:active, | |
.toolbar .raised.linked .button:insensitive, | |
.toolbar .linked .button, | |
.toolbar .linked .button:active, | |
.toolbar .linked .button:insensitive, | |
.header-bar .button.raised.linked, | |
.header-bar .button.raised.linked:active, | |
.header-bar .button.raised.linked:insensitive, | |
.header-bar .raised.linked .button, | |
.header-bar .raised.linked .button:active, | |
.header-bar .raised.linked .button:insensitive, | |
.header-bar .linked .button, | |
.header-bar .linked .button:active, | |
.header-bar .linked .button:insensitive { | |
border-width: 1px; | |
border-radius: 0; | |
border-right-width: 0; | |
border-left-width: 0; | |
} | |
/* leftmost button */ | |
.primary-toolbar .button.raised.linked:first-child, | |
.primary-toolbar .button.raised.linked:active:first-child, | |
.primary-toolbar .button.raised.linked:insensitive:first-child, | |
.primary-toolbar .raised.linked .button:first-child, | |
.primary-toolbar .raised.linked .button:active:first-child, | |
.primary-toolbar .raised.linked .button:insensitive:first-child, | |
.toolbar .button.raised.linked:first-child, | |
.toolbar .button.raised.linked:active:first-child, | |
.toolbar .button.raised.linked:insensitive:first-child, | |
.toolbar .raised.linked .button:first-child, | |
.toolbar .raised.linked .button:active:first-child, | |
.toolbar .raised.linked .button:insensitive:first-child, | |
.toolbar .linked .button:first-child, | |
.toolbar .linked .button:active:first-child, | |
.toolbar .linked .button:insensitive:first-child, | |
.header-bar .button.raised.linked:first-child, | |
.header-bar .button.raised.linked:active:first-child, | |
.header-bar .button.raised.linked:insensitive:first-child, | |
.header-bar .raised.linked .button:first-child, | |
.header-bar .raised.linked .button:active:first-child, | |
.header-bar .raised.linked .button:insensitive:first-child, | |
.header-bar .linked .button:first-child, | |
.header-bar .linked .button:active:first-child, | |
.header-bar .linked .button:insensitive:first-child { | |
border-width: 1px; | |
border-radius: 2px; | |
border-right-width: 0; | |
border-bottom-right-radius: 0; | |
border-top-right-radius: 0; | |
} | |
/* rightmost button */ | |
.primary-toolbar .button.raised.linked:last-child, | |
.primary-toolbar .button.raised.linked:active:last-child, | |
.primary-toolbar .button.raised.linked:insensitive:last-child, | |
.primary-toolbar .raised.linked .button:last-child, | |
.primary-toolbar .raised.linked .button:active:last-child, | |
.primary-toolbar .raised.linked .button:insensitive:last-child, | |
.toolbar .button.raised.linked:last-child, | |
.toolbar .button.raised.linked:active:last-child, | |
.toolbar .button.raised.linked:insensitive:last-child, | |
.toolbar .raised.linked .button:last-child, | |
.toolbar .raised.linked .button:active:last-child, | |
.toolbar .raised.linked .button:insensitive:last-child, | |
.toolbar .linked .button:last-child, | |
.toolbar .linked .button:active:last-child, | |
.toolbar .linked .button:insensitive:last-child, | |
.header-bar .button.raised.linked:last-child, | |
.header-bar .button.raised.linked:active:last-child, | |
.header-bar .button.raised.linked:insensitive:last-child, | |
.header-bar .raised.linked .button:last-child, | |
.header-bar .raised.linked .button:active:last-child, | |
.header-bar .raised.linked .button:insensitive:last-child, | |
.header-bar .linked .button:last-child, | |
.header-bar .linked .button:active:last-child, | |
.header-bar .linked .button:insensitive:last-child { | |
border-width: 1px; | |
border-radius: 2px; | |
border-left-width: 0; | |
border-bottom-left-radius: 0; | |
border-top-left-radius: 0; | |
} | |
/* linked single button */ | |
.primary-toolbar .button.raised.linked:only-child, | |
.primary-toolbar .button.raised.linked:active:only-child, | |
.primary-toolbar .button.raised.linked:insensitive:only-child, | |
.primary-toolbar .raised.linked .button:only-child, | |
.primary-toolbar .raised.linked .button:active:only-child, | |
.primary-toolbar .raised.linked .button:insensitive:only-child, | |
.toolbar .button.raised.linked:only-child, | |
.toolbar .button.raised.linked:active:only-child, | |
.toolbar .button.raised.linked:insensitive:only-child, | |
.toolbar .raised.linked .button:only-child, | |
.toolbar .raised.linked .button:active:only-child, | |
.toolbar .raised.linked .button:insensitive:only-child, | |
.toolbar .linked .button:only-child, | |
.toolbar .linked .button:active:only-child, | |
.toolbar .linked .button:insensitive:only-child, | |
.header-bar .button.raised.linked:only-child, | |
.header-bar .button.raised.linked:active:only-child, | |
.header-bar .button.raised.linked:insensitive:only-child, | |
.header-bar .raised.linked .button:only-child, | |
.header-bar .raised.linked .button:active:only-child, | |
.header-bar .raised.linked .button:insensitive:only-child, | |
.header-bar .linked .button:only-child, | |
.header-bar .linked .button:active:only-child, | |
.header-bar .linked .button:insensitive:only-child { | |
border-width: 1px; | |
border-radius: 2px; | |
} | |
/*********** | |
* tooltip * | |
***********/ | |
.tooltip { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_tooltip_bg_color, 0.8); | |
border-radius: 2px; | |
background-color: @theme_tooltip_bg_color; | |
background-image: none; | |
color: @theme_tooltip_fg_color; | |
} | |
.tooltip * { | |
background-color: transparent; | |
} | |
/************ | |
* treeview * | |
************/ | |
GtkTreeView { | |
-GtkTreeView-vertical-separator: 0; | |
-GtkWidget-focus-line-width: 1; | |
-GtkWidget-focus-padding: 1; | |
} | |
GtkTreeView.dnd { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
border-radius: 0; | |
} | |
GtkTreeView .entry { | |
border-radius: 0; | |
background-color: @theme_base_color; | |
background-image: none; | |
} | |
/************ | |
* viewport * | |
************/ | |
GtkViewport.frame { | |
border-width: 0; | |
} | |
.view { | |
background-color: @theme_base_color; | |
color: @theme_text_color; | |
} | |
.view:insensitive, | |
.view:insensitive:insensitive { | |
background-color: shade(@theme_base_color, 0.9); | |
color: mix(@theme_fg_color, @theme_bg_color, 0.5); | |
} | |
.view:selected, | |
.view:selected:focus { | |
background-color: @theme_selected_bg_color; | |
color: @theme_selected_fg_color; | |
} | |
/*************** | |
* search bars * | |
***************/ | |
.search-bar { | |
border-width: 0 0 1px 0; | |
border-style: solid; | |
border-color: shade(@theme_bg_color, 0.8); | |
background-color: shade(@theme_bg_color, 0.98); | |
} | |
.search-bar .button.close-button { | |
padding: 4px; | |
} | |
/********************* | |
* app notifications * | |
*********************/ | |
.app-notification { | |
border-style: solid; | |
border-color: shade(@theme_base_color, 0.8); | |
border-width: 0 1px 1px 1px; | |
border-radius: 0 0 2px 2px; | |
padding: 8px; | |
background-color: @theme_base_color; | |
background-image: none; | |
color: @theme_text_color; | |
} | |
/******* | |
* osd * | |
*******/ | |
.background.osd { | |
color: @osd_fg; | |
background-color: @osd_bg; | |
} | |
GtkOverlay.osd { | |
background-color: transparent; | |
} | |
.osd.frame { | |
background-clip: border-box; | |
background-origin: border-box; | |
} | |
.osd.button, | |
.osd .button { | |
padding: 4px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@osd_bg, 0.8); | |
border-radius: 2px; | |
background-color: shade(@osd_bg, 1.08); | |
background-image: none; | |
color: @osd_fg; | |
} | |
.osd.button:prelight, | |
.osd.button:hover, | |
.osd .button:hover { | |
border-color: shade(@osd_bg, 0.7); | |
background-color: shade(@osd_bg, 1.10); | |
background-image: none; | |
} | |
.osd.button:active, | |
.osd .button:active, | |
.osd GtkMenuButton.button:active { | |
border-color: shade(@osd_bg, 0.8); | |
background-color: shade(@osd_bg, 0.95); | |
background-image: none; | |
} | |
.osd.button:active:hover, | |
.osd .button:active:hover, | |
.osd GtkMenuButton.button:active:hover { | |
border-color: shade(@osd_bg, 0.7); | |
} | |
.osd.button:insensitive, | |
.osd .button:insensitive { | |
border-color: shade(@osd_bg, 0.85); | |
background-color: shade(@osd_bg, 0.9); | |
background-image: none; | |
} | |
.osd.button:active *:insensitive, | |
.osd .button:active *:insensitive { | |
background-color: shade(@osd_bg, 0.80); | |
background-image: none; | |
} | |
.osd.toolbar { | |
-GtkToolbar-button-relief: normal; | |
padding: 4px; | |
border-width: 1px; | |
border-style: solid; | |
border-radius: 2px; | |
border-color: shade(@osd_bg, 0.8); | |
background-color: @osd_bg; | |
background-image: none; | |
color: @osd_fg; | |
} | |
.osd.toolbar .button { | |
padding: 4px; | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@osd_bg, 0.8); | |
border-radius: 2px; | |
background-color: shade(@osd_bg, 1.08); | |
background-image: none; | |
color: @osd_fg; | |
} | |
.osd.toolbar .button:hover { | |
border-color: shade(@osd_bg, 0.7); | |
background-color: shade(@osd_bg, 1.10); | |
background-image: none; | |
} | |
.osd.toolbar .button:active { | |
border-color: shade(@osd_bg, 0.8); | |
background-color: shade(@osd_bg, 0.95); | |
background-image: none; | |
} | |
.osd.toolbar .button:active:hover { | |
border-color: shade(@osd_bg, 0.7); | |
} | |
.osd.toolbar .button:focus, | |
.osd.toolbar .button:hover:focus, | |
.osd.toolbar .button:active:focus, | |
.osd.toolbar .button:active:hover:focus { | |
border-color: shade(@osd_bg, 0.7); | |
} | |
.osd.toolbar .button:insensitive { | |
border-color: shade(@osd_bg, 0.85); | |
background-color: shade(@osd_bg, 0.9); | |
background-image: none; | |
} | |
.osd.toolbar .button:active *:insensitive { | |
border-color: shade(@osd_bg, 0.75); | |
background-color: shade(@osd_bg, 0.80); | |
background-image: none; | |
} | |
.osd.toolbar .button:first-child { | |
border-radius: 2px 0 0 2px; | |
border-width: 1px 0 1px 1px; | |
box-shadow: inset -1px 0 shade(@osd_bg, 0.9); | |
} | |
.osd.toolbar .button:last-child { | |
box-shadow: none; | |
border-radius: 0 2px 2px 0; | |
border-width: 1px 1px 1px 0; | |
} | |
.osd.toolbar .button:only-child, | |
.osd.toolbar GtkToolButton .button, | |
.osd.toolbar GtkToolButton:only-child .button, | |
.osd.toolbar GtkToolButton:last-child .button, | |
.osd.toolbar GtkToolButton:first-child .button { | |
border-width: 1px; | |
border-radius: 2px; | |
border-style: solid; | |
} | |
.osd.toolbar .separator { | |
color: shade(@osd_bg, 0.9); | |
} | |
/* used by gnome-settings-daemon's media-keys OSD */ | |
.osd.trough { | |
background-color: shade(@osd_bg, 0.8); | |
} | |
.osd.progressbar { | |
background-color: @osd_fg; | |
} | |
.osd .scale.slider { | |
background-color: shade(@osd_bg, 1.08); | |
background-image: none; | |
/* we will draw the border using box shadow for now */ | |
box-shadow: inset 1px 0 shade(@osd_bg, 0.8), | |
inset 0 1px shade(@osd_bg, 0.8), | |
inset -1px 0 shade(@osd_bg, 0.8), | |
inset 0 -1px shade(@osd_bg, 0.8); | |
} | |
.osd .scale.slider:hover { | |
box-shadow: inset 1px 0 shade(@osd_bg, 0.7), | |
inset 0 1px shade(@osd_bg, 0.7), | |
inset -1px 0 shade(@osd_bg, 0.7), | |
inset 0 -1px shade(@osd_bg, 0.7); | |
} | |
.osd .scale.slider:insensitive { | |
background-color: shade(@osd_bg, 0.9); | |
background-image: none; | |
box-shadow: inset 1px 0 shade(@osd_bg, 0.85), | |
inset 0 1px shade(@osd_bg, 0.85), | |
inset -1px 0 shade(@osd_bg, 0.85), | |
inset 0 -1px shade(@osd_bg, 0.85); | |
} | |
.osd .scale.trough { | |
border-color: shade(@osd_bg, 0.8); | |
background-color: shade(@osd_bg, 1.08); | |
background-image: none; | |
} | |
.osd .scale.trough.highlight { | |
border-color: @theme_selected_bg_color; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
} | |
.osd .scale.trough:insensitive, | |
.osd .scale.trough.highlight:insensitive { | |
border-color: shade(@osd_bg, 0.85); | |
background-color: shade(@osd_bg, 0.9); | |
background-image: none; | |
} | |
.osd GtkProgressBar, | |
GtkProgressBar.osd { | |
padding: 0; | |
-GtkProgressBar-xspacing: 0; | |
-GtkProgressBar-yspacing: 2px; | |
-GtkProgressBar-min-horizontal-bar-height: 2px; | |
} | |
.osd GtkProgressBar.trough, | |
GtkProgressBar.osd.trough { | |
padding: 0; | |
border-style: none; | |
border-radius: 0; | |
background-image: none; | |
background-color: transparent; | |
} | |
.osd GtkProgressBar.progressbar, | |
GtkProgressBar.osd.progressbar { | |
border-style: none; | |
border-radius: 0; | |
background-color: @theme_selected_bg_color; | |
background-image: none; | |
} | |
.osd .view, | |
.osd.view { | |
background-color: @osd_base; | |
} | |
.osd .scrollbar.trough { | |
background-color: @osd_bg; | |
} | |
.osd .scrollbar.slider { | |
border-width: 1px; | |
border-color: mix(shade(@osd_base, 0.87), @osd_fg, 0.21); | |
border-radius: 0; | |
background-color: mix(@osd_base, @osd_fg, 0.21); | |
} | |
.osd .scrollbar.slider:hover { | |
border-color: mix(shade(@osd_base, 0.87), @osd_fg, 0.31); | |
background-color: mix(@osd_base, @osd_fg, 0.31); | |
} | |
.osd .scrollbar.slider:active { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: @theme_selected_bg_color; | |
} | |
.osd GtkIconView.cell:selected, | |
.osd GtkIconView.cell:selected:focus { | |
background-color: transparent; | |
border-style: solid; | |
border-radius: 2px; | |
border-width: 3px; | |
border-color: @osd_fg; | |
outline-color: transparent; | |
} | |
/* used by Documents */ | |
.osd .page-thumbnail { | |
border-style: solid; | |
border-width: 1px; | |
border-color: shade(@osd_bg, 0.9); | |
/* when there's no pixbuf yet */ | |
background-color: @osd_bg; | |
} | |
/****************************** | |
* destructive action buttons * | |
******************************/ | |
.destructive-action.button { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@error_color, 0.8); | |
border-radius: 2px; | |
background-color: @error_color; | |
background-image: none; | |
color: mix(@theme_selected_fg_color, @error_color, 0.1); | |
} | |
.destructive-action.button:hover { | |
border-color: shade(@error_color, 0.7); | |
background-color: shade(@error_color, 1.12); | |
background-image: none; | |
} | |
.destructive-action.button:active { | |
border-color: shade(@error_color, 0.8); | |
background-color: shade(@error_color, 0.87); | |
background-image: none; | |
} | |
.destructive-action.button:hover:active { | |
border-color: shade(@error_color, 0.7); | |
} | |
/****************** | |
* selection mode * | |
******************/ | |
.selection-mode.header-bar, | |
.selection-mode.toolbar { | |
border-style: solid; | |
border-color: @theme_selected_bg_color; | |
background-color: shade(@theme_selected_bg_color, 1.6); | |
background-image: none; | |
color: @theme_selected_bg_color; | |
} | |
.selection-mode.header-bar { | |
border-top-color: shade(@theme_selected_bg_color, 1.6); | |
border-bottom-color: @theme_selected_bg_color; | |
} | |
.selection-mode.toolbar { | |
padding: 4px; | |
} | |
/* regular button */ | |
.selection-mode.header-bar .button, | |
.selection-mode.toolbar .button, | |
.selection-mode.toolbar GtkToolButton .button { | |
border-width: 1px; | |
border-style: solid; | |
border-color: @theme_selected_bg_color; | |
border-radius: 2px; | |
background-color: shade(@theme_selected_bg_color, 1.68); | |
background-image: none; | |
color: shade(@theme_selected_bg_color, 0.8); | |
} | |
.selection-mode.header-bar .button:hover, | |
.selection-mode.toolbar .button:hover, | |
.selection-mode.toolbar GtkToolButton .button:hover { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: shade(@theme_selected_bg_color, 1.70); | |
background-image: none; | |
} | |
.selection-mode.header-bar .button:active, | |
.selection-mode.toolbar .button:active, | |
.selection-mode.toolbar GtkToolButton .button:active { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: shade(@theme_selected_bg_color, 1.55); | |
background-image: none; | |
} | |
.selection-mode.header-bar .button:hover:active, | |
.selection-mode.toolbar .button:hover:active, | |
.selection-mode.toolbar GtkToolButton .button:hover:active { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
} | |
/* suggested button */ | |
.selection-mode.header-bar .suggested-action.button, | |
.selection-mode.toolbar .suggested-action.button, | |
.selection-mode.toolbar GtkToolButton.suggested-action .button { | |
border-width: 1px; | |
border-style: solid; | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
border-radius: 2px; | |
background-color: shade(@theme_selected_bg_color, 1.18); | |
background-image: none; | |
color: @theme_selected_fg_color; | |
} | |
.selection-mode.header-bar .suggested-action.button:hover, | |
.selection-mode.toolbar .suggested-action.button:hover, | |
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
background-color: shade(@theme_selected_bg_color, 1.20); | |
background-image: none; | |
} | |
.selection-mode.header-bar .suggested-action.button:active, | |
.selection-mode.toolbar .suggested-action.button:active, | |
.selection-mode.toolbar GtkToolButton.suggested-action:active { | |
border-color: shade(@theme_selected_bg_color, 0.9); | |
background-color: shade(@theme_selected_bg_color, 1.05); | |
background-image: none; | |
} | |
.selection-mode.header-bar .suggested-action.button:hover:active, | |
.selection-mode.toolbar .suggested-action.button:hover:active, | |
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:active { | |
border-color: shade(@theme_selected_bg_color, 0.8); | |
} | |
/* menu button */ | |
.selection-mode.header-bar .selection-menu.button, | |
.selection-mode.toolbar .selection-menu.button { | |
border-style: none; | |
background-color: transparent; | |
background-image: none; | |
color: shade(@theme_selected_bg_color, 0.8); | |
} | |
.selection-mode.toolbar .dim-label, | |
.selection-mode.toolbar .selection-menu.button .dim-label { | |
color: shade(@theme_selected_bg_color, 0.7); | |
} | |
.selection-mode.header-bar .selection-menu.button:hover, | |
.selection-mode.toolbar .dim-label:hover, | |
.selection-mode.toolbar .selection-menu.button:hover, | |
.selection-mode.toolbar .selection-menu.button .dim-label:hover { | |
color: shade(@theme_selected_bg_color, 0.7); | |
} | |
.selection-mode.header-bar .selection-menu.button:active, | |
.selection-mode.toolbar .selection-menu.button:active { | |
color: shade(@theme_selected_bg_color, 0.8); | |
box-shadow: none; | |
} | |
/************************* | |
* touch text selections * | |
*************************/ | |
GtkBubbleWindow { | |
border-radius: 2px; | |
background-clip: border-box; | |
} | |
GtkBubbleWindow.osd.background { | |
background-color: @osd_bg; | |
} | |
GtkBubbleWindow .toolbar { | |
background-color: transparent; | |
} | |
/******* | |
* CSD * | |
*******/ | |
.titlebar { | |
border-radius: 2px 2px 0 0; | |
background-image: none; | |
background-color: @toolbar_bg_color; | |
color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.1); | |
text-shadow: none; | |
} | |
.tiled .titlebar { | |
border-radius: 0; | |
} | |
.maximized .titlebar { | |
border-radius: 0; | |
} | |
/* this is the default titlebar that is added by GTK | |
* when client-side decorations are in use and the application | |
* did not set a custom titlebar. | |
*/ | |
.titlebar.default-decoration { | |
border: none; | |
box-shadow: none; | |
} | |
.titlebar .title { | |
font: bold; | |
} | |
.titlebar:backdrop { | |
background-image: none; | |
background-color: @toolbar_bg_color; | |
color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.4); | |
text-shadow: none; | |
} | |
.titlebar .titlebutton { | |
padding: 4px; | |
border-style: none; | |
background: none; | |
color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.1); | |
icon-shadow: none; | |
} | |
.titlebar .titlebutton:hover, | |
.titlebar .titlebutton:hover:focus { | |
background: none; | |
color: @theme_selected_bg_color; | |
} | |
.titlebar .titlebutton:active, | |
.titlebar .titlebutton:active:hover { | |
background: none; | |
color: shade(@theme_selected_bg_color, 0.9); | |
box-shadow: none; | |
} | |
/* | |
.titlebar .right .titlebutton:first-child { | |
border-left: 1px solid shade(@toolbar_bg_color, 0.9); | |
} | |
.titlebar .right .titlebutton:last-child { | |
} | |
.titlebar .left .titlebutton:last-child { | |
border-right: 1px solid shade(@toolbar_bg_color, 0.9); | |
} | |
.titlebar .left .titlebutton:first-child { | |
} | |
*/ | |
.titlebar .titlebutton:backdrop { | |
background-image: none; | |
color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.4); | |
icon-shadow: none; | |
} | |
.window-frame { | |
border-style: none; | |
border-radius: 2px 2px 0 0; | |
box-shadow: 0 3px 7px 1px alpha(black, 0.7), | |
0 0 0 1px mix(shade(@toolbar_bg_color, 0.7), @toolbar_fg_color, 0.21); | |
/* this is used for the resize cursor area */ | |
margin: 10px; | |
} | |
.window-frame.tiled { | |
border-radius: 0; | |
} | |
.window-frame:backdrop { | |
box-shadow: 0 3px 5px 1px alpha(black, 0.5), | |
0 0 0 1px mix(shade(@toolbar_bg_color, 0.7), @toolbar_fg_color, 0.12); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<interface> | |
<!-- interface-requires gtk+ 3.0 --> | |
<object class="GtkWindow" id="window"> | |
<property name="can_focus">False</property> | |
<property name="border_width">5</property> | |
<property name="window_position">center-always</property> | |
<property name="default_width">440</property> | |
<property name="default_height">250</property> | |
<child> | |
<object class="GtkNotebook" id="notebook"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<child> | |
<object class="GtkCalendar" id="calendar"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="year">2014</property> | |
<property name="month">1</property> | |
<property name="day">10</property> | |
</object> | |
</child> | |
<child type="tab"> | |
<object class="GtkLabel" id="label1"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="label" translatable="yes">Page 1</property> | |
</object> | |
<packing> | |
<property name="tab_fill">False</property> | |
</packing> | |
</child> | |
<child> | |
<object class="GtkBox" id="box2"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="orientation">vertical</property> | |
<property name="spacing">5</property> | |
<child> | |
<object class="GtkLabel" id="label"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="label" translatable="yes">This is a label</property> | |
</object> | |
<packing> | |
<property name="expand">False</property> | |
<property name="fill">True</property> | |
<property name="position">0</property> | |
</packing> | |
</child> | |
<child> | |
<object class="GtkButton" id="button"> | |
<property name="label" translatable="yes">This is a button</property> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="receives_default">True</property> | |
</object> | |
<packing> | |
<property name="expand">True</property> | |
<property name="fill">True</property> | |
<property name="position">1</property> | |
</packing> | |
</child> | |
</object> | |
<packing> | |
<property name="position">1</property> | |
</packing> | |
</child> | |
<child type="tab"> | |
<object class="GtkLabel" id="label2"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="label" translatable="yes">Page 2</property> | |
</object> | |
<packing> | |
<property name="position">1</property> | |
<property name="tab_fill">False</property> | |
</packing> | |
</child> | |
<child> | |
<object class="GtkTextView" id="textview1"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
</object> | |
<packing> | |
<property name="position">2</property> | |
</packing> | |
</child> | |
<child type="tab"> | |
<object class="GtkLabel" id="label3"> | |
<property name="visible">True</property> | |
<property name="can_focus">False</property> | |
<property name="label" translatable="yes">Page 3</property> | |
</object> | |
<packing> | |
<property name="position">2</property> | |
<property name="tab_fill">False</property> | |
</packing> | |
</child> | |
</object> | |
</child> | |
</object> | |
</interface> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Instead of defining
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION
, just use:Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
. Examples: https://www.programcreek.com/python/example/88482/gi.repository.Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION