Skip to content

Instantly share code, notes, and snippets.

@carlos-jenkins
Created February 10, 2014 20:03
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save carlos-jenkins/8923124 to your computer and use it in GitHub Desktop.
Save carlos-jenkins/8923124 to your computer and use it in GitHub Desktop.
Example to set to a Gtk application a custom theme.
# -*- coding:utf-8 -*-
#
# Copyright (C) 2013 Carlos Jenkins <carlos@jenkins.co.cr>
#
# 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()
/* 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");
/* 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);
}
<?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>
@melroy89
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment