From 36c05e50f4c97ea442cb4353467849f8898e3dfc Mon Sep 17 00:00:00 2001 From: Horst3180 Date: Sat, 16 May 2015 22:50:01 +0200 Subject: initial commit --- gtk-3.0/Gemfile | 3 + gtk-3.0/Gemfile.lock | 10 + gtk-3.0/README | 36 + gtk-3.0/_applications.scss | 672 ++++ gtk-3.0/_colors-public.scss | 46 + gtk-3.0/_colors.scss | 58 + gtk-3.0/_common.scss | 2743 ++++++++++++++++ gtk-3.0/_drawing.scss | 360 +++ gtk-3.0/_granite.scss | 214 ++ gtk-3.0/_transparent_widgets.scss | 200 ++ gtk-3.0/_unity.scss | 56 + gtk-3.0/assets.svg | 3397 ++++++++++++++++++++ gtk-3.0/assets.txt | 50 + .../checkbox-checked-insensitive-selected.png | Bin 0 -> 402 bytes .../checkbox-checked-insensitive-selected@2.png | Bin 0 -> 599 bytes gtk-3.0/assets/checkbox-checked-insensitive.png | Bin 0 -> 424 bytes gtk-3.0/assets/checkbox-checked-insensitive@2.png | Bin 0 -> 648 bytes gtk-3.0/assets/checkbox-checked-selected.png | Bin 0 -> 392 bytes gtk-3.0/assets/checkbox-checked-selected@2.png | Bin 0 -> 588 bytes gtk-3.0/assets/checkbox-checked-selectionmode.png | Bin 0 -> 650 bytes .../assets/checkbox-checked-selectionmode@2.png | Bin 0 -> 1011 bytes gtk-3.0/assets/checkbox-checked.png | Bin 0 -> 423 bytes gtk-3.0/assets/checkbox-checked@2.png | Bin 0 -> 649 bytes .../assets/checkbox-mixed-insensitive-selected.png | Bin 0 -> 237 bytes .../checkbox-mixed-insensitive-selected@2.png | Bin 0 -> 327 bytes gtk-3.0/assets/checkbox-mixed-insensitive.png | Bin 0 -> 260 bytes gtk-3.0/assets/checkbox-mixed-insensitive@2.png | Bin 0 -> 379 bytes gtk-3.0/assets/checkbox-mixed-selected.png | Bin 0 -> 232 bytes gtk-3.0/assets/checkbox-mixed-selected@2.png | Bin 0 -> 301 bytes gtk-3.0/assets/checkbox-mixed.png | Bin 0 -> 252 bytes gtk-3.0/assets/checkbox-mixed@2.png | Bin 0 -> 363 bytes gtk-3.0/assets/checkbox-selectionmode.png | Bin 0 -> 621 bytes gtk-3.0/assets/checkbox-selectionmode@2.png | Bin 0 -> 1037 bytes .../checkbox-unchecked-insensitive-selected.png | Bin 0 -> 277 bytes .../checkbox-unchecked-insensitive-selected@2.png | Bin 0 -> 420 bytes gtk-3.0/assets/checkbox-unchecked-insensitive.png | Bin 0 -> 319 bytes .../assets/checkbox-unchecked-insensitive@2.png | Bin 0 -> 478 bytes gtk-3.0/assets/checkbox-unchecked-selected.png | Bin 0 -> 299 bytes gtk-3.0/assets/checkbox-unchecked-selected@2.png | Bin 0 -> 445 bytes gtk-3.0/assets/checkbox-unchecked.png | Bin 0 -> 317 bytes gtk-3.0/assets/checkbox-unchecked@2.png | Bin 0 -> 452 bytes .../assets/radio-checked-insensitive-selected.png | Bin 0 -> 384 bytes .../radio-checked-insensitive-selected@2.png | Bin 0 -> 693 bytes gtk-3.0/assets/radio-checked-insensitive.png | Bin 0 -> 490 bytes gtk-3.0/assets/radio-checked-insensitive@2.png | Bin 0 -> 884 bytes gtk-3.0/assets/radio-checked-selected.png | Bin 0 -> 369 bytes gtk-3.0/assets/radio-checked-selected@2.png | Bin 0 -> 671 bytes gtk-3.0/assets/radio-checked.png | Bin 0 -> 464 bytes gtk-3.0/assets/radio-checked@2.png | Bin 0 -> 860 bytes .../assets/radio-mixed-insensitive-selected.png | Bin 0 -> 344 bytes .../assets/radio-mixed-insensitive-selected@2.png | Bin 0 -> 560 bytes gtk-3.0/assets/radio-mixed-insensitive.png | Bin 0 -> 447 bytes gtk-3.0/assets/radio-mixed-insensitive@2.png | Bin 0 -> 752 bytes gtk-3.0/assets/radio-mixed-selected.png | Bin 0 -> 312 bytes gtk-3.0/assets/radio-mixed-selected@2.png | Bin 0 -> 518 bytes gtk-3.0/assets/radio-mixed.png | Bin 0 -> 416 bytes gtk-3.0/assets/radio-mixed@2.png | Bin 0 -> 720 bytes .../radio-unchecked-insensitive-selected.png | Bin 0 -> 450 bytes .../radio-unchecked-insensitive-selected@2.png | Bin 0 -> 876 bytes gtk-3.0/assets/radio-unchecked-insensitive.png | Bin 0 -> 496 bytes gtk-3.0/assets/radio-unchecked-insensitive@2.png | Bin 0 -> 955 bytes gtk-3.0/assets/radio-unchecked-selected.png | Bin 0 -> 500 bytes gtk-3.0/assets/radio-unchecked-selected@2.png | Bin 0 -> 979 bytes gtk-3.0/assets/radio-unchecked.png | Bin 0 -> 478 bytes gtk-3.0/assets/radio-unchecked@2.png | Bin 0 -> 973 bytes gtk-3.0/assets/switch-active-header.png | Bin 0 -> 1013 bytes gtk-3.0/assets/switch-active-header@2.png | Bin 0 -> 2020 bytes .../assets/switch-active-insensitive-header.png | Bin 0 -> 1013 bytes .../assets/switch-active-insensitive-header@2.png | Bin 0 -> 2036 bytes .../assets/switch-active-insensitive-selected.png | Bin 0 -> 885 bytes .../switch-active-insensitive-selected@2.png | Bin 0 -> 1766 bytes gtk-3.0/assets/switch-active-insensitive.png | Bin 0 -> 1013 bytes gtk-3.0/assets/switch-active-insensitive@2.png | Bin 0 -> 2036 bytes gtk-3.0/assets/switch-active-selected.png | Bin 0 -> 926 bytes gtk-3.0/assets/switch-active-selected@2.png | Bin 0 -> 1824 bytes gtk-3.0/assets/switch-active.png | Bin 0 -> 1013 bytes gtk-3.0/assets/switch-active@2.png | Bin 0 -> 2020 bytes gtk-3.0/assets/switch-header.png | Bin 0 -> 926 bytes gtk-3.0/assets/switch-header@2.png | Bin 0 -> 1857 bytes gtk-3.0/assets/switch-insensitive-header.png | Bin 0 -> 830 bytes gtk-3.0/assets/switch-insensitive-header@2.png | Bin 0 -> 1671 bytes gtk-3.0/assets/switch-insensitive-selected.png | Bin 0 -> 938 bytes gtk-3.0/assets/switch-insensitive-selected@2.png | Bin 0 -> 1844 bytes gtk-3.0/assets/switch-insensitive.png | Bin 0 -> 952 bytes gtk-3.0/assets/switch-insensitive@2.png | Bin 0 -> 1930 bytes gtk-3.0/assets/switch-selected.png | Bin 0 -> 965 bytes gtk-3.0/assets/switch-selected@2.png | Bin 0 -> 1921 bytes gtk-3.0/assets/switch.png | Bin 0 -> 929 bytes gtk-3.0/assets/switch@2.png | Bin 0 -> 1924 bytes gtk-3.0/assets/thumbnail-frame.png | Bin 0 -> 832 bytes gtk-3.0/assets/titlebutton-close-active.png | Bin 0 -> 533 bytes gtk-3.0/assets/titlebutton-close-active@2.png | Bin 0 -> 1023 bytes gtk-3.0/assets/titlebutton-close-backdrop.png | Bin 0 -> 722 bytes gtk-3.0/assets/titlebutton-close-backdrop@2.png | Bin 0 -> 1477 bytes gtk-3.0/assets/titlebutton-close-hover.png | Bin 0 -> 528 bytes gtk-3.0/assets/titlebutton-close-hover@2.png | Bin 0 -> 955 bytes gtk-3.0/assets/titlebutton-close.png | Bin 0 -> 508 bytes gtk-3.0/assets/titlebutton-close@2.png | Bin 0 -> 1029 bytes gtk-3.0/assets/titlebutton-max-active.png | Bin 0 -> 514 bytes gtk-3.0/assets/titlebutton-max-active@2.png | Bin 0 -> 850 bytes gtk-3.0/assets/titlebutton-max-backdrop.png | Bin 0 -> 686 bytes gtk-3.0/assets/titlebutton-max-backdrop@2.png | Bin 0 -> 1327 bytes gtk-3.0/assets/titlebutton-max-hover.png | Bin 0 -> 684 bytes gtk-3.0/assets/titlebutton-max-hover@2.png | Bin 0 -> 1316 bytes gtk-3.0/assets/titlebutton-max.png | Bin 0 -> 689 bytes gtk-3.0/assets/titlebutton-max@2.png | Bin 0 -> 1320 bytes gtk-3.0/assets/titlebutton-min-active.png | Bin 0 -> 418 bytes gtk-3.0/assets/titlebutton-min-active@2.png | Bin 0 -> 729 bytes gtk-3.0/assets/titlebutton-min-backdrop.png | Bin 0 -> 599 bytes gtk-3.0/assets/titlebutton-min-backdrop@2.png | Bin 0 -> 1178 bytes gtk-3.0/assets/titlebutton-min-hover.png | Bin 0 -> 580 bytes gtk-3.0/assets/titlebutton-min-hover@2.png | Bin 0 -> 1174 bytes gtk-3.0/assets/titlebutton-min.png | Bin 0 -> 579 bytes gtk-3.0/assets/titlebutton-min@2.png | Bin 0 -> 1188 bytes gtk-3.0/gtk-contained.css | 3080 ++++++++++++++++++ gtk-3.0/gtk-contained.scss | 13 + gtk-3.0/gtk.css | 1 + gtk-3.0/parse-sass.sh | 3 + gtk-3.0/render-assets.sh | 34 + 119 files changed, 10976 insertions(+) create mode 100644 gtk-3.0/Gemfile create mode 100644 gtk-3.0/Gemfile.lock create mode 100644 gtk-3.0/README create mode 100644 gtk-3.0/_applications.scss create mode 100644 gtk-3.0/_colors-public.scss create mode 100644 gtk-3.0/_colors.scss create mode 100644 gtk-3.0/_common.scss create mode 100644 gtk-3.0/_drawing.scss create mode 100644 gtk-3.0/_granite.scss create mode 100644 gtk-3.0/_transparent_widgets.scss create mode 100644 gtk-3.0/_unity.scss create mode 100644 gtk-3.0/assets.svg create mode 100644 gtk-3.0/assets.txt create mode 100644 gtk-3.0/assets/checkbox-checked-insensitive-selected.png create mode 100644 gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-checked-insensitive.png create mode 100644 gtk-3.0/assets/checkbox-checked-insensitive@2.png create mode 100644 gtk-3.0/assets/checkbox-checked-selected.png create mode 100644 gtk-3.0/assets/checkbox-checked-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-checked-selectionmode.png create mode 100644 gtk-3.0/assets/checkbox-checked-selectionmode@2.png create mode 100644 gtk-3.0/assets/checkbox-checked.png create mode 100644 gtk-3.0/assets/checkbox-checked@2.png create mode 100644 gtk-3.0/assets/checkbox-mixed-insensitive-selected.png create mode 100644 gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-mixed-insensitive.png create mode 100644 gtk-3.0/assets/checkbox-mixed-insensitive@2.png create mode 100644 gtk-3.0/assets/checkbox-mixed-selected.png create mode 100644 gtk-3.0/assets/checkbox-mixed-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-mixed.png create mode 100644 gtk-3.0/assets/checkbox-mixed@2.png create mode 100644 gtk-3.0/assets/checkbox-selectionmode.png create mode 100644 gtk-3.0/assets/checkbox-selectionmode@2.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-insensitive.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-insensitive@2.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-selected.png create mode 100644 gtk-3.0/assets/checkbox-unchecked-selected@2.png create mode 100644 gtk-3.0/assets/checkbox-unchecked.png create mode 100644 gtk-3.0/assets/checkbox-unchecked@2.png create mode 100644 gtk-3.0/assets/radio-checked-insensitive-selected.png create mode 100644 gtk-3.0/assets/radio-checked-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/radio-checked-insensitive.png create mode 100644 gtk-3.0/assets/radio-checked-insensitive@2.png create mode 100644 gtk-3.0/assets/radio-checked-selected.png create mode 100644 gtk-3.0/assets/radio-checked-selected@2.png create mode 100644 gtk-3.0/assets/radio-checked.png create mode 100644 gtk-3.0/assets/radio-checked@2.png create mode 100644 gtk-3.0/assets/radio-mixed-insensitive-selected.png create mode 100644 gtk-3.0/assets/radio-mixed-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/radio-mixed-insensitive.png create mode 100644 gtk-3.0/assets/radio-mixed-insensitive@2.png create mode 100644 gtk-3.0/assets/radio-mixed-selected.png create mode 100644 gtk-3.0/assets/radio-mixed-selected@2.png create mode 100644 gtk-3.0/assets/radio-mixed.png create mode 100644 gtk-3.0/assets/radio-mixed@2.png create mode 100644 gtk-3.0/assets/radio-unchecked-insensitive-selected.png create mode 100644 gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/radio-unchecked-insensitive.png create mode 100644 gtk-3.0/assets/radio-unchecked-insensitive@2.png create mode 100644 gtk-3.0/assets/radio-unchecked-selected.png create mode 100644 gtk-3.0/assets/radio-unchecked-selected@2.png create mode 100644 gtk-3.0/assets/radio-unchecked.png create mode 100644 gtk-3.0/assets/radio-unchecked@2.png create mode 100644 gtk-3.0/assets/switch-active-header.png create mode 100644 gtk-3.0/assets/switch-active-header@2.png create mode 100644 gtk-3.0/assets/switch-active-insensitive-header.png create mode 100644 gtk-3.0/assets/switch-active-insensitive-header@2.png create mode 100644 gtk-3.0/assets/switch-active-insensitive-selected.png create mode 100644 gtk-3.0/assets/switch-active-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/switch-active-insensitive.png create mode 100644 gtk-3.0/assets/switch-active-insensitive@2.png create mode 100644 gtk-3.0/assets/switch-active-selected.png create mode 100644 gtk-3.0/assets/switch-active-selected@2.png create mode 100644 gtk-3.0/assets/switch-active.png create mode 100644 gtk-3.0/assets/switch-active@2.png create mode 100644 gtk-3.0/assets/switch-header.png create mode 100644 gtk-3.0/assets/switch-header@2.png create mode 100644 gtk-3.0/assets/switch-insensitive-header.png create mode 100644 gtk-3.0/assets/switch-insensitive-header@2.png create mode 100644 gtk-3.0/assets/switch-insensitive-selected.png create mode 100644 gtk-3.0/assets/switch-insensitive-selected@2.png create mode 100644 gtk-3.0/assets/switch-insensitive.png create mode 100644 gtk-3.0/assets/switch-insensitive@2.png create mode 100644 gtk-3.0/assets/switch-selected.png create mode 100644 gtk-3.0/assets/switch-selected@2.png create mode 100644 gtk-3.0/assets/switch.png create mode 100644 gtk-3.0/assets/switch@2.png create mode 100644 gtk-3.0/assets/thumbnail-frame.png create mode 100644 gtk-3.0/assets/titlebutton-close-active.png create mode 100644 gtk-3.0/assets/titlebutton-close-active@2.png create mode 100644 gtk-3.0/assets/titlebutton-close-backdrop.png create mode 100644 gtk-3.0/assets/titlebutton-close-backdrop@2.png create mode 100644 gtk-3.0/assets/titlebutton-close-hover.png create mode 100644 gtk-3.0/assets/titlebutton-close-hover@2.png create mode 100644 gtk-3.0/assets/titlebutton-close.png create mode 100644 gtk-3.0/assets/titlebutton-close@2.png create mode 100644 gtk-3.0/assets/titlebutton-max-active.png create mode 100644 gtk-3.0/assets/titlebutton-max-active@2.png create mode 100644 gtk-3.0/assets/titlebutton-max-backdrop.png create mode 100644 gtk-3.0/assets/titlebutton-max-backdrop@2.png create mode 100644 gtk-3.0/assets/titlebutton-max-hover.png create mode 100644 gtk-3.0/assets/titlebutton-max-hover@2.png create mode 100644 gtk-3.0/assets/titlebutton-max.png create mode 100644 gtk-3.0/assets/titlebutton-max@2.png create mode 100644 gtk-3.0/assets/titlebutton-min-active.png create mode 100644 gtk-3.0/assets/titlebutton-min-active@2.png create mode 100644 gtk-3.0/assets/titlebutton-min-backdrop.png create mode 100644 gtk-3.0/assets/titlebutton-min-backdrop@2.png create mode 100644 gtk-3.0/assets/titlebutton-min-hover.png create mode 100644 gtk-3.0/assets/titlebutton-min-hover@2.png create mode 100644 gtk-3.0/assets/titlebutton-min.png create mode 100644 gtk-3.0/assets/titlebutton-min@2.png create mode 100644 gtk-3.0/gtk-contained.css create mode 100644 gtk-3.0/gtk-contained.scss create mode 100644 gtk-3.0/gtk.css create mode 100755 gtk-3.0/parse-sass.sh create mode 100755 gtk-3.0/render-assets.sh (limited to 'gtk-3.0') diff --git a/gtk-3.0/Gemfile b/gtk-3.0/Gemfile new file mode 100644 index 0000000..c177689 --- /dev/null +++ b/gtk-3.0/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem "sass", "~> 3.4.0" diff --git a/gtk-3.0/Gemfile.lock b/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..f64766f --- /dev/null +++ b/gtk-3.0/Gemfile.lock @@ -0,0 +1,10 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.10) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) diff --git a/gtk-3.0/README b/gtk-3.0/README new file mode 100644 index 0000000..413cff1 --- /dev/null +++ b/gtk-3.0/README @@ -0,0 +1,36 @@ +Summary +------- + +* Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run + `/.parse-sass.sh` when you have the required sofwtare installed, as described below) +* To be able to use the lates/adequate version of sass, install ruby, gem, sass & bundle. + On Fedora F20, this is done with `sudo dnf install rubygems && gem install bundle && bundle install` + from the same directory this README resides in. + +How to tweak the theme +---------------------- + +Adwaita is a complex themes, so to keep it maintainable it's written and processed in SASS, the +generated CSS is then transformed into a gresource file during gtk build and used at runtime in a +non-legible or editable form. + +It is very likely your change will happen in the _common.scss file. That's where most of the widget +selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the +right place for a drive by stylesheet fix: + +_colors.scss - global color definitions. We keep the number of defined colors to a necessary minimum, + most colors are derived form a handful of basics. It covers both the light variant and + the dark variant. + +_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing. + +_drawing.scss - drawing helper mixings/functions to allow easier definition of widget drawing under + specific context. This is why Adwaita isn't 15000 LOC. + +_common.scss - actual definitions of style for each widget. This is where you are likely to add/remove + your changes. + +You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the +_common.scss file, you can either run the ./parse-sass.sh script or keep SASS watching for changes as you +edit. This is done by running `bundle exec sass --watch --sourcemap=none .` If sass is out of date, or is +missing, you can install it with `bundle install`. diff --git a/gtk-3.0/_applications.scss b/gtk-3.0/_applications.scss new file mode 100644 index 0000000..18f95b5 --- /dev/null +++ b/gtk-3.0/_applications.scss @@ -0,0 +1,672 @@ +// +// Evolution +// +// needed for webkit/GtkStyle/Evolution compatibility +GtkHTML { + background-color: $base_color; + color: $text_color; + + &:active { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +// +// Sushi +// +// used by gnome-font-viewer and sushi +SushiFontWidget { + padding: 6px 12px; +} + +// +// GNOME Terminal +// +$terminal_bg: #2A2F36; +$terminal_fg: white; + +TerminalWindow { + .background { + background-color: transparent; + } + + .notebook tab.reorderable-page, + .notebook tab.reorderable-page:hover { + padding-top: 4px; + padding-bottom: 4px; + } + + .notebook { + + &.header.top { + box-shadow: inset 0 1px darken(opacify($header_bg, 1), 7%), + inset 0 -1px lighten($borders_color, 5%); + } + + tab { + .active-page GtkLabel { + color: $header_fg; + + &:backdrop { color: transparentize($header_fg, 0.3); } + } + + &.reorderable-page.top:hover { + border-bottom-color: darken(opacify($header_bg, 1), 7%); + } + + &.reorderable-page.top:active, + &.reorderable-page.top:active:hover { + background-color: opacify($header_bg, 1); + border-color: darken(opacify($header_bg, 1), 7%); + + &:backdrop { background-color: lighten($header_bg, 3%); } + } + } + } + +// .scrollbars-junction, .scrollbar.trough { +// background-color: $terminal_bg; +// border-color: $terminal_bg; +// border-image: none; +// } +} + +// +// Nautilus +// +NautilusCanvasViewContainer.view .entry { border-radius: 3px; } + +.nautilus-canvas-item { + border-radius: 2px; +} + +.nautilus-desktop.nautilus-canvas-item { + color: $selected_fg_color; + + &:active { color: $fg_color; } + &:selected { color: $selected_fg_color; } +} + +.nautilus-canvas-item.dim-label, +.nautilus-list-dim-label { + color: mix($fg_color, $bg_color, 50%); + + &:selected, &:selected:focus { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +NautilusNotebook.notebook { + background-color: $base_color; + + tab { + border-width: 0; + border-style: solid; + border-color: transparent; + background-color: transparent; + } +} + +NautilusQueryEditor .search-bar.toolbar { + padding: 5px; + box-shadow: none; +} + +.nautilus-circular-button { + border-radius: 50%; + outline-radius: 50%; +} + +$disk_space_unknown: transparentize($fg_color, 0.5); +$disk_space_used: transparentize($selected_bg_color, 0.2); +$disk_space_free: darken($bg_color, 3%); + +.disk-space-display { + border-style: solid; + border-width: 1px; + + &.unknown { + background-color: $disk_space_unknown; + border-color: darken($disk_space_unknown, 10%); + } + &.used { + background-color: $disk_space_used; + border-color: darken($disk_space_used, 10%); + } + &.free { + background-color: $disk_space_free; + border-color: darken($disk_space_free, 10%); + } +} + +// +// Nemo +// +NemoIconViewContainer { @extend NautilusCanvasViewContainer.view } + +NemoWindow .sidebar .frame { + border-width: 0; +} + +NemoWindow GtkSeparator.separator.horizontal { + color: $borders_color; +} + +.nemo-desktop.nemo-canvas-item { + @extend .nautilus-desktop.nautilus-canvas-item; +} + +NemoPathBar.linked > .button { + @include button(header-hover); + + &:hover { border-color: $selected_bg_color; } + &:active, &:checked { @include button(header-active); } + + @extend %linked; +} + +// +// Gedit +// +.gedit-headerbar-paned { color: darken($header_bg, 7%); } + +.open-document-selector-treeview.view { + padding: 3px 6px 3px 6px; + border-color: $base_color; // disable borders, making them transparent doesn't work for some reason + + &:prelight { background-color: transparentize(black, 0.95); } +} + +/* Only normal state is handle */ +.open-document-selector-name-label { + color: $fg_color; +} + +/* Only normal state is handle */ +.open-document-selector-path-label { + color: mix($fg_color, $base_color, 50%); + font-size: smaller; + + &:selected { color: transparentize($selected_fg_color, 0.1); } +} + +.gedit-document-panel { + + .list-row .button { + color: transparent; + background-image: none; + background-color: transparent; + border: none; + box-shadow: none; + padding: 4px; + & GtkImage { color: inherit; } + } + .prelight-row .button { + color: mix($bg_color, $fg_color, 35%); + } + .list-row .button:hover, + .prelight-row .button:hover { + color: lighten(red, 15%); + } + .prelight-row:selected .button:hover { + color: lighten(red, 20%); + background-image: none; + background-color: transparent; + border: none; + box-shadow: none; + &:active { color: $selected_fg_color; } + } + .prelight-row .button:active { + color: $fg_color; + } +} + +.gedit-document-panel-dragged-row { + border: 1px solid $borders_color; + background-color: darken($bg_color, 10%); + color: $fg_color; +} + +//.gedit-document-panel-placeholder-row { +//} + +GeditStatusbar { + border-top: 1px solid $borders_color; + background-color: $bg_color; +} + +GeditStatusMenuButton.button.flat, +GeditStatusMenuButton:prelight.button.flat, +GeditStatusMenuButton:checked.button.flat { + border-bottom-style: none; + border-radius: 0; +} + + +GeditViewFrame .gedit-search-slider { @extend %search_slider } + +GeditFileBrowserWidget .toolbar { + border-bottom: 1px solid $borders_color; +} + +.gedit-search-entry-occurrences-tag { + color: transparentize($fg_color, 0.4); + margin: 2px; + padding: 2px; +} + +%search_slider { + background-color: lighten($bg_color, 2%); + padding: 6px; + border-color: $borders_color; + border-radius: 0 0 2px 2px; + border-width: 0 1px 1px 1px; + border-style: solid; +} + +// +// Gnome Builder +// + +GbSearchBox.linked { + > GtkMenuButton.button:last-child:dir(ltr) { + background-color: darken($header_bg, 6%); + border-radius: 0 14.5px 14.5px 0; + outline-radius: 0 12.5px 12.5px 0; + } + > GtkMenuButton.button:first-child:dir(rtl) { + background-color: darken($header_bg, 6%); + border-radius: 14.5px 0 0 14.5px; + outline-radius: 12.5px 0 0 12.5px; + } +} + +//Search entry that slides down from top of editor +GbEditorFrame .gb-search-slider { @extend %search_slider; padding: 2px; } + +.gb-search-entry-occurrences-tag { @extend .gedit-search-entry-occurrences-tag } + +GdTaggedEntry { color: $fg_color; } + +// Preferences sidebar style +.preferences.sidebar { + + GtkViewport { border: none; } + GtkListBox { background-color: $bg_color; } + GtkListBoxRow { padding: 10px; } +} + +// Preference page language style +GbPreferencesPageLanguage { + + GtkSearchEntry { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + GtkScrolledWindow { border-top-width: 0; } +} + +// Command Bar styling +GtkBox.gb-command-bar-box { + //border: none; + //border-top: 1px solid nth($_borders_color, 2); + //background-image: linear-gradient(to bottom, nth($_base_color, 2)); + //box-shadow: inset 0px 2px 3px -1px transparentize(black, 0.7); + + //GtkLabel { color: nth($_fg_color, 2); } +} + +GtkEntry.gb-command-bar-entry.entry.flat, +GtkEntry.gb-command-bar-entry.entry.flat:focus { + font-family: Monospace; + background-image: none; + background-color: transparent; + padding: 6px 6px 6px 6px; + //color: nth($_fg_color, 2); + + &:selected, + &:selected:focus { + @extend %selected_items; + } +} + +GbSourceStyleSchemeWidget GtkSourceView { + font-family: Monospace; +} + +GtkScrolledWindow.gb-linked-scroller { + border-top: none; +} + +// Disable various animatinos that are enabled by default and really annoying +// to the overall flow of Builder. +GbSearchDisplayGroup GtkListBox .list-row, GbDocumentStack .button { + transition: none; +} + +GbViewStack GtkBox.header.notebook, +GbEditorWorkspace > GtkPaned > GtkBox > GtkBox.header.notebook { + border-bottom: 1px solid $borders_color; +} + +GbViewStack.focused GtkBox.header.notebook { + background-color: $bg_color; + + .button.dim-label { opacity: 1; } +} + +// +// Epiphany +// +EphyWindow .floating-bar { // Epiphany overrides the floating-bar style, so reset it + color: $fg_color; +} + +// +// Gnome Documents +// +.documents-load-more.button { + border-width: 1px 0 0; + border-radius: 0; +} + +.documents-icon-bg { + background-color: $selected_bg_color; + color: $selected_fg_color; + border-radius: 2px; +} + +.documents-collection-icon { + background-color: transparentize($fg_color, 0.7); + border-radius: 2px; +} + +.documents-favorite.button:active, +.documents-favorite.button:active:hover { + color: lighten($selected_bg_color, 20%); +} + +.documents-entry-tag { + background-color: $selected_bg_color; + color: $selected_fg_color; + border-radius: 2px; + border-width: 0; + margin: 2px; + padding: 4px; + + &:hover { background-color: lighten($selected_bg_color, 4%) } + &:active { background-color: darken($selected_bg_color, 4%) } + + .toolbar .linked &.button { + background: none; + border: none; + box-shadow: none; + icon-shadow: none; + + &:hover { color: transparentize($selected_fg_color, 0.3) } + } +} + +.content-view.document-page { + border-style: solid; + border-width: 3px 3px 6px 4px; + border-image: url("assets/thumbnail-frame.png") 3 3 6 4; +} + +// +// Totem +// +TotemGrilo.vertical GdMainView.frame { + border-width: 0; +} + +// +// Fallback Mode/Budgie Panel +// +.gnome-panel-menu-bar, +PanelApplet > GtkMenuBar.menubar, +PanelToplevel, +PanelWidget, +PanelAppletFrame, +PanelApplet { + color: $panel_fg; + background-image: linear-gradient(to bottom, $panel_bg); +} + +PanelApplet .button, PanelApplet .button:backdrop { + padding: 4px; + border: 2px solid transparent; + border-radius: 0; + background-image: none; + background-color: transparent; + color: $panel_fg; +} + +PanelApplet .button:hover { + color: lighten($panel_fg, 10%); + background-color: transparentize(black, 0.83); + border-color: transparentize(black, 0.83); +} + +PanelApplet .button:active, PanelApplet .button:active:backdrop, +PanelApplet .button:checked, PanelApplet .button:checked:backdrop { + color: $selected_fg_color; + background-color: transparentize(black, 0.75); + border-radius: 0; + border-color: transparentize(black, 0.75); + box-shadow: inset 0 -2px $selected_bg_color; +} + +PanelApplet:hover { + color: $selected_fg_color; +} + +PanelApplet:active, +PanelApplet:hover:active { + color: $selected_bg_color; +} + +WnckPager { + color: mix($panel_fg, black, 50%); + &:selected { color: $selected_bg_color } +} + +NaTrayApplet { + -NaTrayApplet-icon-padding: 12; + -NaTrayApplet-icon-size: 16; +} + +ClockBox { + color: $panel_fg; +} + +// Xfce Panel +.xfce4-panel.panel { + background-color: $panel_bg; + + .button.flat { + color: $panel_fg; + background-color: transparentize($panel_bg, 1); + border-radius: 0; + + &:hover { + border: none; + background-color: lighten($panel_bg, 10%); + } + &:active, &:checked { + color: $selected_bg_color; + border: none; + background-color: darken($panel_bg, 7%); + } + } +} + +// +// Floating Bar +// +.floating-bar { + background-color: $selected_bg_color; + color: $selected_fg_color; + + &.top { border-radius: 0 0 2px 2px; } + &.right { border-radius: 2px 0 0 2px; } + &.bottom { border-radius: 2px 2px 0 0; } + &.left { border-radius: 0 2px 2px 0; } + + .button { + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 0; + + background-color: transparent; + box-shadow: none; + border: none; + } +} + +// Elementary Apps + +// +// Birdie +// +BirdieWidgetsTweetList * { + background-image: none; + background-color: transparent; +} + +// +// Marlin / Pantheon Files +// +MarlinViewWindow GtkIconView.view:selected, +MarlinViewWindow GtkIconView.view:selected:focus, +MarlinViewWindow GtkIconView.view:selected:hover, +MarlinViewWindow GtkIconView.view:selected:focus:hover { + background-color: transparent; +} + +MarlinViewWindow FMListView, +MarlinViewWindow FMColumnView { + outline-color: transparent; +} + +MarlinViewWindow *:selected, +MarlinViewWindow *:selected:focus { + color: $selected_fg_color; + background-color: $selected_bg_color; + outline-color: transparent; +} + +.marlin-pathbar.pathbar { + border-radius: 14.5px; + @include entry(header-normal); + + &:focus { @include entry(header-focus) } + + &:insensitive { @include entry(header-insensitive) } + + &:active, &:checked { + color: $selected_bg_color; + } +} + +// +// Gala +// +.gala-notification { + border: 1px solid rgba(0, 0, 0, 0.35); + border-radius: 3px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + background-image: linear-gradient(to bottom, $base_color); + background-color: transparent; + + .title, .label { + color: $fg_color; + } +} + +// +// Wingpanel +// +.panel { + background-color: transparent; + color: white; + font-weight: bold; + text-shadow: 0 1px 2px transparentize(black, 0.4); + icon-shadow: 0 1px 2px transparentize(black, 0.4); +} + +.panel-shadow { + background-image: none; + background-color: transparent; +} + +.panel .menu { + box-shadow: none; +} + +.panel .menu .menuitem { + font-weight: normal; + text-shadow: none; + icon-shadow: none; +} + +.panel .menubar .menuitem:hover { + background-color: transparent; +} + +.panel .window-frame.menu.csd, +.panel .window-frame.popup.csd { + box-shadow: none; +} + +.panel .menu .window-frame.menu.csd, +.panel .menu .window-frame.popup.csd { + box-shadow: 0 0 0 1px transparentize(black, 0.8), + 0 10px 20px transparentize(black, 0.81), + 0 6px 6px transparentize(black, 0.77); +} + +.composited-indicator { + background-color: transparent; + color: white; + text-shadow: 0 1px 2px transparentize(black, 0.4); + icon-shadow: 0 1px 2px transparentize(black, 0.4); +} + +.composited-indicator > GtkWidget > GtkWidget:first-child { + padding: 0 2px; +} + +.panel-app-button > GtkWidget > GtkWidget:first-child { + padding: 0 2px 0 4px; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; + box-shadow: none; +} + +.composited-indicator > .popup > .menu { + padding-top: 8px; + padding-bottom: 8px; +} + +.panel .menu .spinner, +.menu .spinner { opacity: 1 } // Fixes sound indicator buttons + +// +// Pantheon Terminal +// +PantheonTerminalPantheonTerminalWindow.background { + background-color: transparent; + + .titlebar { background-color: $header_bg; } +} + +// +// Switchboard +// +SwitchboardCategoryView .view:selected, +SwitchboardCategoryView .view:selected:focus { + color: $fg_color; +} diff --git a/gtk-3.0/_colors-public.scss b/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..34ace1f --- /dev/null +++ b/gtk-3.0/_colors-public.scss @@ -0,0 +1,46 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS */ + +// Sass thinks we're using the colors in the variables as strings and may shoot +// warning, it's innocuous and can be defeated by using "" + $var +@define-color theme_fg_color #{"" + $fg_color}; +@define-color theme_text_color #{"" + $text_color}; +@define-color theme_bg_color #{"" + $bg_color}; +@define-color theme_base_color #{"" + $base_color}; +@define-color theme_selected_bg_color #{"" + $selected_bg_color}; +@define-color theme_selected_fg_color #{"" + $selected_fg_color}; +@define-color insensitive_bg_color #{"" + $insensitive_bg_color}; +@define-color insensitive_fg_color #{"" + $insensitive_fg_color}; +@define-color insensitive_base_color #{"" + $base_color}; +@define-color theme_unfocused_fg_color #{"" + $fg_color}; +@define-color theme_unfocused_text_color #{"" + $text_color}; +@define-color theme_unfocused_bg_color #{"" + $bg_color}; +@define-color theme_unfocused_base_color #{"" + $base_color}; +@define-color theme_unfocused_selected_bg_color #{"" + $selected_bg_color}; +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; +@define-color borders #{"" + $borders_color}; +@define-color unfocused_borders #{"" + $borders_color}; + +@define-color warning_color #{"" + $warning_color}; +@define-color error_color #{"" + $error_color}; +@define-color success_color #{"" + $success_color}; +//@define-color desctructive_color #{"" + $destructive_color} +@define-color placeholder_text_color #A8A8A8; + +//WM +$wm_highlight: lighten(opacify($header_bg, 1), 4%); +$wm_bg_unfocused: opacify($header_bg, 1); + +@define-color wm_title #{"" + $header_fg}; +@define-color wm_unfocused_title alpha(#{"" + $header_fg}, 0.7); + +@define-color wm_bg #{"" + opacify($header_bg, 1)}; +@define-color wm_bg_unfocused #{"" + $wm_bg_unfocused}; + +@define-color wm_highlight #{"" + $wm_highlight}; +@define-color wm_shadow alpha(black, 0.35); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/gtk-3.0/_colors.scss b/gtk-3.0/_colors.scss new file mode 100644 index 0000000..5a1ad1f --- /dev/null +++ b/gtk-3.0/_colors.scss @@ -0,0 +1,58 @@ +// When color definition differs for dark and light variant, +// it gets @if ed depending on $variant + + +$base_color: #ffffff; +$text_color: #5c616c; +$bg_color: #f9fafb; +$fg_color: #5c616c; + +$selected_fg_color: #ffffff; +$selected_bg_color: #5294E2; +$selected_borders_color: darken($selected_bg_color, 20%); +$borders_color: darken($bg_color,9%); + +$link_color: darken($selected_bg_color,10%); +$link_visited_color: darken($selected_bg_color,20%); + +$selection_mode_bg: transparentize($selected_bg_color, 0.05); +$warning_color: #F27835; +$error_color: #FC4138; +$success_color: #73d216; +$destructive_color: #FA4349; +$suggested_color: #9EA4B5; + +$osd_fg_color: #A8ADB5; +$osd_bg_color: transparentize(#3c4049, 0.05); +$osd_button_bg: darken($osd_bg_color, 3%); + +$osd_insensitive_bg_color: darken($osd_bg_color, 3%); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 30%); +$osd_borders_color: transparentize(black, 0.3); + + +$tooltip_bg: $osd_bg_color; +$tooltip_fg: #edf5fb; +$tooltip_borders_color: transparentize(white, 0.9); + +//insensitive state derived colors +$insensitive_fg_color: transparentize($fg_color, 0.45); +$insensitive_bg_color: mix($bg_color, $base_color, 40%); + + +$entry_bg: $base_color; +$entry_border: #cfd6e6; +$entry_focus_border: $selected_bg_color; + +$button_bg: lighten($bg_color, 1%); +$button_border: $entry_border; + +$header_bg: transparentize(#e7e8eb, 0.05); +$header_fg: saturate(transparentize($fg_color, 0.2), 10%); + +$dark_sidebar_bg: $osd_bg_color; +$dark_sidebar_fg: $osd_fg_color; +$dark_sidebar_border: $dark_sidebar_bg; + +$panel_bg: darken($dark_sidebar_bg, 10%); +$panel_fg: $dark_sidebar_fg; diff --git a/gtk-3.0/_common.scss b/gtk-3.0/_common.scss new file mode 100644 index 0000000..d56bf8d --- /dev/null +++ b/gtk-3.0/_common.scss @@ -0,0 +1,2743 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); + +* { + background-clip: padding-box; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + -GtkPaned-handle-size: 1; + + -GtkCheckButton-indicator-size: 16; + -GtkCheckMenuItem-indicator-size: 16; + + // The size for scrollbars. The slider is 2px smaller, but we keep it + // up so that the whole area is sensitive to button presses for the + // slider. The stepper button is larger in both directions, the slider + // only in the width + + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkScrolledWindow-scrollbars-within-bevel: 1; + + -GtkToolItemGroup-expander-size: 11; + -GtkExpander-expander-size: 16; + -GtkTreeView-expander-size: 11; + + -GtkTreeView-horizontal-separator: 4; + + -GtkMenu-horizontal-padding: 0; + -GtkMenu-vertical-padding: 0; + + -GtkWidget-link-color: $link_color; + -GtkWidget-visited-link-color: $link_visited_color; + + -GtkWidget-focus-padding: 2; // FIXME: do we still need these? + -GtkWidget-focus-line-width: 1; // + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 20; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + -GtkStatusbar-shadow-type: none; + + // We use the outline properties to signal the focus properties + // to the adwaita engine: using real CSS properties is faster, + // and we don't use any outlines for now. + + outline-color: transparentize($fg_color, 0.7); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + outline-radius: 2px; +} + + +/*************** + * Base States * + ***************/ + +.background { + color: $fg_color; + background-color: transparentize($bg_color, 0.001); // without this headerbar transparency doesn't seem to work +} + +/* + These wildcard seems unavoidable, need to investigate. + Wildcards are bad and troublesome, use them with care, + or better, just don't. + Everytime a wildcard is used a kitten dies, painfully. +*/ + +*:insensitive { + -gtk-image-effect: dim; +} + +.gtkstyle-fallback { + background-color: $bg_color; + color: $fg_color; + &:prelight { + background-color: lighten($bg_color, 10%); + color: $fg_color; + } + &:active { + background-color: darken($bg_color, 10%); + color: $fg_color; + } + &:insensitive { + background-color: $insensitive_bg_color; + color: $insensitive_fg_color; + } + &:selected { + background-color: $selected_bg_color; + color: $selected_fg_color; + } +} + +.view { + color: $text_color; + background-color: $base_color; + + &:selected, + &:selected:focus, + &:selected:hover { + @extend %selected_items; + } + &.dim-label { + color: transparentize($text_color, 0.45); + + &:selected, &:selected:focus { + color: transparentize($selected_fg_color, 0.35); + text-shadow: none; + } + } +} + +.rubberband { + border: 1px solid $selected_bg_color; + background-color: transparentize($selected_bg_color,0.8); +} + +.label { + &.separator { + color: $fg_color; + @extend .dim-label; + } + &:selected, + &:selected:focus, + &:selected:hover { + @extend %selected_items; + } + &:insensitive { + color: $insensitive_fg_color; + } +} + +.dim-label { + opacity: 0.55; +} + +GtkAssistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + &:dir(ltr) { border-right: 1px solid $borders_color; } + &:dir(rtl) { border-left: 1px solid $borders_color; } + } + &.csd .sidebar { border-top-style: none; } + .sidebar .label { + padding: 6px 12px; + } + .sidebar .label.highlight { + background-color: $selected_bg_color; + color: $selected_fg_color; + } +} + +GtkTextView { // This will get overridden by .view, needed by gedit line numbers + background-color: mix($bg_color, $base_color, 50%); +} + +.grid-child { + padding: 3px; + border-radius: 3px; + &:selected { + @extend %selected_items; + outline-offset: -2px; + } +} + +%osd, .osd { + color: $osd_fg_color; + border: none; + background-color: $osd_bg_color; + background-clip: padding-box; + outline-color: transparentize($osd_fg_color, 0.7); + box-shadow: none; +} + +/********************** + * Spinner Animations * + **********************/ + +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +.spinner { + background-image: none; + background-color: blue; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:active { + opacity: 1; + animation: spin 1s linear infinite; + + &:insensitive { + opacity: 0.5; + } + } +} + +/**************** + * Text Entries * + ****************/ + +.entry { + border: 1px solid; + padding: 5px 8px 6px; + + border-radius: 15px; + transition: all 200ms $ease-out-quad; + @include entry(normal); + + .header-bar & { padding: 6px 11px; } + + //&.image { // icons inside the entry + // &.left { padding-left: 0; } + // &.right { padding-right: 0; } + //} + &.image { padding-left: 3px; padding-right: 3px; } + + &.flat, &.flat:focus { + padding: 2px; + @include entry(normal); + border: none; + border-radius: 0; + } + + &:focus { @include entry(focus); } + + &:insensitive { @include entry(insensitive); } + + &:selected, + &:selected:focus { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &.progressbar { + margin: 2px; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + background-image: none; + background-color: transparent; + box-shadow: none; + } + + .linked > & { //FIXME: use same buttons linking logic and template + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + &:dir(rtl) { border-right-style: none;} + } + &:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-style: none; + &:dir(rtl) { border-left-style: solid; } + } + } + + &.error { + color: white; + border-color: $error_color; + background-image: linear-gradient(to bottom, mix($error_color, $base_color, 80%)); + &:focus { + background-image: linear-gradient(to bottom, $error_color); + color: white; + } + &:selected, &:selected:focus { + background-color: white; + color: $error_color; + } + } + + &.warning { + color: white; + border-color: $warning_color; + background-image: linear-gradient(to bottom, mix($warning_color, $base_color, 80%)); + &:focus { + background-image: linear-gradient(to bottom, $warning_color); + color: white; + } + &:selected, &:selected:focus { + background-color: white; + color: $warning_color; + } + } + + &.image { // entry icons colors + color: mix($fg_color,$base_color,80%); + &:hover { color: $fg_color; } + &:active { color: $selected_bg_color; } + } + + .linked.vertical > & { //FIXME comment stuff and make the whole thing smarter. + border-bottom-color: mix($borders_color, $base_color, 30%); + box-shadow: none; + @extend %linked_vertical; + + &:focus { + border-color: $selected_bg_color; + box-shadow: 0 -1px 0 0 $selected_bg_color; + @extend %linked_vertical; + } + + &:insensitive { + border-bottom-color: mix($borders_color, $base_color, 30%); + @extend %linked_vertical; + } + + &:first-child { + border-bottom-color: mix($borders_color, $base_color, 30%); + + &:focus { + border-bottom-color: $selected_bg_color; + box-shadow: none; + } + + &:insensitive { + border-bottom-color: mix($borders_color, $base_color, 30%); + @extend %linked_vertical:first-child; + } + } + + &:last-child { + border-bottom-color: rgba(0,0,0,0.14); + &:focus { + border-bottom-color: $selected_bg_color; + box-shadow: 0 -1px 0 0 $selected_bg_color; + @extend %linked_vertical:last-child; + } + + &:insensitive { + border-bottom-color: rgba(0,0,0,0.14); + @extend %linked_vertical:last-child; + + } + } + } + +// .osd & { +// @include entry(osd); +// &:focus { @include entry(osd-focus); } +// &:insensitive { @include entry(osd-insensitive); } +// } +} + +/*********** + * Buttons * + ***********/ + +// stuff for .needs-attention +$_dot_color: $selected_bg_color; + +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.01, + to($_dot_color), + to(transparent)); + } + to { + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($selected_bg_color), + to(transparent)); + } +} + + +.button { + $_button_transition: all 200ms $ease-out-quad; + + transition: $_button_transition; + border: 1px solid; + border-radius: 3px; + padding: 5px 8px; + + .header-bar & { padding: 6px 11px; } + + @include button(normal); + + &.flat { + @include button(undecorated); + background-color: transparentize($bg_color, 1); + // to avoid adiacent buttons borders clashing when transitioning, the transition on the normal state is set + // to none, while it's added back in the hover state, so the button decoration will fade in on hover, but + // it won't fade out when the pointer leave the button allocation area. To make the transition more evident + // in this case the duration is increased. + transition: none; + &:hover { + transition: $_button_transition; + transition-duration: 350ms; + &:active { transition: $_button_transition; } + } + } + &:hover { + @include button(hover); + -gtk-image-effect: highlight; + } + &:active, &:checked { + @include button(active); + transition-duration: 50ms; + } + &.flat:insensitive { + @include button(undecorated); + } + &:insensitive { + @include button(insensitive); + &:active, &:checked { + @include button(insensitive-active); + } + } + // big standalone buttons like in Documents pager + &.osd { + outline-color: transparentize($osd_fg_color, 0.7); + + @include button(osd); + background-color: $osd_bg_color; + + &.image-button { padding: 10px; } + + &:hover { @include button(osd-hover); border-color: transparentize($osd_fg_color, 0.7)} + &:active, &:checked { @include button(osd-active); } + &:insensitive { @include button(osd-insensitive); } + } + + //overlay / OSD style + .osd & { + @include button(osd); + // there's a problem with sass which prevents it to extend the linked + // placeholder as expected, it should just be "@extend %linked;", the + // placeholder is basically replicated here + // + // Workaround START + border-radius: 0; + border-left-style: none; + border-right-style: none; + + &:dir(rtl) { + border-radius: 0; + border-right-style: none; + border-left-style: none + } + &:first-child { + border-radius: 3px 0 0 3px; + border-left-style: solid; + } + &:last-child { + border-radius: 0 3px 3px 0; + border-right-style: solid; + + &:dir(rtl) { border-left-style: solid; } + } + &:only-child { + border-radius: 3px; + border-style: solid; + } + // Workaround END + &:hover { + @include button(osd-hover); + @extend %linked; + } + &:active, &:checked { + @include button(osd-active); + @extend %linked; + } + &:insensitive { + @include button(osd-insensitive); + @extend %linked; + } + + &.flat { + @include button(undecorated); + box-shadow: none; + &:hover { + @include button(osd-hover); + } + &:insensitive { + @include button(osd-insensitive); + background-image: none; + } + &:active, &:checked { + @include button(osd-active); + } + } + } + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $suggested_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + color: $selected_fg_color; + border-color: $b_color; + background-color: $b_color; + + &.flat { + @include button(undecorated); + color: $b_color; + } + &:hover { + color: $selected_fg_color; + border-color: lighten($b_color, 9%); + background-color: lighten($b_color, 9%); + } + &:active, &:checked { + color: $selected_fg_color; + border-color: darken($b_color, 7%); + background-color: darken($b_color, 7%); + } + &.flat:insensitive { + + } + &:insensitive { + color: transparentize($selected_fg_color, 0.4); + border-color: transparentize($b_color, 0.35); + background-color: transparentize($b_color, 0.35); + + &:active, &:checked { + + } + } + } + } + + &.image-button { padding: 8px; } + + .header-bar &.image-button { padding: 6px 9px; } + + &.text-button { + padding-left: 16px; + padding-right: 16px; + } + + .header-bar &.text-button { padding: 6px 16px; } + + &.text-button.image-button { + // those buttons needs uneven horizontal padding, we want the icon side + // to have the image-button padding, while the text side the text-button + // one, so we're adding the missing padding to the label depending on + // its position inside the button + padding: 4px 8px 5px; // same as .button + GtkLabel:first-child { padding-left: 8px; } + GtkLabel:last-child { padding-right: 8px; } + } + + .header-bar &.text-button.image-button { padding: 6px 16px; } + + .stack-switcher > & { + // to position the needs attention dot, padding is added to the button + // child, a label needs just lateral padding while an icon needs vertical + // padding added too. + + outline-offset: -3px; // needs to be set or it gets overridden by GtkRadioButton outline-offset + + > GtkLabel { + padding-left: 6px; // label padding + padding-right: 6px; // + } + > GtkImage { + padding-left: 6px; + padding-right: 6px; + padding-top: 5px; + padding-bottom: 5px; + } + + .header-bar > GtkLabel { padding: 6px 10px; } + + &.text-button { padding: 5px 10px; } + + .header-bar &.text-button { padding: 6px 10px; } + + &.image-button { padding: 1px 3px; } + + &.needs-attention > .label, + &.needs-attention > GtkImage { @extend %needs_attention; } + &.needs-attention:active > .label, + &.needs-attention:active > GtkImage, + &.needs-attention:checked > .label, + &.needs-attention:checked > GtkImage { + animation: none; + background-image: none; + } + } + + %needs_attention { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; + + &:dir(rtl) { + background-position: left 3px, left 4px; + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked { @extend %linked_vertical; } +} + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar GtkToolButton > .button { // redefining the button look is + // needed since those are flat... + @include button(normal); + &:hover { @include button(hover); } + &:active, + &:checked{ @include button(active); } + &:insensitive { @include button(insensitive); } + &:insensitive:active, + &:insensitive:checked { @include button(insensitive-active); } +} + +// More inline toolbar buttons +.inline-toolbar.toolbar GtkToolButton { + & > .button.flat { @extend %linked_middle; } + &:dir(rtl) > .button.flat { @extend %linked_middle:dir(rtl); } + &:first-child > .button.flat { @extend %linked:first-child; } + &:last-child > .button.flat { @extend %linked:last-child; } + &:last-child:dir(rtl) > .button.flat { @extend %linked:last-child:dir(rtl); } + &:only-child > .button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-left-style: none; + border-right-style: none; + + &:hover { + box-shadow: inset 1px 0 $selected_bg_color, inset -1px 0 $selected_bg_color; + } + + &:dir(rtl) { + border-radius: 0; // needed when including %linked_middle:dir(rtl) + } +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-radius: 3px 0 0 3px; + border-left-style: solid; + + &:hover { box-shadow: inset -1px 0 $selected_bg_color; } + } + &:last-child { + border-radius: 0 3px 3px 0; + border-right-style: solid; + + &:hover { box-shadow: inset 1px 0 $selected_bg_color; } + + &:dir(rtl) { border-bottom-left-radius: 0; } + + } + &:only-child { + border-radius: 3px; + border-style: solid; + + &:hover { box-shadow: none; } + } +} + +%linked_vertical_middle { + border-style: solid; + border-bottom-style: none; + border-top-style: none; + border-radius: 0; + + &:hover { box-shadow: inset 0 1px $selected_bg_color, inset 0 -1px $selected_bg_color; } +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-radius: 3px 3px 0 0; + border-top-style: solid; + + &:hover { box-shadow: inset 0 -1px $selected_bg_color; } + } + &:last-child { + border-radius: 0 0 3px 3px; + border-bottom-style: solid; + + &:hover { box-shadow: inset 0 1px $selected_bg_color; } + } + &:only-child { + border-radius: 3px; + border-style: solid; + + &:hover { box-shadow: none; } + } +} + +%undecorated_button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: none; +} + +/* menu buttons */ +.menuitem.button.flat { + transition: none; + @extend %undecorated_button; + outline-offset: -1px; + border-radius: 2px; + + &:hover { background-color: mix($fg_color,$bg_color,5%); } + &:selected, &:checked, &:active { + @extend %selected_items; + } +} + +/********* + * Links * + *********/ + +*:link { + color: $link_color; + &:visited { + color: $link_visited_color; + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 60%); } + } + &:hover { + color: lighten($link_color,10%); + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 90%); } + } + &:active { + color: $link_color; + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } + } + &:selected, *:selected & { + color: mix($selected_fg_color, $selected_bg_color, 80%); + } +} + +.button:link, .button:visited { + @extend %undecorated_button; + @extend *:link; + &:hover, &:active, &:checked { + @extend %undecorated_button; + } +} + +/***************** + * GtkSpinButton * + *****************/ + +.spinbutton { + border-radius: 3px; + + .button { + background-image: none; + border: 1px solid transparentize($borders_color,0.4); + border-style: none none none solid; + color: mix($fg_color,$base_color,95%); + border-radius: 0; + box-shadow: none; + // padding-left: 6px; + // padding-right: 6px; + &:dir(rtl) { border-style: none solid none none; } + &:first-child { color: red; } + &:hover { + color: $selected_bg_color; + } + &:insensitive { + color: $insensitive_fg_color; + } + &:active { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + +// .osd & { +// .button { +// @include button(undecorated); +// color: $osd_fg_color; +// border-style: none none none solid; +// border-color: transparentize($osd_borders_color, 0.3); +// border-radius: 0; +// box-shadow: none; +// &:dir(rtl) { border-style: none solid none none; } +// &:hover { +// @include button(undecorated); +// color: $osd_fg_color; +// border-color: transparentize(opacify($osd_borders_color, 1), 0.5); +// background-color: transparentize($osd_fg_color, 0.9); +// box-shadow: none; +// } +// &:insensitive { +// @include button(undecorated); +// color: $osd_insensitive_fg_color; +// border-color: transparentize(opacify($osd_borders_color, 1), 0.5); +// box-shadow: none; +// } +// &:last-child { border-radius: 0 2px 2px 0; } +// &:dir(rtl):first-child { border-radius: 2px 0 0 2px; } +// } +// } + + &.vertical, &.vertical:dir(rtl) { + .button { + &:first-child { + @extend %top_button; + @include button(normal); + &:active { + @extend %top_button; + @include button(active); + } + &:hover { + @extend %top_button; + @include button(hover); + } + &:insensitive { + @extend %top_button; + @include button(insensitive); + } + } + &:last-child { + @extend %bottom_button; + @include button(normal); + &:active { + @extend %bottom_button; + @include button(active); + } + &:hover { + @extend %bottom_button; + @include button(hover); + } + &:insensitive { + @extend %bottom_button; + @include button(insensitive); + } + } + } + &.entry { + // we should remove the bottom edge hilight here, but seems + // like buttons are on top of it so it doesn't show up + border-radius: 0; + padding-left: 5px; + padding-right: 5px; + } + %top_button { + border-radius: 2px 2px 0 0; + border-style: solid solid none solid; + } + %bottom_button { + border-radius: 0 0 2px 2px; + border-style: none solid solid solid; + } + } + GtkTreeView & { + &.entry, &.entry:focus { + padding: 1px; + border-width: 1px 0; + border-color: $selected_bg_color; + border-radius: 0; + box-shadow: none; + } + } +} + +/************** + * ComboBoxes * + **************/ +GtkComboBox { + > .button { padding-top: 3px; padding-bottom: 4px; } // Otherwise combos + // are bigger then + // buttons + -GtkComboBox-arrow-scaling: 0.5; + -GtkComboBox-shadow-type: none; + + &:insensitive { + color: $insensitive_fg_color; + } + + .separator.vertical { + // always disable separators + -GtkWidget-wide-separators: true; + } + + &.combobox-entry .entry { + @extend %linked; + + border-right-style: none; + &:dir(rtl) { border-left-style: none; } + } + + &.combobox-entry .button { + @extend %linked; + + color: transparentize($fg_color, 0.4); + background-color: $button_border; + border-color: $button_border; + + &:hover { + background-color: lighten($button_border, 5%); + border-color: $selected_bg_color; + box-shadow: -1px 0 $selected_bg_color; + } + + &:active, &:checked { @include button(active); } + + &:insensitive { opacity: 0.5 } + } +} + +.linked > GtkComboBox > .button { + // the combo is a composite widget so the way we do button linking doesn't + // work, special case needed. See + // https://bugzilla.gnome.org/show_bug.cgi?id=733979 + &:dir(ltr) { @extend %linked_middle; } // specificity bump + &:dir(rtl) { @extend %linked_middle:dir(rtl); } +} +.linked > GtkComboBox:first-child > .button { + @extend %linked:first-child; +} +.linked > GtkComboBox:last-child > .button { + @extend %linked:last-child; +} +.linked > GtkComboBox:only-child > .button { + @extend %linked:only-child; +} +.linked.vertical > GtkComboBoxText > .button, +.linked.vertical > GtkComboBox > .button { @extend %linked_vertical_middle; } +.linked.vertical > GtkComboBoxText:first-child > .button, +.linked.vertical > GtkComboBox:first-child > .button { @extend %linked_vertical:first-child; } +.linked.vertical > GtkComboBoxText:last-child > .button, +.linked.vertical > GtkComboBox:last-child > .button { @extend %linked_vertical:last-child; } +.linked.vertical > GtkComboBoxText:only-child > .button, +.linked.vertical > GtkComboBox:only-child > .button { @extend %linked_vertical:only-child; } + +/************ + * Toolbars * + ************/ +.toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; + .osd &, &.osd { + padding: 7px; + border: none; + border-radius: 4px; + background-color: $osd_bg_color; + } +} + +.primary-toolbar { + color: $header_fg; + background-color: opacify($header_bg, 1); + box-shadow: none; + border-width: 0 0 1px 0; + border-style: solid; + border-image: linear-gradient(to bottom, opacify($header_bg, 1), + darken($header_bg, 7%)) 1 0 1 0; //temporary hack for rhythmbox 3.1 + + &:backdrop { background-color: lighten(opacify($header_bg, 1), 3%); } + + .separator { @extend %header_separator; } + + @extend %header_widgets; +} + +.inline-toolbar { + @extend .toolbar; + background-color: darken($bg_color, 3%); + border-style: solid; + border-color: $borders_color; + border-width: 0 1px 1px; + padding: 3px; + border-radius: 0 0 3px 3px; +} + +.search-bar { + background-color: $bg_color; + border-style: solid; + border-color: $borders_color; + border-width: 0 0 1px; + padding: 3px; + //box-shadow: inset 0 1px 2px rgba(0,0,0,0.25); +} + +.action-bar { background-color: darken($bg_color, 3%) } + +/*************** + * Header bars * + ***************/ + +.header-bar { + padding: 7px 7px 6px 7px; + + border-width: 0 0 1px; + border-style: solid; + border-radius: 0; + border-color: darken($header_bg, 7%); + + color: $header_fg; + background-color: $header_bg; + + &:backdrop { + color: transparentize($header_fg, 0.3); + background-color: lighten($header_bg, 3%); + } + + .title { + font-weight: bold; + padding: 0px 12px; + } + + .subtitle { + font-size: smaller; + padding: 0 12px; + @extend .dim-label; + } + + // Selectionmode + &.selection-mode { + color: $selected_fg_color; + background-color: $selection_mode_bg; + border-color: darken($selection_mode_bg, 4%); + box-shadow: none; + + &:backdrop { background-color: $selection_mode_bg; } + + .subtitle:link { @extend *:link:selected; } + + .button { + @extend %selected-button + } + + .selection-menu { + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + padding-top: 12px; + padding-bottom: 12px; + GtkArrow { -GtkArrow-arrow-scaling: 1; } + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + } + .maximized & { background-color: opacify($selection_mode_bg, 1); } + } + + .tiled &, .tiled &:backdrop, + .maximized &, .maximized &:backdrop { + border-radius: 0; // squared corners when the window is max'd or tiled + } + + .maximized & { + background-color: opacify($header_bg, 1); + + &:backdrop { background-color: opacify(lighten($header_bg, 3%), 1); } + } + + &.default-decoration { + padding-top: 5px; // less padding for ssd + padding-bottom: 5px; // + background-color: opacify($header_bg, 1); + border-bottom: none; + + &:backdrop { background-color: lighten(opacify($header_bg, 1), 3%); } + } +} + +.titlebar { + padding-left: 7px; + padding-right: 7px; + border-radius: 4px 4px 0 0; + color: $header_fg; + box-shadow: inset 0 1px lighten($header_bg, 3%); + + &:backdrop { color: transparentize($header_fg, 0.3); } +} + +// Only extending .header-bar avoids some problems (Gnome Documents searchbar) +.header-bar { + .header-bar-separator, + & > GtkBox > .separator.vertical { @extend %header_separator; } + + @extend %header_widgets; +} + +%header_separator { + -GtkWidget-wide-separators: true; + -GtkWidget-separator-width: 1px; + border-width: 0 1px; + border-image: linear-gradient(to bottom, + transparentize($header_fg, 1) 25%, + transparentize($header_fg, 0.65) 25%, + transparentize($header_fg, 0.65) 75%, + transparentize($header_fg, 1) 75%) 0 1/0 1px stretch; + + &:backdrop { opacity: 0.6; } +} + +%header_widgets { + // Header-bar Entries + .entry { + @include entry(header-normal); + + &:backdrop { opacity: 0.85; } + + &:focus { @include entry(header-focus); } + &:insensitive { @include entry(header-insensitive); } + + &:selected:focus { + background-color: $selected_fg_color; + color: $selected_bg_color; + } + } + + // Header-bar Buttons + .button { + + @include button(header-normal); + + &:backdrop { opacity: 0.7; } + + &:hover { @include button(header-hover); } + &:active, &:checked { @include button(header-active); } + &:insensitive { @include button(header-insensitive); } + &:insensitive:active, &:insensitive:checked { @include button(header-insensitive-active); } + } + + .linked > .button { border-radius: 3px; border-style: solid} + + .linked > .button:hover { box-shadow: none; } + + .linked.stack-switcher > .button, + .linked.path-bar > .button { + @include button(header-hover); + + &:hover { border-color: $selected_bg_color; } + &:active, &:checked { @include button(header-active); } + + @extend %linked; + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $suggested_color), + (destructive-action, $destructive_color) { + .button.#{$b_type} { + color: $selected_fg_color; + border-color: $b_color; + background-color: $b_color; + + &.flat { + @include button(undecorated); + color: $b_color; + } + &:hover { + color: $selected_fg_color; + border-color: lighten($b_color, 9%); + background-color: lighten($b_color, 9%); + } + &:active, &:checked { + color: $selected_fg_color; + border-color: darken($b_color, 7%); + background-color: darken($b_color, 7%); + } + &.flat:insensitive { + + } + &:insensitive { + color: transparentize($selected_fg_color, 0.4); + border-color: transparentize($b_color, 0.35); + background-color: transparentize($b_color, 0.35); + + &:active, &:checked { + + } + } + } + .button.#{$b_type}:backdrop, + .button.#{$b_type}:backdrop { + opacity: 0.8; + } + } + + // Header-bar Spinbuttons + & .spinbutton { + + &:focus .button { color: $selected_fg_color; } + + .button { + color: $header_fg; + + &:hover { background-color: rgba(255,255,255,0.1); border-color: transparent; } + &:insensitive { color: transparentize($header_fg, 0.3); } + &:active { background-color: rgba(0,0,0,0.1); } + } + } + + // Header-bar ComboBoxes + & GtkComboBox{ + &:insensitive { color: transparentize($header_fg, 0.6); } + + &.combobox-entry .button { + @include entry(header-normal); + + &:hover { @include entry(header-focus); } + &:insensitive { @include entry(header-insensitive); } + } + } + + // Header-bar Switches + GtkSwitch { + &:backdrop { opacity: 0.75; } + } + + GtkProgressBar { + + &.trough { background-color: transparentize($header_fg, 0.65); } + + &:backdrop { opacity: 0.75; } + } + + .scale { + + &:backdrop { opacity: 0.75; } + + &.trough { + background-image: linear-gradient(to bottom, transparentize($header_fg, 0.65)); + + &:insensitive { background-image: linear-gradient(to bottom, transparentize($header_fg, 0.7)); } + } + &.slider { + background-image: linear-gradient(to bottom, mix($base_color, $header_bg, 90%)); + + &:insensitive { background-image: linear-gradient(to bottom, mix($base_color, $header_bg, 40%)); } + } + } +} + +/************ + * Pathbars * + ************/ + +.path-bar .button { + //padding: 5px 6px 6px; + &:first-child { padding-left: 8px; } + &:last-child { padding-right: 8px; } + &:only-child { + padding-left: 12px; + padding-right: 12px; + } + + // the following is for spacing the icon and the label inside the home button + GtkLabel:last-child { padding-left: 2px; } + GtkLabel:first-child { padding-right: 2px; } + GtkLabel:only-child { padding-right: 0; padding-left: 0; } + //GtkImage { padding-top: 1px; } +} + +/************** + * Tree Views * + **************/ +GtkTreeView.view { // treeview grid lines and expanders, unfortunatelly + // the tree lines color can't be set + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; + + border-left-color: transparentize($fg_color, 0.85); // this is actually the tree lines color, + border-top-color: transparentize(black, 0.9); // while this is the grid lines color, better then nothing + + &:selected { + border-radius: 0; + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + + &:insensitive { + color: $insensitive_fg_color; + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + } + } + + &.dnd { + border-style: solid none; + border-width: 1px; + border-color: mix($fg_color, $selected_bg_color, 50%); + } + + &.expander { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); } + + color: mix($fg_color, $base_color, 50%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + &:hover { color: $selected_fg_color; } + } + + &:checked { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + } + + &.progressbar { // progress bar in treeviews + color: $selected_fg_color; + border-radius: 3px; + + &:selected { + color: $selected_bg_color; + box-shadow: none; + background-color: $selected_fg_color; + } + } + + &.trough, &.trough:selected { // progress bar trough in treeviews + background-color: $button_border; + border-radius: 3px; + border-width: 0; + } +} + +column-header { + .button { + @extend %column_header_button; + $_column_header_color: mix($fg_color,$base_color,80%); + color: $_column_header_color; + background-color: $base_color; + &:hover { + @extend %column_header_button; + color: $selected_bg_color; + box-shadow: none; + transition: none; //I shouldn't need this + } + &:active { + @extend %column_header_button; + color: $fg_color; + transition: none; //I shouldn't need this + } + &.dnd { + @extend column-header.button.dnd; + } + } + &:last-child .button, + &:last-child.button { //treeview-like derived widgets in Banshee and Evolution + border-right-style: none; + border-image: none; + } +} + +column-header.button.dnd { // for treeview-like derive widgets + transition: none; + color: $selected_bg_color; + box-shadow: inset 1px 1px 0 1px $selected_bg_color, + inset -1px 0 0 1px $selected_bg_color, + inset 1px 1px $base_color, inset -1px 0 $base_color;; + &:active { @extend column-header.button.dnd; } + &:selected { @extend column-header.button.dnd; } + &:hover { @extend column-header.button.dnd; } +} + +%column_header_button { + padding: 3px 6px; + background-image: none; + border-style: none solid none none; + border-radius: 0; + border-image: linear-gradient(to bottom, + transparentize(black, 1) 20%, + transparentize(black, 0.89) 20%, + transparentize(black, 0.89) 80%, + transparentize(black, 1) 80%) 0 1 0 0 / 0 1px 0 0 stretch; + + &:active { background-color: $base_color; } + &:insensitive { + border-color: $bg_color; + background-image: none; + } +} + +/********* + * Menus * + *********/ +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + background-color: opacify($header_bg, 1); + color: $header_fg; + + &:backdrop { background-color: lighten(opacify($header_bg, 1), 3%); } + + & > .menuitem { + padding: 6px 8px; + border: solid transparent; + border-width: 0; + + &:hover { //Seems like it :hover even with keyboard focus + background-color: $selected_bg_color; + color: $selected_fg_color; + } + &:insensitive { + color: transparentize($header_fg, 0.6); + border-color: transparent; + } + } +} + +.menu, .popup { + margin: 4px; + padding: 0; + border-radius: 0; + background-color: $base_color; + border: 1px solid $borders_color; + + .csd & { + padding: 4px 0px; + border-radius: 3px; + border: none; + } + + .menuitem { + padding: 5px; + &:hover { + color: $fg_color; + background-color: transparentize(black, 0.96); + border: solid transparentize(black, 0.92); + border-width: 1px 0 1px 0; + } + &:insensitive { + color: $insensitive_fg_color; + } + + &.separator { color: $base_color; } + + //submenu indicators + &.arrow { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + &.arrow:dir(rtl) {-gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); } + } + &.button { // overlow buttons + @extend %undecorated_button; + border-style: none; + border-radius: 0; + &.top { border-bottom: 1px solid mix($fg_color, $base_color, 10%); } + &.bottom { border-top: 1px solid mix($fg_color, $base_color, 10%); } + &:hover { background-color: mix($fg_color, $base_color, 10%); } + &:insensitive { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +.menuitem .accelerator { color: gtkalpha(currentColor,0.55); } + +/************ + * Popovers * + ************/ + +.popover { + padding: 2px; + border: 1px solid darken($borders_color, 5%); + border-radius: 3px; + background-clip: border-box; + background-color: $base_color; + + box-shadow: 0 2px 6px 1px transparentize(black, 0.93); + + & .separator { color: transparentize(black, 1); } + .label.separator { @extend .label.separator; } // Noice + + > .list, + > .view, + > .toolbar, + &.osd > .toolbar { + border-style: none; + background-color: transparent; + } + &.osd { @extend %osd; } +} + +//touch selection handlebars for the Popover.osd above +.entry.cursor-handle, +.cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + &.top { -gtk-icon-source: -gtk-icontheme('selection-start-symbolic'); } + &.bottom { -gtk-icon-source: -gtk-icontheme('selection-end-symbolic'); } +} + +/***************** + * Notebooks and * + * Tabs * + *****************/ + +.notebook { + // Through me you go to the grief wracked city; + // Through me you go to everlasting pain; + // Through me you go a pass among lost souls. + // ... + // Abandon all hope — Ye Who Enter Here + padding: 0; + background-color: darken($base_color, 0.5%); + -GtkNotebook-initial-gap: 10; + -GtkNotebook-arrow-spacing: 5; + -GtkNotebook-tab-curvature: 0; + -GtkNotebook-tab-overlap: -8; + -GtkNotebook-has-tab-gap: false; + -GtkWidget-focus-padding: 0; + -GtkWidget-focus-line-width: 0; + transition: all 200ms $ease-out-quad; + + &.frame { + border: 1px solid $borders_color; + // FIXME doesn't work + &.top { border-top-width: 0; } + &.bottom { border-bottom-width: 0; } + &.right { border-right-width: 0; } + &.left { border-left-width: 0; } + } + &.header { + // FIXME: double borders in some case, can't fix it w/o a class tho + // FIXME: doesn't work on dark var + background-color: $base_color; + + // this is the shading of the header behind the tabs + &.frame { + border: 1px solid $borders_color; + &.top { border-bottom-width: 0; } + &.bottom { border-top-width: 0; } + &.right { border-left-width: 0; } + &.left { border-right-width: 0; } + } + + $_header_border: lighten($borders_color, 5%); + &.top { + box-shadow: inset 0 -1px $_header_border; // border + } + &.bottom { + box-shadow: inset 0 1px $_header_border; + } + &.right { + box-shadow: inset 1px 0 $_header_border; + } + &.left { + box-shadow: inset -1px 0 $_header_border; + } + } + tab { + border-width: 0; + border-style: solid; + border-color: transparent; + background-color: transparent; + outline-color: transparent; + + outline-offset: 0; + + //vertical tab sizing + $vt_vpadding: 5px; + $vt_hpadding: 20px; + // horizontal tab sizing + $ht_vpadding: 5px; + $ht_hpadding: 20px; + + //FIXME: we get double border in some cases, not considering the broken + //notebook content frame... + &.top, &.bottom { padding: $vt_vpadding $vt_hpadding; } + &.left, &.right { padding: $ht_vpadding $ht_hpadding; } + + &.reorderable-page { + &.top, &.bottom { + padding-left: 12px; // for a nicer close button + padding-right: 12px; // placement + //border-left-width: 1px; + //border-right-width: 1px; + } + &.left, &.right { + //border-bottom-width: 1px; + //border-top-width: 1px; + } + } + @each $_tab in (top, bottom, right, left) { + &.reorderable-page.#{$_tab}, &.#{$_tab} { + border-color: transparent; + &:hover, &.prelight-page { + border-color: transparentize($borders_color, 0.5); + border-width: 1px; + border-#{$_tab}-width: 0; + background-color: transparentize($bg_color,0.8); + } + &:active, &.active-page, &.active-page:hover { + border-width: 1px; + border-#{$_tab}-width: 0; + border-color: $borders_color; + background-color: transparentize(black, 0.98); + &:hover { background-color: transparentize(black, 0.98); } + } + } + } + GtkLabel { //tab text + padding: 0 2px; // needed for a nicer focus ring + font-weight: bold; + color: $insensitive_fg_color; + } + .prelight-page GtkLabel, GtkLabel.prelight-page { + // prelight tab text + color: mix($fg_color, $insensitive_fg_color, 50%); + } + .active-page GtkLabel, GtkLabel.active-page { + // active tab text + color: $fg_color; + } + .button { //tab close button + padding: 0; + @extend %undecorated_button; + color: mix($bg_color, $fg_color, 35%); + + &:hover { + color: lighten(red, 15%); + } + &:active { + color: $selected_bg_color; + } + & > GtkImage { // this is a hack which makes tabs grow + padding: 2px; + } + } + } + &.arrow { + color: $insensitive_fg_color; + &:hover { color: mix($fg_color, $insensitive_fg_color, 50%); } + &:active { color: $fg_color; } + &:insensitive { + color: transparentize($insensitive_fg_color,0.7); + } + } +} + +/************** + * Scrollbars * + **************/ + +$_scrollbar_bg_color: darken($base_color, 1%); + +.scrollbar { + -GtkRange-slider-width: 13; + -GtkRange-trough-border: 1; + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + -GtkScrollbar-min-slider-length: 42; // minimum size for the slider. + // sadly can't be in '.slider' + // where it belongs + -GtkRange-stepper-spacing: 0; + -GtkRange-trough-under-steppers: 1; + + $_slider_margin: 3px; + $_slider_fine_tune_margin: 4px; + + .button { + border: none; + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { // Overlay scrolling indicator + opacity: 0.4; + + -GtkRange-slider-width: 6px; + + .slider { + margin: 0; + background-color: mix($fg_color, $bg_color, 70%); + border: 1px solid transparentize(white, 0.4); + background-clip: padding-box; + } + + .trough { + border-style: none; + background-color: transparent; + } + + // w/o the following margin tweaks the slider shrinks when hovering/dragging + &.vertical .slider { + margin-top: $_slider_margin - 1px; + margin-bottom: $_slider_margin - 1px; + } + + &.horizontal .slider { + margin-left: $_slider_margin - 1px; + margin-right: $_slider_margin - 1px; + } + + } + + &.dragging, + &.hovering { opacity: 0.99; } + } + + // trough coloring + .trough { + background-color: $_scrollbar_bg_color; + border: 1px none $borders_color; + } + + // slider coloring + .slider { + background-color: mix($fg_color, $bg_color, 40%); + + &:hover { background-color: mix($fg_color, $bg_color, 30%); } + + &:prelight:active { background-color: $selected_bg_color;} + + &:insensitive { + background-color: transparent; + } + } + + // sizing + .slider { + border-radius: 100px; + margin: $_slider_margin; + } + + &.fine-tune .slider { margin: $_slider_fine_tune_margin; } + + &.vertical { + + .slider { + margin-left: 1px + $_slider_margin; + + &:dir(rtl) { + margin-left: $_slider_margin; + margin-right: 1px + $_slider_margin; + } + } + + &.fine-tune .slider { + margin-left: 1px + $_slider_fine_tune_margin; + + &:dir(rtl) { + margin-left: $_slider_fine_tune_margin; + margin-right: 1px + $_slider_fine_tune_margin; + } + } + + .trough { + border-left-style: solid; + + &:dir(rtl) { + border-left-style: none; + border-right-style: solid; + } + } + } + + &.horizontal { + + .slider { margin-top: 1px + $_slider_margin; } + + &.fine-tune .slider { margin-top: 1px + $_slider_fine_tune_margin; } + + .trough { border-top-style: solid; } + } +} + +.scrollbars-junction, +.scrollbars-junction.frame { // the small square between two scrollbars + border-color: transparent; + // the border image is used to add the missing dot between the borders, details, details, details... + border-image: linear-gradient(to bottom, $borders_color 1px, transparent 1px) 0 0 0 1 / 0 1px stretch; + background-color: $_scrollbar_bg_color; + + &:dir(rtl) { border-image-slice: 0 1 0 0; } +} + + +/********** + * Switch * + **********/ +GtkSwitch { + font: 1; + -GtkSwitch-slider-width: 41; + + &.trough, &.slider { + background-size: 52px 24px; + background-repeat: no-repeat; + background-position: right center; + color: transparent; + border-color: transparent; + border-image: none; + border-style: none; + box-shadow: none; + + &:dir(rtl) { background-position: left center; } + } +} + +@each $i,$j in ('',''), ('.header-bar ','-header'), ('.list-row:selected ','-selected') { + + @each $k,$l in ('',''), + (':active','-active'), + (':insensitive','-insensitive'), + (':active:insensitive','-active-insensitive') { + + // load switch troughs from .png files in assets directory + + #{$i}GtkSwitch.trough#{$k} { + background-image: -gtk-scaled(url("assets/switch#{$l}#{$j}.png"),url("assets/switch#{$l}#{$j}@2.png")); + } + + // load switch sliders from .png files in assets directory + + //#{$i}GtkSwitch.slider#{$k} { + // background-image: -gtk-scaled(url("assets/switch-slider#{$l}#{$j}.png"),url("assets/switch-slider#{$l}#{$j}@2.png")); + //} + } +} + +/************************* + * Check and Radio items * + *************************/ + +// draw regular check and radio items using our PNG assets +// all assets are rendered from assets.svg. never add pngs directly + +@each $w,$a in ('check', 'checkbox'), + ('radio','radio') { + + //standard checks and radios + @each $s,$as in ('','-unchecked'), + (':insensitive','-unchecked-insensitive'), + (':inconsistent', '-mixed'), + (':inconsistent:insensitive', '-mixed-insensitive'), + (':checked', '-checked'), + (':checked:insensitive','-checked-insensitive') { + .#{$w}#{$s} { + -gtk-icon-source: -gtk-scaled(url("assets/#{$a}#{$as}.png"), + url("assets/#{$a}#{$as}@2.png")); + } + // the borders of checks and radios are + // too similar in luminosity to the selected background color, hence + // we need special casing. + GtkTreeView.view.#{$w}#{$s}:selected, + .list-row:selected .#{$w}#{$s} { + -gtk-icon-source: -gtk-scaled(url("assets/#{$a}#{$as}-selected.png"), + url("assets/#{$a}#{$as}-selected@2.png")); + } + } +} + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':checked', '-checked-selectionmode') { + GtkIconView.view.check#{$s}, + GtkFlowBox.view.check#{$s} { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +GtkCheckButton.text-button, GtkRadioButton.text-button { + // this is for a nice focus on check and radios text + padding: 1px 2px 4px; + outline-offset: 0; + &:insensitive, + &:insensitive:active, + &:insensitive:inconsistent { + // set insensitive color, which is overriden otherwise + color: $insensitive_fg_color; + } +} + +/************ + * GtkScale * + ************/ +.scale { + -GtkScale-slider-length: 15; + -GtkRange-slider-width: 15; + -GtkRange-trough-border: 0; + outline-offset: -1px; + outline-radius: 2px; + //@include _shadows(_button_shadow(normal)); + + &.trough { margin: 5px; } + &.fine-tune { + &.trough { border-radius: 5px; margin: 3px; } + } + &.slider { + background-clip: border-box; + background-image: linear-gradient(to bottom, $base_color); + border: 1px solid $selected_bg_color; + border-radius: 50%; + box-shadow: none; + + &:hover { + background-image: linear-gradient(to bottom, $selected_bg_color); + border-color: $selected_bg_color; + } + &:insensitive { + background-image: linear-gradient(to bottom, mix($base_color, $bg_color, 55%)); + border-color: mix($selected_bg_color, $bg_color, 55%); + } + &:active { + background-image: linear-gradient(to bottom, darken($selected_bg_color, 10%)); + border-color: darken($selected_bg_color, 10%); + } + //OSD sliders + .osd & { + background-image: linear-gradient(to bottom, $osd_bg_color); + border-color: $selected_bg_color; + + &:hover { background-image: linear-gradient(to bottom, $selected_bg_color); } + &:active { + background-image: linear-gradient(to bottom, darken($selected_bg_color, 10%)); + border-color: darken($selected_bg_color, 10%); + } + } + //selected list-row sliders + .list-row:selected & { + background-image: linear-gradient(to bottom, $selected_fg_color); + border-color: $selected_fg_color; + + &:hover { + background-image: linear-gradient(to bottom, mix($selected_fg_color, $selected_bg_color, 85%)); + border-color: mix($selected_fg_color, $selected_bg_color, 85%); + } + &:active { + background-image: linear-gradient(to bottom, mix($selected_fg_color, $selected_bg_color, 50%)); + border-color: mix($selected_fg_color, $selected_bg_color, 50%); + } + &:insensitive{ + background-image: linear-gradient(to bottom, mix($selected_fg_color, $selected_bg_color, 55%)); + border-color: mix($selected_fg_color, $selected_bg_color, 55%); + } + } + } + &.trough { + border: none; + border-radius: 2.5px; + background-image: linear-gradient(to bottom, $button_border); + &.highlight { + background-image: linear-gradient(to bottom, $selected_bg_color); + + &:insensitive { + background-image: linear-gradient(to bottom, transparentize($selected_bg_color, 0.45)); + } + } + &:insensitive { + background-image: linear-gradient(to bottom, transparentize($button_border, 0.45)); + } + + //OSD troughs + .osd & { + background-image: linear-gradient(to bottom, lighten($osd_bg_color, 7%)); + outline-color: transparentize($osd_fg_color, 0.8); + &.highlight { + background-image: none; + background-image: linear-gradient(to bottom, $selected_bg_color); + } + &:insensitive { } + } + // troughs in selected list-rows + .list-row:selected & { + background-image: linear-gradient(to bottom, transparentize(black, 0.8)); + + &.highlight { + background-image: linear-gradient(to bottom, $selected_fg_color); + + &:insensitive { background-image: linear-gradient(to bottom, mix($selected_fg_color, $selected_bg_color, 55%)); } + } + &:insensitive { background-image: linear-gradient(to bottom, transparentize(black, 0.9)); } + } + } +} + +/***************** + * Progress bars * + *****************/ + +GtkProgressBar { + padding: 0; + font-size: smaller; + color: transparentize($fg_color, 0.3); + //@include _shadows(_button_shadow(normal)); + + &.osd { + -GtkProgressBar-xspacing: 0; + -GtkProgressBar-yspacing: 0; + -GtkProgressBar-min-horizontal-bar-height: 3; + } +} + +// moving bit +.progressbar { + background-color: $selected_bg_color; + border: none; + border-radius: 3px; + box-shadow: none; //needed for clipping + &.left.right { + + } + &.osd { + background-color: $selected_bg_color; + } +} + +.osd .scale.progressbar { + background-color: $selected_bg_color; +} + +// background +GtkProgressBar.trough { + border: none; + border-radius: 3px; + background-color: $button_border; + + &.osd { + border-style: none; + background-color: transparent; + box-shadow: none; + //FIXME: there is a margin on top + } +} + +/************* + * Level Bar * + *************/ + +GtkLevelBar { + -GtkLevelBar-min-block-width: 34; + -GtkLevelBar-min-block-height: 3; +} + +GtkLevelBar.vertical { + -GtkLevelBar-min-block-width: 3; + -GtkLevelBar-min-block-height: 34; +} + +.level-bar { + &.trough { + @extend GtkProgressBar.trough; + padding: 3px; + border-radius: 4px; + } + &.fill-block { + // FIXME: it would be nice to set make fill blocks bigger, but we'd need + // :nth-child working on discrete indicators + border: 1px solid $selected_bg_color; + background-color: $selected_bg_color; + border-radius: 2px; + + &.indicator-discrete { + &.horizontal { margin: 0 1px; } + &.vertical { margin: 1px 0; } + } + &.level-high { + border-color: $success_color; + background-color: $success_color; + } + &.level-low { + border-color: $warning_color; + background-color: $warning_color; + } + &.empty-fill-block { + background-color: transparentize($fg_color,0.8); + border-color: transparentize($fg_color,0.8); + } + } +} + + +/********** + * Frames * + **********/ +.frame { + border: 1px solid $borders_color; + &.flat { border-style: none; } + padding: 0; + &.action-bar { + padding: 6px; + border-width: 1px 0 0; + } +} + +GtkScrolledWindow { + GtkViewport.frame { // avoid double borders when viewport inside + // scrolled window + border-style: none; + } +} + +//vbox and hbox separators +.separator { + // always disable separators + // -GtkWidget-wide-separators: true; + color: transparentize(black, 0.9); + + // Font and File button separators + GtkFileChooserButton &, + GtkFontButton &, + GtkFileChooserButton &.vertical, + GtkFontButton &.vertical { + // always disable separators + -GtkWidget-wide-separators: true; + } +} + +/********* + * Lists * + *********/ + +.list, .list-row { + background-color: $base_color; + border-color: $borders_color; +} + +.list-row, +.grid-child { + padding: 2px; +} + +.list-row.button { + @extend %undecorated_button; + background-color: transparentize(black, 1); // for the transition + border-style: none; // I need no borders here + border-radius: 0; // and no rounded corners + box-shadow: none; // and no box-shadow + &:hover { + background-color: transparentize(black, 0.95); + } + &:active { + color: $fg_color; + } + &:selected { + &:active { color: $selected_fg_color; } + &:hover { background-color: mix(black, $selected_bg_color, 10%); } + &:insensitive { + color: transparentize($selected_fg_color, 0.3); + background-color: transparentize($selected_bg_color, 0.3); + .label { color: inherit; } + } + } +} + +.list-row:selected { + @extend %selected_items; + .button { @extend %selected-button } +} + +// transition +.list-row, list-row.button { + transition: all 300ms $ease-out-quad; + &:hover { transition: none; } +} + +/********************* + * App Notifications * + *********************/ + +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 2.5px 2.5px; + border-width: 0 1px 1px; + border-style: solid; + border-color: rgba(0,0,0,0.2); + background-color: $base_color; + + background-clip: padding-box; +} + +/************* + * Expanders * + *************/ + +.expander { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); } + &:hover { color: lighten($fg_color,30%); } //only lightens the arrow + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } +} + +/************ + * Calendar * + ***********/ +GtkCalendar { + border: 1px solid $borders_color; + border-radius: 3px; + padding: 2px; + + &:selected { + background-color: $selected_bg_color; + color: $selected_fg_color; + border-radius: 1.5px; + } + &.header { + color: $fg_color; + border: none; + border-radius: 0; + } + &.button, &.button:focus { + color: transparentize($fg_color,0.55); + box-shadow: none; + border: none; + &:hover { + color: $fg_color; + } + } + &.highlight { color: gtkalpha(currentColor,0.55); } +} + +/*********** + * Dialogs * + ***********/ +.message-dialog .dialog-action-area .button { + padding: 8px; +} + +.message-dialog { // Message Dialog styling + -GtkDialog-button-spacing: 0; + + .titlebar { background-color: $header_bg; border-bottom: 1px solid darken($header_bg, 7%) } + + &.csd { // rounded bottom border styling for csd version + &.background { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border: none; + } + .dialog-action-area .button { + padding: 8px; + border-radius: 0; + + @extend %middle_button; + + &:hover, &:active, &:insensitive { + @extend %middle_button; + } + + &:focus { + color: $selected_bg_color; + + &:active, &:checked { color: $selected_fg_color; } + } + +// @each $b_type, $b_color in (suggested-action, $selected_bg_color), +// (destructive-action, $destructive_color) { +// &.#{$b_type} { +// @include button(normal, $b_color, white, $edge:none); +// @extend %middle_button; +// &:hover { +// @include button(hover, $b_color, white, $edge:none); +// @extend %middle_button; +// } +// &:active { +// @include button(active, $b_color, white, $edge:none); +// @extend %middle_button; +// } +// &:insensitive { +// @include button(insensitive, $edge:none); +// @extend %middle_button; +// } +// } +// } + &:first-child{ @extend %first_button; } + &:last-child { @extend %last_button; } + } + %middle_button { + border-right-style: none; + border-bottom-style: none; + } + %last_button { + border-bottom-right-radius: 3px; + } + %first_button { + border-left-style: none; + border-bottom-left-radius: 3px; + } + } +} + +GtkFileChooserDialog { + .search-bar { + background-color: $bg_color; + border-color: $borders_color; + box-shadow: none; + } + .dialog-action-box { + border-top: 1px solid $borders_color; + } +} + +/*********** + * Sidebar * + ***********/ +.sidebar { + border: none; + background-color: $bg_color; + + &:selected { + background-color: $selected_bg_color; + } +} + +// Places sidebar is a special case, since the view here have to look like chrome not content, so we override text color +GtkPlacesSidebar.sidebar .view { + + color: $fg_color; + background-color: transparent; + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } + + &.separator { @extend .separator; } +} + +.sidebar-item { + padding: 10px 4px; + > GtkLabel { + padding-left: 6px; + padding-right: 6px; + } + &.needs-attention > GtkLabel { + @extend %needs_attention; + background-size: 6px 6px, 0 0; + } +} + +// +// Paned +// +GtkPaned { // this is for the standard paned separator + + -GtkPaned-handle-size: 1; // sets separator width + + -gtk-icon-source: none; // removes handle decoration + margin: 0 8px 8px 0; // drag area of the separator, not a real margin + + &:dir(rtl) { + margin-right: 0; + margin-left: 8px; + } + .pane-separator { + background-color: $borders_color; + } +} + +GtkPaned.wide { // this is for the paned with wide separator + -GtkPaned-handle-size: 5; // wider separator here + margin: 0; // no need of the invisible drag area so, reset margin + .pane-separator { + background-color: transparent; + border-style: none solid; + border-color: $borders_color; + border-width: 1px; + } + &.vertical .pane-separator { border-style: solid none;} +} + +/************** + * GtkInfoBar * + **************/ +GtkInfoBar { + border-style: none; + + .button { @extend %selected-button } +} + +.info, +.question, +.warning, +.error { + background-color: $selected_bg_color; + color: $selected_fg_color; +} + + +// +// Buttons on selected backgrounds +// +%selected-button { + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + background-color: transparentize($selected_fg_color, 1); + border-color: transparentize($selected_fg_color, 0.5); + + &.flat { + @include button(undecorated); + color: $selected_fg_color; + background-color: transparentize($selected_fg_color, 1); + } + &:hover { + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + background-color: transparentize($selected_fg_color, 0.8); + border-color: transparentize($selected_fg_color, 0.2); + } + &:active, &:checked { + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + background-color: transparentize(black, 0.8); + border-color: transparentize($selected_fg_color, 0.2); + } + &:insensitive { + color: transparentize($selected_fg_color, 0.6); + background-color: transparentize($selected_fg_color, 1); + border-color: transparentize($selected_fg_color, 0.8); + + &:active, &:checked { + color: transparentize($selected_fg_color, 0.6); + background-color: transparentize(black, 0.9); + border-color: transparentize($selected_fg_color, 0.8); + } + } +} + +/************ + * Tooltips * + ************/ +.tooltip { + &.background { + // background-color needs to be set this way otherwise it gets drawn twice + // see https://bugzilla.gnome.org/show_bug.cgi?id=736155 for details. + background-color: $tooltip_bg; + background-clip: padding-box; + } + + color: $tooltip_fg; + border-radius: 2px; + + &.window-frame.csd { + background-color: transparent; + } +} + +.tooltip * { //Yeah this is ugly + padding: 4px; + background-color: transparent; + color: inherit; // just to be sure +} + +/***************** + * Color Chooser * + *****************/ + +GtkColorSwatch { + // This widget is made of two boxes one on top of the other, the lower box is GtkColorSwatch {} the other one + // is GtkColorSwatch .overlay {}, GtkColorSwatch has the programmatically set background, so most of the style + // is applied to the overlay box. + + // take care of colorswatches on selected elements + :selected & { + box-shadow: none; + &.overlay, &.overlay:hover { + border-color: $selected_fg_color; + } + } + + // border rounding + &.top { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + &.bottom { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + } + &.left, &:first-child, &:first-child .overlay { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + &.right, &:last-child, &:last-child .overlay { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + &:only-child, &:only-child .overlay { + border-radius: 3px; + } + // nth-child works just on the custom colors row + + // hover effect + &:hover, + &:hover:selected { + background-image: linear-gradient(to bottom, transparentize(white, 0.8)); + } + + // no hover effect for the colorswatch in the color editor + GtkColorEditor & { + border-radius: 3px; // same radius as the entry + &:hover { + background-image: none; + } + } + + // indicator and keynav outline colors, color-dark is a color with luminosity lower then 50% + &.color-dark { + color: white; + outline-color: transparentize(black, 0.7); + } + &.color-light { + color: black; + outline-color: transparentize(white, 0.5); + } + + // border color + &.overlay, + &.overlay:selected { + border: 1px solid transparentize(black, 0.85); + &:hover { border-color: transparentize(black, 0.75); } + } + + // make the add color button looks like, well, a button + &#add-color-button { + border-style: solid; // the borders are drawn by the overlay for standard colorswatches to have them semi + border-width: 1px; // translucent on the colored background, here it's not necessary so they need to be set + @include button(normal); + &:hover { @include button(hover); } + .overlay { @include button(undecorated); } // reset the overlay to not cover the button style underneath + } +} + +GtkColorButton.button { + padding: 4px; // Uniform padding on the GtkColorButton + + GtkColorSwatch { border-radius: 0; } +} + +/******** + * Misc * + ********/ +.scale-popup .button { // +/- buttons on GtkVolumeButton popup + padding: 6px; + &:hover { + @include button(hover); + } +} + +GtkVolumeButton.button { padding: 8px; } + +/********************** + * Window Decorations * + *********************/ + +.window-frame { + border-radius: 4px 4px 0 0; + // lamefun trick to get rounded borders regardless of CSD use + border-width: 0px; + + // this needs to be transparent + // see bug #722563 + $_wm_border: transparentize(black, 0.9); + $_wm_border_backdrop: transparentize(black, 0.9); + + box-shadow: 0 0 0 1px $_wm_border, 0 4px 8px 1px $_wm_border; + + /* this is used for the resize cursor area */ + margin: 10px; + + &:backdrop { + box-shadow: 0 0 0 1px $_wm_border, 0 4px 5px 2px $_wm_border_backdrop; + } + &.tiled { + border-radius: 0; + } + // server-side decorations as used by mutter + &.ssd { + border-radius: 4px 4px 0 0; + box-shadow: 0 0 0 1px $_wm_border; + } + &.csd { + &.popup, &.menu { + border-radius: 3px; + box-shadow: 0 3px 6px $_wm_border, + 0 0 0 1px $_wm_border; + } + &.tooltip { + border-radius: 2px; + box-shadow: 0 1px 3px 1px $_wm_border; + } + &.message-dialog { + border-radius: 3px; + box-shadow: 0 1px 6px $_wm_border; + } + } + &.solid-csd { + border-radius: 0; + margin: 1px; + background-color: $header_bg; + box-shadow: none; + } +} + +// +// Titlebuttons +// +.header-bar, +.titlebar { + + &.default-decoration .button.titlebutton { // no vertical padding for ssd buttons + padding-top: 0px; // already handled by the titlebar-padding + padding-bottom: 0px; + } + + .button.titlebutton { + padding: 7px 4px; + + @include button(undecorated); + border-width: 0; + + &:hover { + @include button(header-hover); + } + &:active, &:checked { + @include button(header-active); + } + //&:backdrop { color: $wm_unfocused_title; } + + &.close, &.maximize, &.minimize { + + color: transparent; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + + &:backdrop { opacity: 1; } + } + + &.close { background-image: -gtk-scaled(url('assets/titlebutton-close.png'),url('assets/titlebutton-close@2.png')); } + &.close:backdrop { background-image: -gtk-scaled(url('assets/titlebutton-close-backdrop.png'),url('assets/titlebutton-close-backdrop@2.png')); } + &.close:hover { background-image: -gtk-scaled(url('assets/titlebutton-close-hover.png'),url('assets/titlebutton-close-hover@2.png')); } + &.close:active { background-image: -gtk-scaled(url('assets/titlebutton-close-active.png'),url('assets/titlebutton-close-active@2.png')); } + + &.maximize { background-image: -gtk-scaled(url('assets/titlebutton-max.png'),url('assets/titlebutton-max@2.png')); } + &.maximize:backdrop { background-image: -gtk-scaled(url('assets/titlebutton-max-backdrop.png'),url('assets/titlebutton-max-backdrop@2.png')); } + &.maximize:hover { background-image: -gtk-scaled(url('assets/titlebutton-max-hover.png'),url('assets/titlebutton-max-hover@2.png')); } + &.maximize:active { background-image: -gtk-scaled(url('assets/titlebutton-max-active.png'),url('assets/titlebutton-max-active@2.png')); } + + &.minimize { background-image: -gtk-scaled(url('assets/titlebutton-min.png'),url('assets/titlebutton-min@2.png')); } + &.minimize:backdrop { background-image: -gtk-scaled(url('assets/titlebutton-min-backdrop.png'),url('assets/titlebutton-min-backdrop@2.png')); } + &.minimize:hover { background-image: -gtk-scaled(url('assets/titlebutton-min-hover.png'),url('assets/titlebutton-min-hover@2.png')); } + &.minimize:active { background-image: -gtk-scaled(url('assets/titlebutton-min-active.png'),url('assets/titlebutton-min-active@2.png')); } + } +} + + +// catch all extend :) + +%dark_button { + color: $header_fg; + background-color: lighten($header_bg, 12.5%); + + GtkLabel, GtkImage { color: $header_fg; } + + &:hover { + color: $header_fg; + background-color: lighten($header_bg, 15%); + + GtkLabel, GtkImage { color: $header_fg; } + } + &:active, &:checked { + color: $selected_bg_color; + background-image: none; + background-color: transparentize(darken($header_bg, 10%), 0.4); + border-color: transparentize(darken($header_bg, 14%), 0.4); + + GtkLabel, GtkImage { color: $selected_bg_color; } + } +} + +%selected_items { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); +} + +/* Decouple the font of context menus from their entry/textview */ +.touch-selection, +.context-menu { + font: initial; +} + +.monospace { + font: Monospace; +} + +// +// Overshoot +// +// This is used by GtkScrolledWindow, when content is touch-dragged past boundaries. +// This draws a box on top of the content, the size changes programmatically. +.overshoot { + &.top { @include overshoot(top); } + &.bottom { @include overshoot(bottom); } + &.left { @include overshoot(left); } + &.right { @include overshoot(right); } +} + +// +// Undershoot +// +// Overflow indication, works similarly to the overshoot, the size if fixed tho. +.undershoot { + &.top { @include undershoot(top); } + &.bottom { @include undershoot(bottom); } + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } +} diff --git a/gtk-3.0/_drawing.scss b/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..eda1f1f --- /dev/null +++ b/gtk-3.0/_drawing.scss @@ -0,0 +1,360 @@ +// Drawing mixins + +// generic drawing of more complex things + +@mixin _shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) { +// +// Helper function to stack up to 4 box-shadows; +// + + @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; } + @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; } + @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; } + @else { box-shadow: $shadow1; } +} + +// Entries + +@mixin entry($t) { +// +// Entries drawing function +// +// $t: entry type +// + + @if $t==normal { + // + // normal entry + // + color: $text_color; + border-color: $entry_border; + background-color: $entry_bg; + background-image: linear-gradient(to bottom, $entry_bg); + } + + @if $t==focus { + // + // focused entry + // + color: $text_color; + border-color: $selected_bg_color; + background-color: $entry_bg; + background-image: linear-gradient(to bottom, $entry_bg); + } + + @if $t==insensitive { + // + // insensitive entry + // + color: $insensitive_fg_color; + border-color: transparentize($entry_border, 0.45); + background-color: transparentize($entry_bg, 0.45); + background-image: linear-gradient(to bottom, transparentize($entry_bg, 0.45)); + } + + @if $t==header-normal { + // + // normal header-bar entry + // + color: $header_fg; + border-color: transparentize($header_fg, 0.7); + background-image: linear-gradient(to bottom, transparentize($base_color, 0.1)); + background-color: transparent; + + &.image, &.image:hover { color: inherit; } + } + + @if $t==header-focus { + // + // focused header-bar entry + // + color: $selected_fg_color; + border-color: $selected_bg_color; + background-image: linear-gradient(to bottom, $selected_bg_color); + } + + @if $t==header-insensitive { + // + // insensitive header-bar entry + // + color: transparentize($header_fg, 0.45); + background-image: linear-gradient(to bottom, transparentize($base_color, 0.45)); + } + + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-image: linear-gradient(to bottom, transparentize(opacify($osd_borders_color, 1), 0.5)); + background-clip: padding-box; + + text-shadow: 0 1px black; + icon-shadow: 0 1px black; + } + + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-image: linear-gradient(to bottom, transparentize(opacify($osd_borders_color, 1), 0.5)); + background-clip: padding-box; + + text-shadow: 0 1px black; + icon-shadow: 0 1px black; + } + + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-image: linear-gradient(to bottom, $osd_insensitive_bg_color); + background-clip: padding-box; + + text-shadow: none; + icon-shadow: none; + } +} + +// Buttons + +@mixin button($t) { +// +// Button drawing function +// +// $t: button type, +// + + @if $t==normal { + // + // normal button + // + color: $fg_color; + outline-color: transparentize($fg_color, 0.7); + border-color: $button_border; + background-color: $button_bg; + } + + @else if $t==hover { + // + // hovered button + // + color: $fg_color; + outline-color: transparentize($fg_color, 0.7); + border-color: $selected_bg_color; + background-color: $button_bg; + } + + @else if $t==active { + // + // pushed button + // + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + border-color: $selected_bg_color; + background-color: $selected_bg_color; + } + + @else if $t==insensitive { + // + // insensitive button + // + color: $insensitive_fg_color; + border-color: transparentize($button_border, 0.45); + background-color: transparentize($button_bg, 0.45); + + > GtkLabel { color: inherit; } + } + + @else if $t==insensitive-active { + // + // insensitive pushed button + // + color: transparentize($selected_fg_color, 0.45); + border-color: transparentize($selected_bg_color, 0.45); + background-color: transparentize($selected_bg_color, 0.45); + + opacity: 0.6; + + > GtkLabel { color: inherit; } + } + + @if $t==header-normal { + // + // normal header-bar button + // + color: $header_fg; + outline-color: transparentize($header_fg, 0.7); + outline-offset: -3px; + background-color: transparentize($header_bg, 1); + border-color: transparentize($header_bg, 1); + } + + @else if $t==header-hover { + // + // hovered header-bar button + // + color: $header_fg; + outline-color: transparentize($header_fg, 0.7); + border-color: transparentize($header_fg, 0.7); + background-color: transparentize($button_bg, 0.1); + } + + @else if $t==header-active { + // + // pushed header-bar button + // + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + border-color: $selected_bg_color; + background-color: $selected_bg_color; + } + + @else if $t==header-insensitive { + // + // insensitive header-bar button + // + color: transparentize($header_fg, 0.45); + background-color: transparentize($header_bg, 1); + border-color: transparentize($header_bg, 1); + + > GtkLabel { color: inherit; } + } + + @else if $t==header-insensitive-active { + // + // header-bar insensitive pushed button + // + color: transparentize($selected_fg_color, 0.45); + background-color: transparentize($header_bg, 1); + border-color: transparentize($header_bg, 1); + } + + @else if $t==osd { + // + // normal osd button + // + color: $osd_fg_color; + outline-color: transparentize($osd_fg_color, 0.7); + border-color: transparentize($osd_fg_color, 0.7); + background-color: transparent; + background-image: linear-gradient(to bottom, darken($osd_bg_color, 5%)); + } + + @else if $t==osd-hover { + // + // active osd button + // + color: $selected_bg_color; + outline-color: transparentize($osd_fg_color, 0.7); + border-color: $selected_bg_color; + background-image: linear-gradient(to bottom, darken($osd_bg_color, 5%)); + } + + @else if $t==osd-active { + // + // active osd button + // + color: $selected_fg_color; + outline-color: transparentize($selected_fg_color, 0.7); + border-color: $selected_bg_color; + background-image: linear-gradient(to bottom, $selected_bg_color); + } + + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: transparentize($osd_fg_color, 0.8); + background-image: linear-gradient(to bottom, $osd_insensitive_bg_color); + } + + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + } +} + +// +// Overshoot +// +@mixin overshoot($p, $c:$selected_bg_color) { +// $p: position +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// + + $_big_gradient_length: 60%; + + $_position: center top; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + } + + @else if $p==right { + $_position: right center; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_big_gradient_size: $_big_gradient_length 100%; + } + + background-image: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($c, 0.8)), + to(transparentize($c, 1))); + + background-size: $_big_gradient_size; + background-repeat: no-repeat; + background-position: $_position; + + background-color: transparent; // reset some properties to be sure to not inherit them somehow + border: none; // + box-shadow: none; // +} + +// +// Undershoot +// +@mixin undershoot($p) { +// $p: position +// +// possible $p values: +// top, bottom, right, left +// + + $_undershoot_color_dark: transparentize(black, 0.8); + $_undershoot_color_light: transparentize(white, 0.8); + + $_gradient_dir: left; + $_dash_bg_size: 10px 1px; + $_gradient_repeat: repeat-x; + $_bg_pos: center $p; + + background-color: transparent; // shouldn't be needed, but better to be sure; + + @if ($p == left) or ($p == right) { + $_gradient_dir: top; + $_dash_bg_size: 1px 10px; + $_gradient_repeat: repeat-y; + $_bg_pos: $p center; + } + + background-image: linear-gradient(to $_gradient_dir, // this is the dashed line + $_undershoot_color_light 50%, + $_undershoot_color_dark 50%); + + padding-#{$p}: 1px; + background-size: $_dash_bg_size; + background-repeat: $_gradient_repeat; + background-origin: content-box; + background-position: $_bg_pos; +} diff --git a/gtk-3.0/_granite.scss b/gtk-3.0/_granite.scss new file mode 100644 index 0000000..1e53c7f --- /dev/null +++ b/gtk-3.0/_granite.scss @@ -0,0 +1,214 @@ +// Granite Widgets + +// +// Overlay Bar +// +.overlay-bar { + background-color: $selected_bg_color; + border-color: $selected_bg_color; + border-radius: 2px; + padding: 3px 6px; + margin: 3px; + + GtkLabel { color: $selected_fg_color; } +} + +// +// Thin Pane Separator +// +GraniteWidgetsThinPaned { + background-color: transparent; + background-image: none; + margin: 0; + border-left: 1px solid $borders_color; + border-right: 1px solid $borders_color; + +} + +// avoid borders when a viewport is +// packed into a Static Notebook, or Popover +GraniteWidgetsPopOver .frame, +GraniteWidgetsStaticNotebook .frame { + border: none; +} + +// +// Help Button +// +.help_button { + border-radius: 100px; + padding: 3px 9px; +} + +// +// Secondary Toolbars +// +.secondary-toolbar.toolbar { + padding: 3px; + border-bottom: 1px solid $borders_color; + + .button { padding: 0 3px 0 3px; } +} + +// +// Bottom Toolbars +// +.bottom-toolbar.toolbar { + padding: 5px; + border-width: 1px 0 0 0; + border-style: solid; + border-color: $borders_color; + background-color: $bg_color; + + .button { padding: 2px 3px 2px 3px; } +} + +// +// Sidebar & Source List +// +.source-list { + -GtkTreeView-horizontal-separator: 1px; + -GtkTreeView-vertical-separator: 6px; +} + +.source-list, +.source-list.view { + background-color: $bg_color; + color: $fg_color; + -gtk-icon-style: regular; +} + +.source-list.category-expander { + color: transparent; +} + +.source-list.view:prelight { + background-color: lighten($bg_color, 5%); +} + +.source-list.view:selected, +.source-list.view:prelight:selected, +.source-list.view:selected:focus, +.source-list.category-expander:hover { + color: $selected_fg_color; + background-color: $selected_bg_color; +} + +.source-list .scrollbar.trough, +.source-list .scrollbars-junction { + border-image: none; + border-color: transparent; + background-color: $bg_color; + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:selected:focus, +.source-list.badge:prelight:selected { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + border-radius: 10px; + padding: 0 6px; + margin: 0 3px; + border-width: 0; +} + +.source-list.badge:selected, +.source-list.badge:selected:focus, +.source-list.badge:prelight:selected { + background-color: $selected_fg_color; + color: $selected_bg_color; +} + +// +// Expander +// +.source-list.category-expander { + color: $fg_color; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + -GtkTreeView-expander-size: 16; +} + +.source-list.category-expander, +.source-list.category-expander:backdrop { + color: transparent; + border: none; +} + +.source-list.category-expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); +} + +// +// Welcome +// +GraniteWidgetsWelcome { + background-color: $base_color; +} + +GraniteWidgetsWelcome GtkLabel { + color: mix($fg_color, $bg_color, 50%); + font: open sans 11; + text-shadow: none; +} + +GraniteWidgetsWelcome .h1, +GraniteWidgetsWelcome .h3 { + color: transparentize($fg_color, 0.2); +} + +// +// Help Button +// +.help_button { + border-radius: 0; +} + +// +// Popover +// +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 10; + -GraniteWidgetsPopOver-border-radius: 2px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 12; + + border: 1px solid transparentize(black, 0.7); + margin: 0; +} + +.popover_bg { + background-image: linear-gradient(to bottom, $base_color); + border: 1px solid transparentize(black, 0.7); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; +} + +// +// Text Styles +// +.h1 { font: open sans 24px; } +.h2 { font: open sans light 18px; } +.h3 { font: open sans 11px; } +.h4, +.category-label { + color: mix($bg_color, $text_color, 30%); + font-weight: 600; + text-shadow: 0 1px transparentize(white, 0.4); +} + +.h4 { + padding-bottom: 6px; + padding-top: 6px; +} + +GtkListBox .h4{ + padding-left: 6px; +} diff --git a/gtk-3.0/_transparent_widgets.scss b/gtk-3.0/_transparent_widgets.scss new file mode 100644 index 0000000..d5bacce --- /dev/null +++ b/gtk-3.0/_transparent_widgets.scss @@ -0,0 +1,200 @@ +.titlebar .separator { + color: darken($header_bg, 7%); //fixes separator in gnome-tweak-tool +} + +GtkFileChooserDialog .dialog-action-box { background-color: $bg_color } // fix for non gnome environments + +GtkFileChooserDialog *, +NautilusWindow * { + -GtkPaned-handle-size: 0; +} + +// Dark transparent sidebars +GtkFileChooserDialog, +NautilusWindow { + + &.background { background-color: transparent; } + + .sidebar { + background-color: $dark_sidebar_bg; + + .view { + background-color: transparent; + color: $dark_sidebar_fg; + + &.image { color: transparentize($dark_sidebar_fg, 0.4); } + } + + .view.cell:selected { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &.frame { + color: $dark_sidebar_fg; + } + + .separator { color: transparent; } + + .scrollbar { + + &.overlay-indicator:not(.dragging):not(.hovering) .slider { + background-color: lighten($dark_sidebar_fg, 15%); + border: 1px solid transparentize(black, 0.7); + } + + // trough coloring + .trough { + background-color: transparentize(black, 0.8); + border: none; + } + + // slider coloring + .slider { + background-color: transparentize(lighten($dark_sidebar_fg, 15%), 0.3); + + &:hover { background-color: lighten($dark_sidebar_fg, 20%); } + + &:prelight:active { background-color: $selected_bg_color; } + + &:insensitive { + background-color: transparent; + } + } + } + } + &.maximized .sidebar { background-color: opacify($dark_sidebar_bg, 1); } + + .pane-separator { background-color: $dark_sidebar_border; } +} + +// Yeah, this is ugly, but prevents a transparent background in the image preview box +GtkFileChooserDialog GtkPaned > .vertical > .horizontal { background-color: $bg_color; } + +// Gedit sidebar +GeditWindow.background { + background-color: transparent; + + .pane-separator, + .pane-separator:hover { background-color: $dark_sidebar_border; } + + .titlebar .pane-separator { background-color: darken($header_bg, 7%); } +} + +.gedit-document-panel { + background-color: $dark_sidebar_bg; + + .maximized & { background-color: opacify($dark_sidebar_bg, 1); } + + .list-row { color: $dark_sidebar_fg; } + + .list-row { + background-color: transparentize($dark_sidebar_fg, 1); + border: solid transparentize($dark_sidebar_fg, 1); + border-width: 3px 2px 3px 2px; + } + .list-row:hover { + border: solid transparentize($dark_sidebar_fg, 0.85); + border-width: 3px 2px 3px 2px; + background-color: transparentize($dark_sidebar_fg, 0.85); + } + .list-row:active { + color: $selected_fg_color; + background-color: $selected_bg_color; + border: solid $selected_bg_color; + border-width: 3px 2px 3px 2px; + + .button { color: $selected_fg_color; } + } + .list-row:selected, .list-row:selected:hover { + color: $selected_fg_color; + background-color: $selected_bg_color; + border: solid $selected_bg_color; + border-width: 3px 2px 3px 2px; + } + .prelight-row .button:active { + color: $dark_sidebar_fg; + } +} + +GeditFileBrowserWidget { + background-color: $dark_sidebar_bg; + + .maximized & { background-color: opacify($dark_sidebar_bg, 1); } + + .scrollbar { + + &.overlay-indicator:not(.dragging):not(.hovering) .slider { + background-color: lighten($dark_sidebar_fg, 15%); + border: 1px solid transparentize(black, 0.7); + } + + // trough coloring + .trough { + background-color: transparentize(black, 0.8); + border: none; + } + + // slider coloring + .slider { + background-color: transparentize(lighten($dark_sidebar_fg, 15%), 0.3); + + &:hover { background-color: lighten($dark_sidebar_fg, 20%); } + + &:prelight:active { background-color: $selected_bg_color; } + + &:insensitive { + background-color: transparent; + } + } + } + + .horizontal { + background-color: transparent; + border-color: darken($dark_sidebar_bg, 7%); + + .button { + @include button(undecorated); + color: $dark_sidebar_fg; + border: 1px solid transparent; + + &:hover { border: 1px solid $selected_bg_color; } + &:active, &:checked { @include button(active); } + &:insensitive { color: transparentize($dark_sidebar_fg, 0.6); } + } + GtkComboBox { color: $dark_sidebar_fg; } + } +} + +GeditFileBrowserView.view { + + background-color: transparent; + color: $dark_sidebar_fg; + + &.expander { + color: $dark_sidebar_fg; + &:hover { color: $selected_bg_color; } + } +} + +// Filechooser bottom bar +GtkFileChooserDialog .action-bar.frame { + background-color: darken($dark_sidebar_bg, 2%); + border-color: darken($dark_sidebar_bg, 7%); + + GtkLabel { color: $dark_sidebar_fg; } + + .button { + @include button(undecorated); + + &:hover { border: 1px solid $selected_bg_color; } + &:active, &:checked { + border: 1px solid $selected_bg_color; + color: $selected_fg_color; + background-color: $selected_bg_color; + } + &:insensitive { color: transparentize($dark_sidebar_fg, 0.6); } + } + + GtkComboBox { color: $dark_sidebar_fg; } +} diff --git a/gtk-3.0/_unity.scss b/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0e0830d --- /dev/null +++ b/gtk-3.0/_unity.scss @@ -0,0 +1,56 @@ +// Decorations +UnityDecoration { + -UnityDecoration-extents: 28px 0 0 0; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 0px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba (0, 0, 0, 0.3); + -UnityDecoration-active-shadow-radius: 10px; + -UnityDecoration-inactive-shadow-color: rgba (0, 0, 0, 0.15); + -UnityDecoration-inactive-shadow-radius: 5px; + + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: $selected_bg_color; + + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; + + &.top { + border: none; + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 6px 0 6px; + + background-image: linear-gradient(to bottom, opacify($header_bg, 1)); + color: $header_fg; // The foreground color will be used to paint the text + + box-shadow: inset 0 1px lighten($header_bg, 3%); + + &:backdrop { + border-bottom-width: 0; + background-image: linear-gradient(to bottom, lighten(opacify($header_bg, 1), 3%)); + color: transparentize($header_fg, 0.3); + } + } + &.left, &.right, &.bottom, + &.left:backdrop, &.right:backdrop, &.bottom:backdrop { + background-image: none; + } +} + +// Panel Style +UnityPanelWidget, +.unity-panel { + background-image: linear-gradient(to bottom, opacify($panel_bg, 1)); + color: $panel_fg; + box-shadow: none; +} + +.unity-panel.menubar.menuitem:hover, +.unity-panel.menubar .menuitem *:hover { + border-radius: 0; + color: $selected_bg_color; + border-bottom: none; +} diff --git a/gtk-3.0/assets.svg b/gtk-3.0/assets.svg new file mode 100644 index 0000000..8a9b917 --- /dev/null +++ b/gtk-3.0/assets.svg @@ -0,0 +1,3397 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk-3.0/assets.txt b/gtk-3.0/assets.txt new file mode 100644 index 0000000..029d3a8 --- /dev/null +++ b/gtk-3.0/assets.txt @@ -0,0 +1,50 @@ +checkbox-checked +checkbox-checked-insensitive +checkbox-unchecked +checkbox-unchecked-insensitive +checkbox-mixed +checkbox-mixed-insensitive +radio-checked +radio-checked-insensitive +radio-unchecked +radio-unchecked-insensitive +radio-mixed +radio-mixed-insensitive +checkbox-checked-selected +checkbox-checked-insensitive-selected +checkbox-unchecked-selected +checkbox-unchecked-insensitive-selected +checkbox-mixed-selected +checkbox-mixed-insensitive-selected +checkbox-checked-selectionmode +checkbox-selectionmode +radio-checked-selected +radio-checked-insensitive-selected +radio-unchecked-selected +radio-unchecked-insensitive-selected +radio-mixed-selected +radio-mixed-insensitive-selected +switch +switch-active +switch-insensitive +switch-active-insensitive +switch-header +switch-active-header +switch-insensitive-header +switch-active-insensitive-header +switch-selected +switch-active-selected +switch-insensitive-selected +switch-active-insensitive-selected +titlebutton-close +titlebutton-close-backdrop +titlebutton-close-hover +titlebutton-close-active +titlebutton-max +titlebutton-max-backdrop +titlebutton-max-hover +titlebutton-max-active +titlebutton-min +titlebutton-min-backdrop +titlebutton-min-hover +titlebutton-min-active diff --git a/gtk-3.0/assets/checkbox-checked-insensitive-selected.png b/gtk-3.0/assets/checkbox-checked-insensitive-selected.png new file mode 100644 index 0000000..8e06d91 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-insensitive-selected.png differ diff --git a/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png b/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png new file mode 100644 index 0000000..b48537b Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-checked-insensitive.png b/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..024b806 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/gtk-3.0/assets/checkbox-checked-insensitive@2.png b/gtk-3.0/assets/checkbox-checked-insensitive@2.png new file mode 100644 index 0000000..f26d85d Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-insensitive@2.png differ diff --git a/gtk-3.0/assets/checkbox-checked-selected.png b/gtk-3.0/assets/checkbox-checked-selected.png new file mode 100644 index 0000000..55cf2b4 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-selected.png differ diff --git a/gtk-3.0/assets/checkbox-checked-selected@2.png b/gtk-3.0/assets/checkbox-checked-selected@2.png new file mode 100644 index 0000000..a8eff42 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-checked-selectionmode.png b/gtk-3.0/assets/checkbox-checked-selectionmode.png new file mode 100644 index 0000000..c73174f Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-selectionmode.png differ diff --git a/gtk-3.0/assets/checkbox-checked-selectionmode@2.png b/gtk-3.0/assets/checkbox-checked-selectionmode@2.png new file mode 100644 index 0000000..a8232c5 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked-selectionmode@2.png differ diff --git a/gtk-3.0/assets/checkbox-checked.png b/gtk-3.0/assets/checkbox-checked.png new file mode 100644 index 0000000..11047e9 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked.png differ diff --git a/gtk-3.0/assets/checkbox-checked@2.png b/gtk-3.0/assets/checkbox-checked@2.png new file mode 100644 index 0000000..41faf59 Binary files /dev/null and b/gtk-3.0/assets/checkbox-checked@2.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png b/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png new file mode 100644 index 0000000..35df841 Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png b/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png new file mode 100644 index 0000000..2d35e3a Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive.png b/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..14aff93 Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive@2.png b/gtk-3.0/assets/checkbox-mixed-insensitive@2.png new file mode 100644 index 0000000..dfed81e Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-insensitive@2.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-selected.png b/gtk-3.0/assets/checkbox-mixed-selected.png new file mode 100644 index 0000000..c7b5cf2 Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-selected.png differ diff --git a/gtk-3.0/assets/checkbox-mixed-selected@2.png b/gtk-3.0/assets/checkbox-mixed-selected@2.png new file mode 100644 index 0000000..4b8b72c Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-mixed.png b/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..315b044 Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/gtk-3.0/assets/checkbox-mixed@2.png b/gtk-3.0/assets/checkbox-mixed@2.png new file mode 100644 index 0000000..23c658d Binary files /dev/null and b/gtk-3.0/assets/checkbox-mixed@2.png differ diff --git a/gtk-3.0/assets/checkbox-selectionmode.png b/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..37c9563 Binary files /dev/null and b/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/gtk-3.0/assets/checkbox-selectionmode@2.png b/gtk-3.0/assets/checkbox-selectionmode@2.png new file mode 100644 index 0000000..fae67bd Binary files /dev/null and b/gtk-3.0/assets/checkbox-selectionmode@2.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png b/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png new file mode 100644 index 0000000..e937146 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png b/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png new file mode 100644 index 0000000..9a0e07a Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..3b3603a Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png b/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png new file mode 100644 index 0000000..b71fb40 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-selected.png b/gtk-3.0/assets/checkbox-unchecked-selected.png new file mode 100644 index 0000000..53ef897 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-selected.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked-selected@2.png b/gtk-3.0/assets/checkbox-unchecked-selected@2.png new file mode 100644 index 0000000..191ff32 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked-selected@2.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked.png b/gtk-3.0/assets/checkbox-unchecked.png new file mode 100644 index 0000000..b804302 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked.png differ diff --git a/gtk-3.0/assets/checkbox-unchecked@2.png b/gtk-3.0/assets/checkbox-unchecked@2.png new file mode 100644 index 0000000..b8792c9 Binary files /dev/null and b/gtk-3.0/assets/checkbox-unchecked@2.png differ diff --git a/gtk-3.0/assets/radio-checked-insensitive-selected.png b/gtk-3.0/assets/radio-checked-insensitive-selected.png new file mode 100644 index 0000000..aeadd97 Binary files /dev/null and b/gtk-3.0/assets/radio-checked-insensitive-selected.png differ diff --git a/gtk-3.0/assets/radio-checked-insensitive-selected@2.png b/gtk-3.0/assets/radio-checked-insensitive-selected@2.png new file mode 100644 index 0000000..dcb6214 Binary files /dev/null and b/gtk-3.0/assets/radio-checked-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/radio-checked-insensitive.png b/gtk-3.0/assets/radio-checked-insensitive.png new file mode 100644 index 0000000..a166ea3 Binary files /dev/null and b/gtk-3.0/assets/radio-checked-insensitive.png differ diff --git a/gtk-3.0/assets/radio-checked-insensitive@2.png b/gtk-3.0/assets/radio-checked-insensitive@2.png new file mode 100644 index 0000000..e4a7c3d Binary files /dev/null and b/gtk-3.0/assets/radio-checked-insensitive@2.png differ diff --git a/gtk-3.0/assets/radio-checked-selected.png b/gtk-3.0/assets/radio-checked-selected.png new file mode 100644 index 0000000..aa261d0 Binary files /dev/null and b/gtk-3.0/assets/radio-checked-selected.png differ diff --git a/gtk-3.0/assets/radio-checked-selected@2.png b/gtk-3.0/assets/radio-checked-selected@2.png new file mode 100644 index 0000000..92762b8 Binary files /dev/null and b/gtk-3.0/assets/radio-checked-selected@2.png differ diff --git a/gtk-3.0/assets/radio-checked.png b/gtk-3.0/assets/radio-checked.png new file mode 100644 index 0000000..4ddb8a6 Binary files /dev/null and b/gtk-3.0/assets/radio-checked.png differ diff --git a/gtk-3.0/assets/radio-checked@2.png b/gtk-3.0/assets/radio-checked@2.png new file mode 100644 index 0000000..a78d7df Binary files /dev/null and b/gtk-3.0/assets/radio-checked@2.png differ diff --git a/gtk-3.0/assets/radio-mixed-insensitive-selected.png b/gtk-3.0/assets/radio-mixed-insensitive-selected.png new file mode 100644 index 0000000..95d6162 Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-insensitive-selected.png differ diff --git a/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png b/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png new file mode 100644 index 0000000..11da224 Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/radio-mixed-insensitive.png b/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..3af92cd Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/gtk-3.0/assets/radio-mixed-insensitive@2.png b/gtk-3.0/assets/radio-mixed-insensitive@2.png new file mode 100644 index 0000000..2803be0 Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-insensitive@2.png differ diff --git a/gtk-3.0/assets/radio-mixed-selected.png b/gtk-3.0/assets/radio-mixed-selected.png new file mode 100644 index 0000000..4378bca Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-selected.png differ diff --git a/gtk-3.0/assets/radio-mixed-selected@2.png b/gtk-3.0/assets/radio-mixed-selected@2.png new file mode 100644 index 0000000..58468d2 Binary files /dev/null and b/gtk-3.0/assets/radio-mixed-selected@2.png differ diff --git a/gtk-3.0/assets/radio-mixed.png b/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..9d9ebf5 Binary files /dev/null and b/gtk-3.0/assets/radio-mixed.png differ diff --git a/gtk-3.0/assets/radio-mixed@2.png b/gtk-3.0/assets/radio-mixed@2.png new file mode 100644 index 0000000..985528c Binary files /dev/null and b/gtk-3.0/assets/radio-mixed@2.png differ diff --git a/gtk-3.0/assets/radio-unchecked-insensitive-selected.png b/gtk-3.0/assets/radio-unchecked-insensitive-selected.png new file mode 100644 index 0000000..0e5cb21 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-insensitive-selected.png differ diff --git a/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png b/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png new file mode 100644 index 0000000..030e403 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/radio-unchecked-insensitive.png b/gtk-3.0/assets/radio-unchecked-insensitive.png new file mode 100644 index 0000000..534e629 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-insensitive.png differ diff --git a/gtk-3.0/assets/radio-unchecked-insensitive@2.png b/gtk-3.0/assets/radio-unchecked-insensitive@2.png new file mode 100644 index 0000000..05885d3 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-insensitive@2.png differ diff --git a/gtk-3.0/assets/radio-unchecked-selected.png b/gtk-3.0/assets/radio-unchecked-selected.png new file mode 100644 index 0000000..09cf922 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-selected.png differ diff --git a/gtk-3.0/assets/radio-unchecked-selected@2.png b/gtk-3.0/assets/radio-unchecked-selected@2.png new file mode 100644 index 0000000..facb20e Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked-selected@2.png differ diff --git a/gtk-3.0/assets/radio-unchecked.png b/gtk-3.0/assets/radio-unchecked.png new file mode 100644 index 0000000..7f8e012 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked.png differ diff --git a/gtk-3.0/assets/radio-unchecked@2.png b/gtk-3.0/assets/radio-unchecked@2.png new file mode 100644 index 0000000..bfcd028 Binary files /dev/null and b/gtk-3.0/assets/radio-unchecked@2.png differ diff --git a/gtk-3.0/assets/switch-active-header.png b/gtk-3.0/assets/switch-active-header.png new file mode 100644 index 0000000..5b0e6af Binary files /dev/null and b/gtk-3.0/assets/switch-active-header.png differ diff --git a/gtk-3.0/assets/switch-active-header@2.png b/gtk-3.0/assets/switch-active-header@2.png new file mode 100644 index 0000000..8278006 Binary files /dev/null and b/gtk-3.0/assets/switch-active-header@2.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive-header.png b/gtk-3.0/assets/switch-active-insensitive-header.png new file mode 100644 index 0000000..52ae5eb Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive-header.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive-header@2.png b/gtk-3.0/assets/switch-active-insensitive-header@2.png new file mode 100644 index 0000000..af407a4 Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive-header@2.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive-selected.png b/gtk-3.0/assets/switch-active-insensitive-selected.png new file mode 100644 index 0000000..8a19f72 Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive-selected.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive-selected@2.png b/gtk-3.0/assets/switch-active-insensitive-selected@2.png new file mode 100644 index 0000000..4971b1c Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive.png b/gtk-3.0/assets/switch-active-insensitive.png new file mode 100644 index 0000000..52ae5eb Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive.png differ diff --git a/gtk-3.0/assets/switch-active-insensitive@2.png b/gtk-3.0/assets/switch-active-insensitive@2.png new file mode 100644 index 0000000..af407a4 Binary files /dev/null and b/gtk-3.0/assets/switch-active-insensitive@2.png differ diff --git a/gtk-3.0/assets/switch-active-selected.png b/gtk-3.0/assets/switch-active-selected.png new file mode 100644 index 0000000..45329ee Binary files /dev/null and b/gtk-3.0/assets/switch-active-selected.png differ diff --git a/gtk-3.0/assets/switch-active-selected@2.png b/gtk-3.0/assets/switch-active-selected@2.png new file mode 100644 index 0000000..f60c445 Binary files /dev/null and b/gtk-3.0/assets/switch-active-selected@2.png differ diff --git a/gtk-3.0/assets/switch-active.png b/gtk-3.0/assets/switch-active.png new file mode 100644 index 0000000..5b0e6af Binary files /dev/null and b/gtk-3.0/assets/switch-active.png differ diff --git a/gtk-3.0/assets/switch-active@2.png b/gtk-3.0/assets/switch-active@2.png new file mode 100644 index 0000000..8278006 Binary files /dev/null and b/gtk-3.0/assets/switch-active@2.png differ diff --git a/gtk-3.0/assets/switch-header.png b/gtk-3.0/assets/switch-header.png new file mode 100644 index 0000000..eb88a61 Binary files /dev/null and b/gtk-3.0/assets/switch-header.png differ diff --git a/gtk-3.0/assets/switch-header@2.png b/gtk-3.0/assets/switch-header@2.png new file mode 100644 index 0000000..60dcdeb Binary files /dev/null and b/gtk-3.0/assets/switch-header@2.png differ diff --git a/gtk-3.0/assets/switch-insensitive-header.png b/gtk-3.0/assets/switch-insensitive-header.png new file mode 100644 index 0000000..48fdd03 Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive-header.png differ diff --git a/gtk-3.0/assets/switch-insensitive-header@2.png b/gtk-3.0/assets/switch-insensitive-header@2.png new file mode 100644 index 0000000..2107966 Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive-header@2.png differ diff --git a/gtk-3.0/assets/switch-insensitive-selected.png b/gtk-3.0/assets/switch-insensitive-selected.png new file mode 100644 index 0000000..a244750 Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive-selected.png differ diff --git a/gtk-3.0/assets/switch-insensitive-selected@2.png b/gtk-3.0/assets/switch-insensitive-selected@2.png new file mode 100644 index 0000000..eede04d Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive-selected@2.png differ diff --git a/gtk-3.0/assets/switch-insensitive.png b/gtk-3.0/assets/switch-insensitive.png new file mode 100644 index 0000000..e4f612c Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive.png differ diff --git a/gtk-3.0/assets/switch-insensitive@2.png b/gtk-3.0/assets/switch-insensitive@2.png new file mode 100644 index 0000000..afe71ee Binary files /dev/null and b/gtk-3.0/assets/switch-insensitive@2.png differ diff --git a/gtk-3.0/assets/switch-selected.png b/gtk-3.0/assets/switch-selected.png new file mode 100644 index 0000000..3f445a9 Binary files /dev/null and b/gtk-3.0/assets/switch-selected.png differ diff --git a/gtk-3.0/assets/switch-selected@2.png b/gtk-3.0/assets/switch-selected@2.png new file mode 100644 index 0000000..cfed5a3 Binary files /dev/null and b/gtk-3.0/assets/switch-selected@2.png differ diff --git a/gtk-3.0/assets/switch.png b/gtk-3.0/assets/switch.png new file mode 100644 index 0000000..ba8bea9 Binary files /dev/null and b/gtk-3.0/assets/switch.png differ diff --git a/gtk-3.0/assets/switch@2.png b/gtk-3.0/assets/switch@2.png new file mode 100644 index 0000000..40ceef0 Binary files /dev/null and b/gtk-3.0/assets/switch@2.png differ diff --git a/gtk-3.0/assets/thumbnail-frame.png b/gtk-3.0/assets/thumbnail-frame.png new file mode 100644 index 0000000..ba5d721 Binary files /dev/null and b/gtk-3.0/assets/thumbnail-frame.png differ diff --git a/gtk-3.0/assets/titlebutton-close-active.png b/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..6d2fc72 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/gtk-3.0/assets/titlebutton-close-active@2.png b/gtk-3.0/assets/titlebutton-close-active@2.png new file mode 100644 index 0000000..4e4b471 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-active@2.png differ diff --git a/gtk-3.0/assets/titlebutton-close-backdrop.png b/gtk-3.0/assets/titlebutton-close-backdrop.png new file mode 100644 index 0000000..e0e5654 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-backdrop.png differ diff --git a/gtk-3.0/assets/titlebutton-close-backdrop@2.png b/gtk-3.0/assets/titlebutton-close-backdrop@2.png new file mode 100644 index 0000000..dfe5e61 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-backdrop@2.png differ diff --git a/gtk-3.0/assets/titlebutton-close-hover.png b/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..157eaac Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/gtk-3.0/assets/titlebutton-close-hover@2.png b/gtk-3.0/assets/titlebutton-close-hover@2.png new file mode 100644 index 0000000..6eb2d20 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close-hover@2.png differ diff --git a/gtk-3.0/assets/titlebutton-close.png b/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..4ac9243 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close.png differ diff --git a/gtk-3.0/assets/titlebutton-close@2.png b/gtk-3.0/assets/titlebutton-close@2.png new file mode 100644 index 0000000..e1c4b76 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-close@2.png differ diff --git a/gtk-3.0/assets/titlebutton-max-active.png b/gtk-3.0/assets/titlebutton-max-active.png new file mode 100644 index 0000000..a6ca483 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-active.png differ diff --git a/gtk-3.0/assets/titlebutton-max-active@2.png b/gtk-3.0/assets/titlebutton-max-active@2.png new file mode 100644 index 0000000..fba1731 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-active@2.png differ diff --git a/gtk-3.0/assets/titlebutton-max-backdrop.png b/gtk-3.0/assets/titlebutton-max-backdrop.png new file mode 100644 index 0000000..fc40744 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-backdrop.png differ diff --git a/gtk-3.0/assets/titlebutton-max-backdrop@2.png b/gtk-3.0/assets/titlebutton-max-backdrop@2.png new file mode 100644 index 0000000..88e3fb5 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-backdrop@2.png differ diff --git a/gtk-3.0/assets/titlebutton-max-hover.png b/gtk-3.0/assets/titlebutton-max-hover.png new file mode 100644 index 0000000..3362698 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-hover.png differ diff --git a/gtk-3.0/assets/titlebutton-max-hover@2.png b/gtk-3.0/assets/titlebutton-max-hover@2.png new file mode 100644 index 0000000..7b8cb1b Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max-hover@2.png differ diff --git a/gtk-3.0/assets/titlebutton-max.png b/gtk-3.0/assets/titlebutton-max.png new file mode 100644 index 0000000..6bb22ed Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max.png differ diff --git a/gtk-3.0/assets/titlebutton-max@2.png b/gtk-3.0/assets/titlebutton-max@2.png new file mode 100644 index 0000000..13d1e73 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-max@2.png differ diff --git a/gtk-3.0/assets/titlebutton-min-active.png b/gtk-3.0/assets/titlebutton-min-active.png new file mode 100644 index 0000000..17f484f Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-active.png differ diff --git a/gtk-3.0/assets/titlebutton-min-active@2.png b/gtk-3.0/assets/titlebutton-min-active@2.png new file mode 100644 index 0000000..277d401 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-active@2.png differ diff --git a/gtk-3.0/assets/titlebutton-min-backdrop.png b/gtk-3.0/assets/titlebutton-min-backdrop.png new file mode 100644 index 0000000..a83a5e5 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-backdrop.png differ diff --git a/gtk-3.0/assets/titlebutton-min-backdrop@2.png b/gtk-3.0/assets/titlebutton-min-backdrop@2.png new file mode 100644 index 0000000..20a41a4 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-backdrop@2.png differ diff --git a/gtk-3.0/assets/titlebutton-min-hover.png b/gtk-3.0/assets/titlebutton-min-hover.png new file mode 100644 index 0000000..24ee141 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-hover.png differ diff --git a/gtk-3.0/assets/titlebutton-min-hover@2.png b/gtk-3.0/assets/titlebutton-min-hover@2.png new file mode 100644 index 0000000..f6c8c3d Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min-hover@2.png differ diff --git a/gtk-3.0/assets/titlebutton-min.png b/gtk-3.0/assets/titlebutton-min.png new file mode 100644 index 0000000..f4afc8c Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min.png differ diff --git a/gtk-3.0/assets/titlebutton-min@2.png b/gtk-3.0/assets/titlebutton-min@2.png new file mode 100644 index 0000000..8d683d4 Binary files /dev/null and b/gtk-3.0/assets/titlebutton-min@2.png differ diff --git a/gtk-3.0/gtk-contained.css b/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..c591e28 --- /dev/null +++ b/gtk-3.0/gtk-contained.css @@ -0,0 +1,3080 @@ +* { + background-clip: padding-box; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #FC4138; + -GtkPaned-handle-size: 1; + -GtkCheckButton-indicator-size: 16; + -GtkCheckMenuItem-indicator-size: 16; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkScrolledWindow-scrollbars-within-bevel: 1; + -GtkToolItemGroup-expander-size: 11; + -GtkExpander-expander-size: 16; + -GtkTreeView-expander-size: 11; + -GtkTreeView-horizontal-separator: 4; + -GtkMenu-horizontal-padding: 0; + -GtkMenu-vertical-padding: 0; + -GtkWidget-link-color: #2679db; + -GtkWidget-visited-link-color: #1e61b0; + -GtkWidget-focus-padding: 2; + -GtkWidget-focus-line-width: 1; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 20; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + -GtkStatusbar-shadow-type: none; + outline-color: rgba(92, 97, 108, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + outline-radius: 2px; } + +/*************** + * Base States * + ***************/ +.background { + color: #5c616c; + background-color: rgba(249, 250, 251, 0.999); } + +/* + These wildcard seems unavoidable, need to investigate. + Wildcards are bad and troublesome, use them with care, + or better, just don't. + Everytime a wildcard is used a kitten dies, painfully. +*/ +*:insensitive { + -gtk-image-effect: dim; } + +.gtkstyle-fallback { + background-color: #f9fafb; + color: #5c616c; } + .gtkstyle-fallback:prelight { + background-color: white; + color: #5c616c; } + .gtkstyle-fallback:active { + background-color: #dae1e7; + color: #5c616c; } + .gtkstyle-fallback:insensitive { + background-color: #fcfdfd; + color: rgba(92, 97, 108, 0.55); } + .gtkstyle-fallback:selected { + background-color: #5294E2; + color: #ffffff; } + +.view { + color: #5c616c; + background-color: #ffffff; } + .view.dim-label, .view.label.separator, GtkPlacesSidebar.sidebar .view.label.separator, .header-bar .view.subtitle { + color: rgba(92, 97, 108, 0.55); } + .view.dim-label:selected, .view.label.separator:selected, .header-bar .view.subtitle:selected, .view.dim-label:selected:focus, .view.label.separator:selected:focus, .header-bar .view.subtitle:selected:focus { + color: rgba(255, 255, 255, 0.65); + text-shadow: none; } + +.rubberband { + border: 1px solid #5294E2; + background-color: rgba(82, 148, 226, 0.2); } + +.label.separator, .popover .label.separator, GtkPlacesSidebar.sidebar .label.view.separator { + color: #5c616c; } +.label:insensitive { + color: rgba(92, 97, 108, 0.55); } + +.dim-label, .label.separator, .popover .label.separator, GtkPlacesSidebar.sidebar .label.view.separator, .header-bar .subtitle { + opacity: 0.55; } + +GtkAssistant .sidebar { + background-color: #ffffff; + border-top: 1px solid #dde3e9; } + GtkAssistant .sidebar:dir(ltr) { + border-right: 1px solid #dde3e9; } + GtkAssistant .sidebar:dir(rtl) { + border-left: 1px solid #dde3e9; } +GtkAssistant.csd .sidebar { + border-top-style: none; } +GtkAssistant .sidebar .label { + padding: 6px 12px; } +GtkAssistant .sidebar .label.highlight { + background-color: #5294E2; + color: #ffffff; } + +GtkTextView { + background-color: #fcfcfd; } + +.grid-child { + padding: 3px; + border-radius: 3px; } + .grid-child:selected { + outline-offset: -2px; } + +.popover.osd, .osd { + color: #A8ADB5; + border: none; + background-color: rgba(60, 64, 73, 0.95); + background-clip: padding-box; + outline-color: rgba(168, 173, 181, 0.3); + box-shadow: none; } + +/********************** + * Spinner Animations * + **********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +.spinner { + background-image: none; + background-color: blue; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + .spinner:active { + opacity: 1; + animation: spin 1s linear infinite; } + .spinner:active:insensitive { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +.entry { + border: 1px solid; + padding: 5px 8px 6px; + border-radius: 15px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #5c616c; + border-color: #cfd6e6; + background-color: #ffffff; + background-image: linear-gradient(to bottom, #ffffff); } + .header-bar .entry { + padding: 6px 11px; } + .entry.image { + padding-left: 3px; + padding-right: 3px; } + .entry.flat, .entry.flat:focus { + padding: 2px; + color: #5c616c; + border-color: #cfd6e6; + background-color: #ffffff; + background-image: linear-gradient(to bottom, #ffffff); + border: none; + border-radius: 0; } + .entry:focus { + color: #5c616c; + border-color: #5294E2; + background-color: #ffffff; + background-image: linear-gradient(to bottom, #ffffff); } + .entry:insensitive { + color: rgba(92, 97, 108, 0.55); + border-color: rgba(207, 214, 230, 0.55); + background-color: rgba(255, 255, 255, 0.55); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.55)); } + .entry:selected, .entry:selected:focus { + background-color: #5294E2; + color: #ffffff; } + .entry.progressbar { + margin: 2px; + border-radius: 0; + border-width: 0 0 2px; + border-color: #5294E2; + border-style: solid; + background-image: none; + background-color: transparent; + box-shadow: none; } + .linked > .entry:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .linked > .entry:first-child:dir(rtl) { + border-right-style: none; } + .linked > .entry:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-style: none; } + .linked > .entry:last-child:dir(rtl) { + border-left-style: solid; } + .entry.error { + color: white; + border-color: #FC4138; + background-image: linear-gradient(to bottom, #fc665f); } + .entry.error:focus { + background-image: linear-gradient(to bottom, #FC4138); + color: white; } + .entry.error:selected, .entry.error:selected:focus { + background-color: white; + color: #FC4138; } + .entry.warning { + color: white; + border-color: #F27835; + background-image: linear-gradient(to bottom, #f4935d); } + .entry.warning:focus { + background-image: linear-gradient(to bottom, #F27835); + color: white; } + .entry.warning:selected, .entry.warning:selected:focus { + background-color: white; + color: #F27835; } + .entry.image { + color: #7c8089; } + .entry.image:hover { + color: #5c616c; } + .entry.image:active { + color: #5294E2; } + .linked.vertical > .entry { + border-bottom-color: #f4f6f8; + box-shadow: none; } + .linked.vertical > .entry:focus { + border-color: #5294E2; + box-shadow: 0 -1px 0 0 #5294E2; } + .linked.vertical > .entry:insensitive { + border-bottom-color: #f4f6f8; } + .linked.vertical > .entry:first-child { + border-bottom-color: #f4f6f8; } + .linked.vertical > .entry:first-child:focus { + border-bottom-color: #5294E2; + box-shadow: none; } + .linked.vertical > .entry:first-child:insensitive { + border-bottom-color: #f4f6f8; } + .linked.vertical > .entry:last-child { + border-bottom-color: rgba(0, 0, 0, 0.14); } + .linked.vertical > .entry:last-child:focus { + border-bottom-color: #5294E2; + box-shadow: 0 -1px 0 0 #5294E2; } + .linked.vertical > .entry:last-child:insensitive { + border-bottom-color: rgba(0, 0, 0, 0.14); } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#5294E2), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#5294E2), to(transparent)); } } +.button { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + border: 1px solid; + border-radius: 3px; + padding: 5px 8px; + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #cfd6e6; + background-color: #fcfdfd; } + .header-bar .button { + padding: 6px 11px; } + .button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + background-color: rgba(249, 250, 251, 0); + transition: none; } + .button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 350ms; } + .button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + .button:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; + -gtk-image-effect: highlight; } + .button:active, .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; + transition-duration: 50ms; } + .button.flat:insensitive { + border-color: transparent; + background-color: transparent; + background-image: none; } + .button:insensitive { + color: rgba(92, 97, 108, 0.55); + border-color: rgba(207, 214, 230, 0.55); + background-color: rgba(252, 253, 253, 0.55); } + .button:insensitive > GtkLabel { + color: inherit; } + .button:insensitive:active, .button:insensitive:checked { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(82, 148, 226, 0.55); + background-color: rgba(82, 148, 226, 0.55); + opacity: 0.6; } + .button:insensitive:active > GtkLabel, .button:insensitive:checked > GtkLabel { + color: inherit; } + .button.osd { + outline-color: rgba(168, 173, 181, 0.3); + color: #A8ADB5; + outline-color: rgba(168, 173, 181, 0.3); + border-color: rgba(168, 173, 181, 0.3); + background-color: transparent; + background-image: linear-gradient(to bottom, rgba(48, 52, 59, 0.95)); + background-color: rgba(60, 64, 73, 0.95); } + .button.osd.image-button { + padding: 10px; } + .button.osd:hover { + color: #5294E2; + outline-color: rgba(168, 173, 181, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, rgba(48, 52, 59, 0.95)); + border-color: rgba(168, 173, 181, 0.3); } + .button.osd:active, .button.osd:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .button.osd:insensitive { + color: #5c6069; + border-color: rgba(168, 173, 181, 0.2); + background-image: linear-gradient(to bottom, rgba(53, 57, 65, 0.95)); } + .osd .button { + color: #A8ADB5; + outline-color: rgba(168, 173, 181, 0.3); + border-color: rgba(168, 173, 181, 0.3); + background-color: transparent; + background-image: linear-gradient(to bottom, rgba(48, 52, 59, 0.95)); + border-radius: 0; + border-left-style: none; + border-right-style: none; } + .osd .button:dir(rtl) { + border-radius: 0; + border-right-style: none; + border-left-style: none; } + .osd .button:first-child { + border-radius: 3px 0 0 3px; + border-left-style: solid; } + .osd .button:last-child { + border-radius: 0 3px 3px 0; + border-right-style: solid; } + .osd .button:last-child:dir(rtl) { + border-left-style: solid; } + .osd .button:only-child { + border-radius: 3px; + border-style: solid; } + .osd .button:hover { + color: #5294E2; + outline-color: rgba(168, 173, 181, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, rgba(48, 52, 59, 0.95)); } + .osd .button:active, .osd .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .osd .button:insensitive { + color: #5c6069; + border-color: rgba(168, 173, 181, 0.2); + background-image: linear-gradient(to bottom, rgba(53, 57, 65, 0.95)); } + .osd .button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: none; } + .osd .button.flat:hover { + color: #5294E2; + outline-color: rgba(168, 173, 181, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, rgba(48, 52, 59, 0.95)); } + .osd .button.flat:insensitive { + color: #5c6069; + border-color: rgba(168, 173, 181, 0.2); + background-image: linear-gradient(to bottom, rgba(53, 57, 65, 0.95)); + background-image: none; } + .osd .button.flat:active, .osd .button.flat:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .button.suggested-action { + color: #ffffff; + border-color: #9EA4B5; + background-color: #9EA4B5; } + .button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #9EA4B5; } + .button.suggested-action:hover { + color: #ffffff; + border-color: #b8bcc9; + background-color: #b8bcc9; } + .button.suggested-action:active, .button.suggested-action:checked { + color: #ffffff; + border-color: #8a91a6; + background-color: #8a91a6; } + .button.suggested-action:insensitive { + color: rgba(255, 255, 255, 0.6); + border-color: rgba(158, 164, 181, 0.65); + background-color: rgba(158, 164, 181, 0.65); } + .button.destructive-action { + color: #ffffff; + border-color: #FA4349; + background-color: #FA4349; } + .button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #FA4349; } + .button.destructive-action:hover { + color: #ffffff; + border-color: #fb7074; + background-color: #fb7074; } + .button.destructive-action:active, .button.destructive-action:checked { + color: #ffffff; + border-color: #f92027; + background-color: #f92027; } + .button.destructive-action:insensitive { + color: rgba(255, 255, 255, 0.6); + border-color: rgba(250, 67, 73, 0.65); + background-color: rgba(250, 67, 73, 0.65); } + .button.image-button { + padding: 8px; } + .header-bar .button.image-button { + padding: 6px 9px; } + .button.text-button { + padding-left: 16px; + padding-right: 16px; } + .header-bar .button.text-button { + padding: 6px 16px; } + .button.text-button.image-button { + padding: 4px 8px 5px; } + .button.text-button.image-button GtkLabel:first-child { + padding-left: 8px; } + .button.text-button.image-button GtkLabel:last-child { + padding-right: 8px; } + .header-bar .button.text-button.image-button { + padding: 6px 16px; } + .stack-switcher > .button { + outline-offset: -3px; } + .stack-switcher > .button > GtkLabel { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > .button > GtkImage { + padding-left: 6px; + padding-right: 6px; + padding-top: 5px; + padding-bottom: 5px; } + .stack-switcher > .button .header-bar > GtkLabel { + padding: 6px 10px; } + .stack-switcher > .button.text-button { + padding: 5px 10px; } + .header-bar .stack-switcher > .button.text-button { + padding: 6px 10px; } + .stack-switcher > .button.image-button { + padding: 1px 3px; } + .stack-switcher > .button.needs-attention:active > .label, .stack-switcher > .button.needs-attention:active > GtkImage, .stack-switcher > .button.needs-attention:checked > .label, .stack-switcher > .button.needs-attention:checked > GtkImage { + animation: none; + background-image: none; } + .stack-switcher > .button.needs-attention > .label, .stack-switcher > .button.needs-attention > GtkImage, .button .sidebar-item.needs-attention > GtkLabel { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#5294E2), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > .button.needs-attention > .label:dir(rtl), .stack-switcher > .button.needs-attention > GtkImage:dir(rtl), .button .sidebar-item.needs-attention > GtkLabel:dir(rtl) { + background-position: left 3px, left 4px; } + .inline-toolbar .button, .inline-toolbar .button:backdrop { + border-radius: 2px; + border-width: 1px; } + +.inline-toolbar GtkToolButton > .button { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #cfd6e6; + background-color: #fcfdfd; } + .inline-toolbar GtkToolButton > .button:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; } + .inline-toolbar GtkToolButton > .button:active, .inline-toolbar GtkToolButton > .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + .inline-toolbar GtkToolButton > .button:insensitive { + color: rgba(92, 97, 108, 0.55); + border-color: rgba(207, 214, 230, 0.55); + background-color: rgba(252, 253, 253, 0.55); } + .inline-toolbar GtkToolButton > .button:insensitive > GtkLabel { + color: inherit; } + .inline-toolbar GtkToolButton > .button:insensitive:active, .inline-toolbar GtkToolButton > .button:insensitive:checked { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(82, 148, 226, 0.55); + background-color: rgba(82, 148, 226, 0.55); + opacity: 0.6; } + .inline-toolbar GtkToolButton > .button:insensitive:active > GtkLabel, .inline-toolbar GtkToolButton > .button:insensitive:checked > GtkLabel { + color: inherit; } + +.inline-toolbar.toolbar GtkToolButton > .button.flat, .inline-toolbar GtkToolButton > .button.flat, .osd .button:hover, .osd .button:active, .osd .button:checked, .osd .button:insensitive, .inline-toolbar .button, .inline-toolbar .button:backdrop, .linked > .button, .linked > .button:hover, .linked > .button:active, .linked > .button:checked, GtkComboBox.combobox-entry .entry, GtkComboBox.combobox-entry .button, .primary-toolbar .linked.stack-switcher > .button, .header-bar .linked.stack-switcher > .button, +.primary-toolbar .linked.path-bar > .button, +.header-bar .linked.path-bar > .button, NemoPathBar.linked > .button, .linked > GtkComboBox > .button:dir(ltr) { + border-radius: 0; + border-left-style: none; + border-right-style: none; } + .inline-toolbar GtkToolButton > .button.flat:hover, .osd .button:hover, .inline-toolbar .button:hover, .linked > .button:hover, GtkComboBox.combobox-entry .entry:hover, GtkComboBox.combobox-entry .button:hover, .primary-toolbar .linked.stack-switcher > .button:hover, .header-bar .linked.stack-switcher > .button:hover, + .primary-toolbar .linked.path-bar > .button:hover, + .header-bar .linked.path-bar > .button:hover, .linked > GtkComboBox > .button:hover:dir(ltr) { + box-shadow: inset 1px 0 #5294E2, inset -1px 0 #5294E2; } + .inline-toolbar GtkToolButton > .button.flat:dir(rtl), .inline-toolbar.toolbar GtkToolButton:dir(rtl) > .button.flat, .inline-toolbar GtkToolButton:dir(rtl) > .button.flat, .osd .button:dir(rtl):hover, .osd .button:dir(rtl):active, .osd .button:dir(rtl):checked, .osd .button:dir(rtl):insensitive, .inline-toolbar .button:dir(rtl), .linked > .button:dir(rtl), GtkComboBox.combobox-entry .entry:dir(rtl), GtkComboBox.combobox-entry .button:dir(rtl), .primary-toolbar .linked.stack-switcher > .button:dir(rtl), .header-bar .linked.stack-switcher > .button:dir(rtl), + .primary-toolbar .linked.path-bar > .button:dir(rtl), + .header-bar .linked.path-bar > .button:dir(rtl), .linked > GtkComboBox > .button:dir(rtl) { + border-radius: 0; } + +.osd .button:first-child:hover, .osd .button:first-child:active, .osd .button:first-child:checked, .osd .button:first-child:insensitive, .inline-toolbar .button:first-child, .linked > .button:first-child, .inline-toolbar.toolbar GtkToolButton:first-child > .button.flat, .inline-toolbar GtkToolButton:first-child > .button.flat, GtkComboBox.combobox-entry .entry:first-child, GtkComboBox.combobox-entry .button:first-child, .linked > GtkComboBox:first-child > .button, .primary-toolbar .linked.stack-switcher > .button:first-child, .header-bar .linked.stack-switcher > .button:first-child, +.primary-toolbar .linked.path-bar > .button:first-child, +.header-bar .linked.path-bar > .button:first-child { + border-radius: 3px 0 0 3px; + border-left-style: solid; } + .osd .button:first-child:hover, .inline-toolbar .button:first-child:hover, .linked > .button:first-child:hover, .inline-toolbar GtkToolButton:first-child > .button.flat:hover, GtkComboBox.combobox-entry .entry:first-child:hover, GtkComboBox.combobox-entry .button:first-child:hover, .linked > GtkComboBox:first-child > .button:hover, .primary-toolbar .linked.stack-switcher > .button:first-child:hover, .header-bar .linked.stack-switcher > .button:first-child:hover, + .primary-toolbar .linked.path-bar > .button:first-child:hover, + .header-bar .linked.path-bar > .button:first-child:hover { + box-shadow: inset -1px 0 #5294E2; } +.osd .button:last-child:hover, .osd .button:last-child:active, .osd .button:last-child:checked, .osd .button:last-child:insensitive, .inline-toolbar .button:last-child, .linked > .button:last-child, .inline-toolbar.toolbar GtkToolButton:last-child > .button.flat, .inline-toolbar GtkToolButton:last-child > .button.flat, GtkComboBox.combobox-entry .entry:last-child, GtkComboBox.combobox-entry .button:last-child, .linked > GtkComboBox:last-child > .button, .primary-toolbar .linked.stack-switcher > .button:last-child, .header-bar .linked.stack-switcher > .button:last-child, +.primary-toolbar .linked.path-bar > .button:last-child, +.header-bar .linked.path-bar > .button:last-child { + border-radius: 0 3px 3px 0; + border-right-style: solid; } + .osd .button:last-child:hover, .inline-toolbar .button:last-child:hover, .linked > .button:last-child:hover, .inline-toolbar GtkToolButton:last-child > .button.flat:hover, GtkComboBox.combobox-entry .entry:last-child:hover, GtkComboBox.combobox-entry .button:last-child:hover, .linked > GtkComboBox:last-child > .button:hover, .primary-toolbar .linked.stack-switcher > .button:last-child:hover, .header-bar .linked.stack-switcher > .button:last-child:hover, + .primary-toolbar .linked.path-bar > .button:last-child:hover, + .header-bar .linked.path-bar > .button:last-child:hover { + box-shadow: inset 1px 0 #5294E2; } + .osd .button:last-child:dir(rtl):hover, .osd .button:last-child:dir(rtl):active, .osd .button:last-child:dir(rtl):checked, .osd .button:last-child:dir(rtl):insensitive, .inline-toolbar .button:last-child:dir(rtl), .linked > .button:last-child:dir(rtl), .inline-toolbar GtkToolButton:last-child > .button.flat:dir(rtl), .inline-toolbar.toolbar GtkToolButton:last-child:dir(rtl) > .button.flat, .inline-toolbar GtkToolButton:last-child:dir(rtl) > .button.flat, GtkComboBox.combobox-entry .entry:last-child:dir(rtl), GtkComboBox.combobox-entry .button:last-child:dir(rtl), .linked > GtkComboBox:last-child > .button:dir(rtl), .primary-toolbar .linked.stack-switcher > .button:last-child:dir(rtl), .header-bar .linked.stack-switcher > .button:last-child:dir(rtl), + .primary-toolbar .linked.path-bar > .button:last-child:dir(rtl), + .header-bar .linked.path-bar > .button:last-child:dir(rtl) { + border-bottom-left-radius: 0; } +.osd .button:only-child:hover, .osd .button:only-child:active, .osd .button:only-child:checked, .osd .button:only-child:insensitive, .inline-toolbar .button:only-child, .linked > .button:only-child, .inline-toolbar.toolbar GtkToolButton:only-child > .button.flat, .inline-toolbar GtkToolButton:only-child > .button.flat, GtkComboBox.combobox-entry .entry:only-child, GtkComboBox.combobox-entry .button:only-child, .linked > GtkComboBox:only-child > .button, .primary-toolbar .linked.stack-switcher > .button:only-child, .header-bar .linked.stack-switcher > .button:only-child, +.primary-toolbar .linked.path-bar > .button:only-child, +.header-bar .linked.path-bar > .button:only-child { + border-radius: 3px; + border-style: solid; } + .osd .button:only-child:hover, .inline-toolbar .button:only-child:hover, .linked > .button:only-child:hover, .inline-toolbar GtkToolButton:only-child > .button.flat:hover, GtkComboBox.combobox-entry .entry:only-child:hover, GtkComboBox.combobox-entry .button:only-child:hover, .linked > GtkComboBox:only-child > .button:hover, .primary-toolbar .linked.stack-switcher > .button:only-child:hover, .header-bar .linked.stack-switcher > .button:only-child:hover, + .primary-toolbar .linked.path-bar > .button:only-child:hover, + .header-bar .linked.path-bar > .button:only-child:hover { + box-shadow: none; } + +.linked.vertical > .entry, .linked.vertical > .entry:focus, .linked.vertical > .entry:insensitive, .linked.vertical > .button, .linked.vertical > .button:hover, .linked.vertical > .button:active, .linked.vertical > .button:checked, .linked.vertical > GtkComboBoxText > .button, +.linked.vertical > GtkComboBox > .button { + border-style: solid; + border-bottom-style: none; + border-top-style: none; + border-radius: 0; } + .linked.vertical > .entry:hover, .linked.vertical > .button:hover, .linked.vertical > GtkComboBoxText > .button:hover, + .linked.vertical > GtkComboBox > .button:hover { + box-shadow: inset 0 1px #5294E2, inset 0 -1px #5294E2; } + +.linked.vertical > .entry:first-child, .linked.vertical > .button:first-child, .linked.vertical > GtkComboBoxText:first-child > .button, +.linked.vertical > GtkComboBox:first-child > .button { + border-radius: 3px 3px 0 0; + border-top-style: solid; } + .linked.vertical > .entry:first-child:hover, .linked.vertical > .button:first-child:hover, .linked.vertical > GtkComboBoxText:first-child > .button:hover, + .linked.vertical > GtkComboBox:first-child > .button:hover { + box-shadow: inset 0 -1px #5294E2; } +.linked.vertical > .entry:last-child, .linked.vertical > .button:last-child, .linked.vertical > GtkComboBoxText:last-child > .button, +.linked.vertical > GtkComboBox:last-child > .button { + border-radius: 0 0 3px 3px; + border-bottom-style: solid; } + .linked.vertical > .entry:last-child:hover, .linked.vertical > .button:last-child:hover, .linked.vertical > GtkComboBoxText:last-child > .button:hover, + .linked.vertical > GtkComboBox:last-child > .button:hover { + box-shadow: inset 0 1px #5294E2; } +.linked.vertical > .entry:only-child, .linked.vertical > .button:only-child, .linked.vertical > GtkComboBoxText:only-child > .button, +.linked.vertical > GtkComboBox:only-child > .button { + border-radius: 3px; + border-style: solid; } + .linked.vertical > .entry:only-child:hover, .linked.vertical > .button:only-child:hover, .linked.vertical > GtkComboBoxText:only-child > .button:hover, + .linked.vertical > GtkComboBox:only-child > .button:hover { + box-shadow: none; } + +.menuitem.button.flat, .button:link, .button:visited, .button:link:hover, .button:link:active, .button:link:checked, .button:visited:hover, .button:visited:active, .button:visited:checked, .menu.button, .popup.button, .notebook tab .button, .list-row.button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: none; } + +/* menu buttons */ +.menuitem.button.flat { + transition: none; + outline-offset: -1px; + border-radius: 2px; } + .menuitem.button.flat:hover { + background-color: #f1f2f3; } + +/********* + * Links * + *********/ +*:link, .button:link, .button:visited { + color: #2679db; } + *:link:visited, .button:visited { + color: #1e61b0; } + *:selected *:link:visited, *:selected .button:visited { + color: #b9d4f3; } + *:link:hover, .button:hover:link, .button:hover:visited { + color: #5294e2; } + *:selected *:link:hover, *:selected .button:hover:link, *:selected .button:hover:visited { + color: #edf4fc; } + *:link:active, .button:active:link, .button:active:visited { + color: #2679db; } + *:selected *:link:active, *:selected .button:active:link, *:selected .button:active:visited { + color: #dce9f9; } + *:link:selected, .button:selected:link, .button:selected:visited, .header-bar.selection-mode .subtitle:link, *:selected *:link, *:selected .button:link, *:selected .button:visited { + color: #dce9f9; } + +/***************** + * GtkSpinButton * + *****************/ +.spinbutton { + border-radius: 3px; } + .spinbutton .button { + background-image: none; + border: 1px solid rgba(221, 227, 233, 0.6); + border-style: none none none solid; + color: #646873; + border-radius: 0; + box-shadow: none; } + .spinbutton .button:dir(rtl) { + border-style: none solid none none; } + .spinbutton .button:first-child { + color: red; } + .spinbutton .button:hover { + color: #5294E2; } + .spinbutton .button:insensitive { + color: rgba(92, 97, 108, 0.55); } + .spinbutton .button:active { + background-color: #5294E2; + color: #ffffff; } + .spinbutton.vertical .button:first-child, .spinbutton.vertical:dir(rtl) .button:first-child { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #cfd6e6; + background-color: #fcfdfd; } + .spinbutton.vertical .button:first-child:active, .spinbutton.vertical:dir(rtl) .button:first-child:active { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + .spinbutton.vertical .button:first-child:hover, .spinbutton.vertical:dir(rtl) .button:first-child:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; } + .spinbutton.vertical .button:first-child:insensitive, .spinbutton.vertical:dir(rtl) .button:first-child:insensitive { + color: rgba(92, 97, 108, 0.55); + border-color: rgba(207, 214, 230, 0.55); + background-color: rgba(252, 253, 253, 0.55); } + .spinbutton.vertical .button:first-child:insensitive > GtkLabel, .spinbutton.vertical:dir(rtl) .button:first-child:insensitive > GtkLabel { + color: inherit; } + .spinbutton.vertical .button:last-child, .spinbutton.vertical:dir(rtl) .button:last-child { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #cfd6e6; + background-color: #fcfdfd; } + .spinbutton.vertical .button:last-child:active, .spinbutton.vertical:dir(rtl) .button:last-child:active { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + .spinbutton.vertical .button:last-child:hover, .spinbutton.vertical:dir(rtl) .button:last-child:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; } + .spinbutton.vertical .button:last-child:insensitive, .spinbutton.vertical:dir(rtl) .button:last-child:insensitive { + color: rgba(92, 97, 108, 0.55); + border-color: rgba(207, 214, 230, 0.55); + background-color: rgba(252, 253, 253, 0.55); } + .spinbutton.vertical .button:last-child:insensitive > GtkLabel, .spinbutton.vertical:dir(rtl) .button:last-child:insensitive > GtkLabel { + color: inherit; } + .spinbutton.vertical.entry, .spinbutton.vertical:dir(rtl).entry { + border-radius: 0; + padding-left: 5px; + padding-right: 5px; } + .spinbutton.vertical .button:first-child, .spinbutton.vertical:dir(rtl) .button:first-child, .spinbutton.vertical .button:first-child:active, .spinbutton.vertical:dir(rtl) .button:first-child:active, .spinbutton.vertical .button:first-child:hover, .spinbutton.vertical:dir(rtl) .button:first-child:hover, .spinbutton.vertical .button:first-child:insensitive, .spinbutton.vertical:dir(rtl) .button:first-child:insensitive, .spinbutton.vertical:dir(rtl) .button:first-child, .spinbutton.vertical:dir(rtl) .button:first-child:active, .spinbutton.vertical:dir(rtl) .button:first-child:hover, .spinbutton.vertical:dir(rtl) .button:first-child:insensitive { + border-radius: 2px 2px 0 0; + border-style: solid solid none solid; } + .spinbutton.vertical .button:last-child, .spinbutton.vertical:dir(rtl) .button:last-child, .spinbutton.vertical .button:last-child:active, .spinbutton.vertical:dir(rtl) .button:last-child:active, .spinbutton.vertical .button:last-child:hover, .spinbutton.vertical:dir(rtl) .button:last-child:hover, .spinbutton.vertical .button:last-child:insensitive, .spinbutton.vertical:dir(rtl) .button:last-child:insensitive, .spinbutton.vertical:dir(rtl) .button:last-child, .spinbutton.vertical:dir(rtl) .button:last-child:active, .spinbutton.vertical:dir(rtl) .button:last-child:hover, .spinbutton.vertical:dir(rtl) .button:last-child:insensitive { + border-radius: 0 0 2px 2px; + border-style: none solid solid solid; } + GtkTreeView .spinbutton.entry, GtkTreeView .spinbutton.entry:focus { + padding: 1px; + border-width: 1px 0; + border-color: #5294E2; + border-radius: 0; + box-shadow: none; } + +/************** + * ComboBoxes * + **************/ +GtkComboBox { + -GtkComboBox-arrow-scaling: 0.5; + -GtkComboBox-shadow-type: none; } + GtkComboBox > .button { + padding-top: 3px; + padding-bottom: 4px; } + GtkComboBox:insensitive { + color: rgba(92, 97, 108, 0.55); } + GtkComboBox .separator.vertical, GtkComboBox GtkPlacesSidebar.sidebar .vertical.view.separator, GtkPlacesSidebar.sidebar GtkComboBox .vertical.view.separator { + -GtkWidget-wide-separators: true; } + GtkComboBox.combobox-entry .entry { + border-right-style: none; } + GtkComboBox.combobox-entry .entry:dir(rtl) { + border-left-style: none; } + GtkComboBox.combobox-entry .button { + color: rgba(92, 97, 108, 0.6); + background-color: #cfd6e6; + border-color: #cfd6e6; } + GtkComboBox.combobox-entry .button:hover { + background-color: #e0e4ef; + border-color: #5294E2; + box-shadow: -1px 0 #5294E2; } + GtkComboBox.combobox-entry .button:active, GtkComboBox.combobox-entry .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + GtkComboBox.combobox-entry .button:insensitive { + opacity: 0.5; } + +/************ + * Toolbars * + ************/ +.toolbar, .inline-toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #f9fafb; } + .osd .toolbar, .osd .inline-toolbar, .toolbar.osd, .osd.inline-toolbar { + padding: 7px; + border: none; + border-radius: 4px; + background-color: rgba(60, 64, 73, 0.95); } + +.primary-toolbar { + color: rgba(82, 93, 118, 0.8); + background-color: #e7e8eb; + box-shadow: none; + border-width: 0 0 1px 0; + border-style: solid; + border-image: linear-gradient(to bottom, #e7e8eb, rgba(212, 213, 219, 0.95)) 1 0 1 0; } + .primary-toolbar:backdrop { + background-color: #eff0f2; } + +.inline-toolbar { + background-color: #f0f2f5; + border-style: solid; + border-color: #dde3e9; + border-width: 0 1px 1px; + padding: 3px; + border-radius: 0 0 3px 3px; } + +.search-bar { + background-color: #f9fafb; + border-style: solid; + border-color: #dde3e9; + border-width: 0 0 1px; + padding: 3px; } + +.action-bar { + background-color: #f0f2f5; } + +/*************** + * Header bars * + ***************/ +.header-bar { + padding: 7px 7px 6px 7px; + border-width: 0 0 1px; + border-style: solid; + border-radius: 0; + border-color: rgba(212, 213, 219, 0.95); + color: rgba(82, 93, 118, 0.8); + background-color: rgba(231, 232, 235, 0.95); } + .header-bar:backdrop { + color: rgba(82, 93, 118, 0.5); + background-color: rgba(239, 240, 242, 0.95); } + .header-bar .title { + font-weight: bold; + padding: 0px 12px; } + .header-bar .subtitle { + font-size: smaller; + padding: 0 12px; } + .header-bar.selection-mode { + color: #ffffff; + background-color: rgba(82, 148, 226, 0.95); + border-color: rgba(65, 137, 223, 0.95); + box-shadow: none; } + .header-bar.selection-mode:backdrop { + background-color: rgba(82, 148, 226, 0.95); } + .header-bar.selection-mode .selection-menu { + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + padding-top: 12px; + padding-bottom: 12px; } + .header-bar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .header-bar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + .maximized .header-bar.selection-mode { + background-color: #5294e2; } + .tiled .header-bar, .tiled .header-bar:backdrop, .maximized .header-bar, .maximized .header-bar:backdrop { + border-radius: 0; } + .maximized .header-bar { + background-color: #e7e8eb; } + .maximized .header-bar:backdrop { + background-color: #eff0f2; } + .header-bar.default-decoration { + padding-top: 5px; + padding-bottom: 5px; + background-color: #e7e8eb; + border-bottom: none; } + .header-bar.default-decoration:backdrop { + background-color: #eff0f2; } + +.titlebar { + padding-left: 7px; + padding-right: 7px; + border-radius: 4px 4px 0 0; + color: rgba(82, 93, 118, 0.8); + box-shadow: inset 0 1px rgba(239, 240, 242, 0.95); } + .titlebar:backdrop { + color: rgba(82, 93, 118, 0.5); } + +.primary-toolbar .separator, .primary-toolbar GtkPlacesSidebar.sidebar .view.separator, GtkPlacesSidebar.sidebar .primary-toolbar .view.separator, .header-bar .header-bar-separator, .header-bar > GtkBox > .separator.vertical { + -GtkWidget-wide-separators: true; + -GtkWidget-separator-width: 1px; + border-width: 0 1px; + border-image: linear-gradient(to bottom, rgba(82, 93, 118, 0) 25%, rgba(82, 93, 118, 0.15) 25%, rgba(82, 93, 118, 0.15) 75%, rgba(82, 93, 118, 0) 75%) 0 1/0 1px stretch; } + .primary-toolbar .separator:backdrop, .primary-toolbar GtkPlacesSidebar.sidebar .view.separator:backdrop, GtkPlacesSidebar.sidebar .primary-toolbar .view.separator:backdrop, .header-bar .header-bar-separator:backdrop, .header-bar > GtkBox > .separator.vertical:backdrop { + opacity: 0.6; } + +.primary-toolbar .entry, .header-bar .entry { + color: rgba(82, 93, 118, 0.8); + border-color: rgba(82, 93, 118, 0.1); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9)); + background-color: transparent; } + .primary-toolbar .entry.image, .header-bar .entry.image, .primary-toolbar .entry.image:hover, .header-bar .entry.image:hover { + color: inherit; } + .primary-toolbar .entry:backdrop, .header-bar .entry:backdrop { + opacity: 0.85; } + .primary-toolbar .entry:focus, .header-bar .entry:focus { + color: #ffffff; + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .primary-toolbar .entry:insensitive, .header-bar .entry:insensitive { + color: rgba(82, 93, 118, 0.35); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.55)); } + .primary-toolbar .entry:selected:focus, .header-bar .entry:selected:focus { + background-color: #ffffff; + color: #5294E2; } +.primary-toolbar .button, .header-bar .button { + color: rgba(82, 93, 118, 0.8); + outline-color: rgba(82, 93, 118, 0.1); + outline-offset: -3px; + background-color: rgba(231, 232, 235, 0); + border-color: rgba(231, 232, 235, 0); } + .primary-toolbar .button:backdrop, .header-bar .button:backdrop { + opacity: 0.7; } + .primary-toolbar .button:hover, .header-bar .button:hover { + color: rgba(82, 93, 118, 0.8); + outline-color: rgba(82, 93, 118, 0.1); + border-color: rgba(82, 93, 118, 0.1); + background-color: rgba(252, 253, 253, 0.9); } + .primary-toolbar .button:active, .header-bar .button:active, .primary-toolbar .button:checked, .header-bar .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + .primary-toolbar .button:insensitive, .header-bar .button:insensitive { + color: rgba(82, 93, 118, 0.35); + background-color: rgba(231, 232, 235, 0); + border-color: rgba(231, 232, 235, 0); } + .primary-toolbar .button:insensitive > GtkLabel, .header-bar .button:insensitive > GtkLabel { + color: inherit; } + .primary-toolbar .button:insensitive:active, .header-bar .button:insensitive:active, .primary-toolbar .button:insensitive:checked, .header-bar .button:insensitive:checked { + color: rgba(255, 255, 255, 0.55); + background-color: rgba(231, 232, 235, 0); + border-color: rgba(231, 232, 235, 0); } +.primary-toolbar .linked > .button, .header-bar .linked > .button { + border-radius: 3px; + border-style: solid; } +.primary-toolbar .linked > .button:hover, .header-bar .linked > .button:hover { + box-shadow: none; } +.primary-toolbar .linked.stack-switcher > .button, .header-bar .linked.stack-switcher > .button, +.primary-toolbar .linked.path-bar > .button, +.header-bar .linked.path-bar > .button { + color: rgba(82, 93, 118, 0.8); + outline-color: rgba(82, 93, 118, 0.1); + border-color: rgba(82, 93, 118, 0.1); + background-color: rgba(252, 253, 253, 0.9); } + .primary-toolbar .linked.stack-switcher > .button:hover, .header-bar .linked.stack-switcher > .button:hover, + .primary-toolbar .linked.path-bar > .button:hover, + .header-bar .linked.path-bar > .button:hover { + border-color: #5294E2; } + .primary-toolbar .linked.stack-switcher > .button:active, .header-bar .linked.stack-switcher > .button:active, .primary-toolbar .linked.stack-switcher > .button:checked, .header-bar .linked.stack-switcher > .button:checked, + .primary-toolbar .linked.path-bar > .button:active, + .header-bar .linked.path-bar > .button:active, + .primary-toolbar .linked.path-bar > .button:checked, + .header-bar .linked.path-bar > .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } +.primary-toolbar .button.suggested-action, .header-bar .button.suggested-action { + color: #ffffff; + border-color: #9EA4B5; + background-color: #9EA4B5; } + .primary-toolbar .button.suggested-action.flat, .header-bar .button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #9EA4B5; } + .primary-toolbar .button.suggested-action:hover, .header-bar .button.suggested-action:hover { + color: #ffffff; + border-color: #b8bcc9; + background-color: #b8bcc9; } + .primary-toolbar .button.suggested-action:active, .header-bar .button.suggested-action:active, .primary-toolbar .button.suggested-action:checked, .header-bar .button.suggested-action:checked { + color: #ffffff; + border-color: #8a91a6; + background-color: #8a91a6; } + .primary-toolbar .button.suggested-action:insensitive, .header-bar .button.suggested-action:insensitive { + color: rgba(255, 255, 255, 0.6); + border-color: rgba(158, 164, 181, 0.65); + background-color: rgba(158, 164, 181, 0.65); } +.primary-toolbar .button.suggested-action:backdrop, .header-bar .button.suggested-action:backdrop, +.primary-toolbar .button.suggested-action:backdrop, +.header-bar .button.suggested-action:backdrop { + opacity: 0.8; } +.primary-toolbar .button.destructive-action, .header-bar .button.destructive-action { + color: #ffffff; + border-color: #FA4349; + background-color: #FA4349; } + .primary-toolbar .button.destructive-action.flat, .header-bar .button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #FA4349; } + .primary-toolbar .button.destructive-action:hover, .header-bar .button.destructive-action:hover { + color: #ffffff; + border-color: #fb7074; + background-color: #fb7074; } + .primary-toolbar .button.destructive-action:active, .header-bar .button.destructive-action:active, .primary-toolbar .button.destructive-action:checked, .header-bar .button.destructive-action:checked { + color: #ffffff; + border-color: #f92027; + background-color: #f92027; } + .primary-toolbar .button.destructive-action:insensitive, .header-bar .button.destructive-action:insensitive { + color: rgba(255, 255, 255, 0.6); + border-color: rgba(250, 67, 73, 0.65); + background-color: rgba(250, 67, 73, 0.65); } +.primary-toolbar .button.destructive-action:backdrop, .header-bar .button.destructive-action:backdrop, +.primary-toolbar .button.destructive-action:backdrop, +.header-bar .button.destructive-action:backdrop { + opacity: 0.8; } +.primary-toolbar .spinbutton:focus .button, .header-bar .spinbutton:focus .button { + color: #ffffff; } +.primary-toolbar .spinbutton .button, .header-bar .spinbutton .button { + color: rgba(82, 93, 118, 0.8); } + .primary-toolbar .spinbutton .button:hover, .header-bar .spinbutton .button:hover { + background-color: rgba(255, 255, 255, 0.1); + border-color: transparent; } + .primary-toolbar .spinbutton .button:insensitive, .header-bar .spinbutton .button:insensitive { + color: rgba(82, 93, 118, 0.5); } + .primary-toolbar .spinbutton .button:active, .header-bar .spinbutton .button:active { + background-color: rgba(0, 0, 0, 0.1); } +.primary-toolbar GtkComboBox:insensitive, .header-bar GtkComboBox:insensitive { + color: rgba(82, 93, 118, 0.2); } +.primary-toolbar GtkComboBox.combobox-entry .button, .header-bar GtkComboBox.combobox-entry .button { + color: rgba(82, 93, 118, 0.8); + border-color: rgba(82, 93, 118, 0.1); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9)); + background-color: transparent; } + .primary-toolbar GtkComboBox.combobox-entry .button.image, .header-bar GtkComboBox.combobox-entry .button.image, .primary-toolbar GtkComboBox.combobox-entry .button.image:hover, .header-bar GtkComboBox.combobox-entry .button.image:hover { + color: inherit; } + .primary-toolbar GtkComboBox.combobox-entry .button:hover, .header-bar GtkComboBox.combobox-entry .button:hover { + color: #ffffff; + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .primary-toolbar GtkComboBox.combobox-entry .button:insensitive, .header-bar GtkComboBox.combobox-entry .button:insensitive { + color: rgba(82, 93, 118, 0.35); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.55)); } +.primary-toolbar GtkSwitch:backdrop, .header-bar GtkSwitch:backdrop { + opacity: 0.75; } +.primary-toolbar GtkProgressBar.trough, .header-bar GtkProgressBar.trough, .primary-toolbar .level-bar.trough, .header-bar .level-bar.trough { + background-color: rgba(82, 93, 118, 0.15); } +.primary-toolbar GtkProgressBar:backdrop, .header-bar GtkProgressBar:backdrop { + opacity: 0.75; } +.primary-toolbar .scale:backdrop, .header-bar .scale:backdrop { + opacity: 0.75; } +.primary-toolbar .scale.trough, .header-bar .scale.trough { + background-image: linear-gradient(to bottom, rgba(82, 93, 118, 0.15)); } + .primary-toolbar .scale.trough:insensitive, .header-bar .scale.trough:insensitive { + background-image: linear-gradient(to bottom, rgba(82, 93, 118, 0.1)); } +.primary-toolbar .scale.slider, .header-bar .scale.slider { + background-image: linear-gradient(to bottom, rgba(252, 252, 253, 0.995)); } + .primary-toolbar .scale.slider:insensitive, .header-bar .scale.slider:insensitive { + background-image: linear-gradient(to bottom, rgba(241, 241, 243, 0.97)); } + +/************ + * Pathbars * + ************/ +.path-bar .button:first-child { + padding-left: 8px; } +.path-bar .button:last-child { + padding-right: 8px; } +.path-bar .button:only-child { + padding-left: 12px; + padding-right: 12px; } +.path-bar .button GtkLabel:last-child { + padding-left: 2px; } +.path-bar .button GtkLabel:first-child { + padding-right: 2px; } +.path-bar .button GtkLabel:only-child { + padding-right: 0; + padding-left: 0; } + +/************** + * Tree Views * + **************/ +GtkTreeView.view { + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; + border-left-color: rgba(92, 97, 108, 0.15); + border-top-color: rgba(0, 0, 0, 0.1); } + GtkTreeView.view:selected { + border-radius: 0; + border-left-color: #a8c9f0; + border-top-color: rgba(92, 97, 108, 0.1); } + GtkTreeView.view:insensitive { + color: rgba(92, 97, 108, 0.55); } + GtkTreeView.view:insensitive:selected { + color: #97beed; } + GtkTreeView.view.dnd { + border-style: solid none; + border-width: 1px; + border-color: #577aa7; } + GtkTreeView.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #adb0b5; } + GtkTreeView.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + GtkTreeView.view.expander:hover { + color: #5c616c; } + GtkTreeView.view.expander:selected { + color: #cbdef6; } + GtkTreeView.view.expander:selected:hover { + color: #ffffff; } + GtkTreeView.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + GtkTreeView.view.progressbar { + color: #ffffff; + border-radius: 3px; } + GtkTreeView.view.progressbar:selected { + color: #5294E2; + box-shadow: none; + background-color: #ffffff; } + GtkTreeView.view.trough, GtkTreeView.view.trough:selected { + background-color: #cfd6e6; + border-radius: 3px; + border-width: 0; } + +column-header .button { + color: #7c8089; + background-color: #ffffff; } + column-header .button:hover { + color: #5294E2; + box-shadow: none; + transition: none; } + column-header .button:active { + color: #5c616c; + transition: none; } +column-header:last-child .button, column-header:last-child.button { + border-right-style: none; + border-image: none; } + +column-header.button.dnd, column-header .button.dnd, column-header.button.dnd:active, column-header.button.dnd:selected, column-header.button.dnd:hover { + transition: none; + color: #5294E2; + box-shadow: inset 1px 1px 0 1px #5294E2, inset -1px 0 0 1px #5294E2, inset 1px 1px #ffffff, inset -1px 0 #ffffff; } + +column-header .button, column-header .button:hover, column-header .button:active { + padding: 3px 6px; + background-image: none; + border-style: none solid none none; + border-radius: 0; + border-image: linear-gradient(to bottom, transparent 20%, rgba(0, 0, 0, 0.11) 20%, rgba(0, 0, 0, 0.11) 80%, transparent 80%) 0 1 0 0/0 1px 0 0 stretch; } + column-header .button:active { + background-color: #ffffff; } + column-header .button:insensitive { + border-color: #f9fafb; + background-image: none; } + +/********* + * Menus * + *********/ +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + background-color: #e7e8eb; + color: rgba(82, 93, 118, 0.8); } + .menubar:backdrop { + background-color: #eff0f2; } + .menubar > .menuitem { + padding: 6px 8px; + border: solid transparent; + border-width: 0; } + .menubar > .menuitem:hover { + background-color: #5294E2; + color: #ffffff; } + .menubar > .menuitem:insensitive { + color: rgba(82, 93, 118, 0.2); + border-color: transparent; } + +.menu, .popup { + margin: 4px; + padding: 0; + border-radius: 0; + background-color: #ffffff; + border: 1px solid #dde3e9; } + .csd .menu, .csd .popup { + padding: 4px 0px; + border-radius: 3px; + border: none; } + .menu .menuitem, .popup .menuitem { + padding: 5px; } + .menu .menuitem:hover, .popup .menuitem:hover { + color: #5c616c; + background-color: rgba(0, 0, 0, 0.04); + border: solid rgba(0, 0, 0, 0.08); + border-width: 1px 0 1px 0; } + .menu .menuitem:insensitive, .popup .menuitem:insensitive { + color: rgba(92, 97, 108, 0.55); } + .menu .menuitem.separator, .menu GtkPlacesSidebar.sidebar .menuitem.view.separator, GtkPlacesSidebar.sidebar .menu .menuitem.view.separator, .popup .menuitem.separator, .popup GtkPlacesSidebar.sidebar .menuitem.view.separator, GtkPlacesSidebar.sidebar .popup .menuitem.view.separator { + color: #ffffff; } + .menu .menuitem.arrow, .popup .menuitem.arrow { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + .menu .menuitem.arrow:dir(rtl), .popup .menuitem.arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + .menu.button, .popup.button { + border-style: none; + border-radius: 0; } + .menu.button.top, .popup.button.top { + border-bottom: 1px solid #eeeff0; } + .menu.button.bottom, .popup.button.bottom { + border-top: 1px solid #eeeff0; } + .menu.button:hover, .popup.button:hover { + background-color: #eeeff0; } + .menu.button:insensitive, .popup.button:insensitive { + color: transparent; + background-color: transparent; + border-color: transparent; } + +.menuitem .accelerator { + color: alpha(currentColor,0.55); } + +/************ + * Popovers * + ************/ +.popover { + padding: 2px; + border: 1px solid #ced6de; + border-radius: 3px; + background-clip: border-box; + background-color: #ffffff; + box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.07); } + .popover .separator, .popover GtkPlacesSidebar.sidebar .view.separator, GtkPlacesSidebar.sidebar .popover .view.separator { + color: transparent; } + .popover > .list, + .popover > .view, + .popover > .toolbar, + .popover > .inline-toolbar, .popover.osd > .toolbar, .popover.osd > .inline-toolbar { + border-style: none; + background-color: transparent; } + +.entry.cursor-handle, +.cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + .entry.cursor-handle.top, + .cursor-handle.top { + -gtk-icon-source: -gtk-icontheme("selection-start-symbolic"); } + .entry.cursor-handle.bottom, + .cursor-handle.bottom { + -gtk-icon-source: -gtk-icontheme("selection-end-symbolic"); } + +/***************** + * Notebooks and * + * Tabs * + *****************/ +.notebook { + padding: 0; + background-color: #fefefe; + -GtkNotebook-initial-gap: 10; + -GtkNotebook-arrow-spacing: 5; + -GtkNotebook-tab-curvature: 0; + -GtkNotebook-tab-overlap: -8; + -GtkNotebook-has-tab-gap: false; + -GtkWidget-focus-padding: 0; + -GtkWidget-focus-line-width: 0; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + .notebook.frame { + border: 1px solid #dde3e9; } + .notebook.frame.top { + border-top-width: 0; } + .notebook.frame.bottom { + border-bottom-width: 0; } + .notebook.frame.right { + border-right-width: 0; } + .notebook.frame.left { + border-left-width: 0; } + .notebook.header { + background-color: #ffffff; } + .notebook.header.frame { + border: 1px solid #dde3e9; } + .notebook.header.frame.top { + border-bottom-width: 0; } + .notebook.header.frame.bottom { + border-top-width: 0; } + .notebook.header.frame.right { + border-left-width: 0; } + .notebook.header.frame.left { + border-right-width: 0; } + .notebook.header.top { + box-shadow: inset 0 -1px #edf0f3; } + .notebook.header.bottom { + box-shadow: inset 0 1px #edf0f3; } + .notebook.header.right { + box-shadow: inset 1px 0 #edf0f3; } + .notebook.header.left { + box-shadow: inset -1px 0 #edf0f3; } + .notebook tab { + border-width: 0; + border-style: solid; + border-color: transparent; + background-color: transparent; + outline-color: transparent; + outline-offset: 0; } + .notebook tab.top, .notebook tab.bottom { + padding: 5px 20px; } + .notebook tab.left, .notebook tab.right { + padding: 5px 20px; } + .notebook tab.reorderable-page.top, .notebook tab.reorderable-page.bottom { + padding-left: 12px; + padding-right: 12px; } + .notebook tab.reorderable-page.top, .notebook tab.top { + border-color: transparent; } + .notebook tab.reorderable-page.top:hover, .notebook tab.reorderable-page.top.prelight-page, .notebook tab.top:hover, .notebook tab.top.prelight-page { + border-color: rgba(221, 227, 233, 0.5); + border-width: 1px; + border-top-width: 0; + background-color: rgba(249, 250, 251, 0.2); } + .notebook tab.reorderable-page.top:active, .notebook tab.reorderable-page.top.active-page, .notebook tab.reorderable-page.top.active-page:hover, .notebook tab.top:active, .notebook tab.top.active-page, .notebook tab.top.active-page:hover { + border-width: 1px; + border-top-width: 0; + border-color: #dde3e9; + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.top:active:hover, .notebook tab.reorderable-page.top.active-page:hover, .notebook tab.reorderable-page.top.active-page:hover:hover, .notebook tab.top:active:hover, .notebook tab.top.active-page:hover, .notebook tab.top.active-page:hover:hover { + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.bottom, .notebook tab.bottom { + border-color: transparent; } + .notebook tab.reorderable-page.bottom:hover, .notebook tab.reorderable-page.bottom.prelight-page, .notebook tab.bottom:hover, .notebook tab.bottom.prelight-page { + border-color: rgba(221, 227, 233, 0.5); + border-width: 1px; + border-bottom-width: 0; + background-color: rgba(249, 250, 251, 0.2); } + .notebook tab.reorderable-page.bottom:active, .notebook tab.reorderable-page.bottom.active-page, .notebook tab.reorderable-page.bottom.active-page:hover, .notebook tab.bottom:active, .notebook tab.bottom.active-page, .notebook tab.bottom.active-page:hover { + border-width: 1px; + border-bottom-width: 0; + border-color: #dde3e9; + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.bottom:active:hover, .notebook tab.reorderable-page.bottom.active-page:hover, .notebook tab.reorderable-page.bottom.active-page:hover:hover, .notebook tab.bottom:active:hover, .notebook tab.bottom.active-page:hover, .notebook tab.bottom.active-page:hover:hover { + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.right, .notebook tab.right { + border-color: transparent; } + .notebook tab.reorderable-page.right:hover, .notebook tab.reorderable-page.right.prelight-page, .notebook tab.right:hover, .notebook tab.right.prelight-page { + border-color: rgba(221, 227, 233, 0.5); + border-width: 1px; + border-right-width: 0; + background-color: rgba(249, 250, 251, 0.2); } + .notebook tab.reorderable-page.right:active, .notebook tab.reorderable-page.right.active-page, .notebook tab.reorderable-page.right.active-page:hover, .notebook tab.right:active, .notebook tab.right.active-page, .notebook tab.right.active-page:hover { + border-width: 1px; + border-right-width: 0; + border-color: #dde3e9; + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.right:active:hover, .notebook tab.reorderable-page.right.active-page:hover, .notebook tab.reorderable-page.right.active-page:hover:hover, .notebook tab.right:active:hover, .notebook tab.right.active-page:hover, .notebook tab.right.active-page:hover:hover { + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.left, .notebook tab.left { + border-color: transparent; } + .notebook tab.reorderable-page.left:hover, .notebook tab.reorderable-page.left.prelight-page, .notebook tab.left:hover, .notebook tab.left.prelight-page { + border-color: rgba(221, 227, 233, 0.5); + border-width: 1px; + border-left-width: 0; + background-color: rgba(249, 250, 251, 0.2); } + .notebook tab.reorderable-page.left:active, .notebook tab.reorderable-page.left.active-page, .notebook tab.reorderable-page.left.active-page:hover, .notebook tab.left:active, .notebook tab.left.active-page, .notebook tab.left.active-page:hover { + border-width: 1px; + border-left-width: 0; + border-color: #dde3e9; + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab.reorderable-page.left:active:hover, .notebook tab.reorderable-page.left.active-page:hover, .notebook tab.reorderable-page.left.active-page:hover:hover, .notebook tab.left:active:hover, .notebook tab.left.active-page:hover, .notebook tab.left.active-page:hover:hover { + background-color: rgba(0, 0, 0, 0.02); } + .notebook tab GtkLabel { + padding: 0 2px; + font-weight: bold; + color: rgba(92, 97, 108, 0.55); } + .notebook tab .prelight-page GtkLabel, .notebook tab GtkLabel.prelight-page { + color: rgba(92, 97, 108, 0.775); } + .notebook tab .active-page GtkLabel, .notebook tab GtkLabel.active-page { + color: #5c616c; } + .notebook tab .button { + padding: 0; + color: #92969e; } + .notebook tab .button:hover { + color: #ff4d4d; } + .notebook tab .button:active { + color: #5294E2; } + .notebook tab .button > GtkImage { + padding: 2px; } + .notebook.arrow { + color: rgba(92, 97, 108, 0.55); } + .notebook.arrow:hover { + color: rgba(92, 97, 108, 0.775); } + .notebook.arrow:active { + color: #5c616c; } + .notebook.arrow:insensitive { + color: rgba(92, 97, 108, 0); } + +/************** + * Scrollbars * + **************/ +.scrollbar { + -GtkRange-slider-width: 13; + -GtkRange-trough-border: 1; + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + -GtkScrollbar-min-slider-length: 42; + -GtkRange-stepper-spacing: 0; + -GtkRange-trough-under-steppers: 1; } + .scrollbar .button { + border: none; } + .scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + opacity: 0.4; + -GtkRange-slider-width: 6px; } + .scrollbar.overlay-indicator:not(.dragging):not(.hovering) .slider { + margin: 0; + background-color: #8b8e96; + border: 1px solid rgba(255, 255, 255, 0.6); + background-clip: padding-box; } + .scrollbar.overlay-indicator:not(.dragging):not(.hovering) .trough { + border-style: none; + background-color: transparent; } + .scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical .slider { + margin-top: 2px; + margin-bottom: 2px; } + .scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal .slider { + margin-left: 2px; + margin-right: 2px; } + .scrollbar.overlay-indicator.dragging, .scrollbar.overlay-indicator.hovering { + opacity: 0.99; } + .scrollbar .trough { + background-color: #fcfcfc; + border: 1px none #dde3e9; } + .scrollbar .slider { + background-color: #babcc1; } + .scrollbar .slider:hover { + background-color: #c9ccd0; } + .scrollbar .slider:prelight:active { + background-color: #5294E2; } + .scrollbar .slider:insensitive { + background-color: transparent; } + .scrollbar .slider { + border-radius: 100px; + margin: 3px; } + .scrollbar.fine-tune .slider { + margin: 4px; } + .scrollbar.vertical .slider { + margin-left: 4px; } + .scrollbar.vertical .slider:dir(rtl) { + margin-left: 3px; + margin-right: 4px; } + .scrollbar.vertical.fine-tune .slider { + margin-left: 5px; } + .scrollbar.vertical.fine-tune .slider:dir(rtl) { + margin-left: 4px; + margin-right: 5px; } + .scrollbar.vertical .trough { + border-left-style: solid; } + .scrollbar.vertical .trough:dir(rtl) { + border-left-style: none; + border-right-style: solid; } + .scrollbar.horizontal .slider { + margin-top: 4px; } + .scrollbar.horizontal.fine-tune .slider { + margin-top: 5px; } + .scrollbar.horizontal .trough { + border-top-style: solid; } + +.scrollbars-junction, +.scrollbars-junction.frame { + border-color: transparent; + border-image: linear-gradient(to bottom, #dde3e9 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #fcfcfc; } + .scrollbars-junction:dir(rtl), + .scrollbars-junction.frame:dir(rtl) { + border-image-slice: 0 1 0 0; } + +/********** + * Switch * + **********/ +GtkSwitch { + font: 1; + -GtkSwitch-slider-width: 41; } + GtkSwitch.trough, GtkSwitch.slider { + background-size: 52px 24px; + background-repeat: no-repeat; + background-position: right center; + color: transparent; + border-color: transparent; + border-image: none; + border-style: none; + box-shadow: none; } + GtkSwitch.trough:dir(rtl), GtkSwitch.slider:dir(rtl) { + background-position: left center; } + +GtkSwitch.trough { + background-image: -gtk-scaled(url("assets/switch.png"), url("assets/switch@2.png")); } + +GtkSwitch.trough:active { + background-image: -gtk-scaled(url("assets/switch-active.png"), url("assets/switch-active@2.png")); } + +GtkSwitch.trough:insensitive { + background-image: -gtk-scaled(url("assets/switch-insensitive.png"), url("assets/switch-insensitive@2.png")); } + +GtkSwitch.trough:active:insensitive { + background-image: -gtk-scaled(url("assets/switch-active-insensitive.png"), url("assets/switch-active-insensitive@2.png")); } + +.header-bar GtkSwitch.trough { + background-image: -gtk-scaled(url("assets/switch-header.png"), url("assets/switch-header@2.png")); } + +.header-bar GtkSwitch.trough:active { + background-image: -gtk-scaled(url("assets/switch-active-header.png"), url("assets/switch-active-header@2.png")); } + +.header-bar GtkSwitch.trough:insensitive { + background-image: -gtk-scaled(url("assets/switch-insensitive-header.png"), url("assets/switch-insensitive-header@2.png")); } + +.header-bar GtkSwitch.trough:active:insensitive { + background-image: -gtk-scaled(url("assets/switch-active-insensitive-header.png"), url("assets/switch-active-insensitive-header@2.png")); } + +.list-row:selected GtkSwitch.trough { + background-image: -gtk-scaled(url("assets/switch-selected.png"), url("assets/switch-selected@2.png")); } + +.list-row:selected GtkSwitch.trough:active { + background-image: -gtk-scaled(url("assets/switch-active-selected.png"), url("assets/switch-active-selected@2.png")); } + +.list-row:selected GtkSwitch.trough:insensitive { + background-image: -gtk-scaled(url("assets/switch-insensitive-selected.png"), url("assets/switch-insensitive-selected@2.png")); } + +.list-row:selected GtkSwitch.trough:active:insensitive { + background-image: -gtk-scaled(url("assets/switch-active-insensitive-selected.png"), url("assets/switch-active-insensitive-selected@2.png")); } + +/************************* + * Check and Radio items * + *************************/ +.check { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-unchecked.png"), url("assets/checkbox-unchecked@2.png")); } + +GtkTreeView.view.check:selected, +.list-row:selected .check { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-unchecked-selected.png"), url("assets/checkbox-unchecked-selected@2.png")); } + +.check:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-unchecked-insensitive.png"), url("assets/checkbox-unchecked-insensitive@2.png")); } + +GtkTreeView.view.check:insensitive:selected, +.list-row:selected .check:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-unchecked-insensitive-selected.png"), url("assets/checkbox-unchecked-insensitive-selected@2.png")); } + +.check:inconsistent { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-mixed.png"), url("assets/checkbox-mixed@2.png")); } + +GtkTreeView.view.check:inconsistent:selected, +.list-row:selected .check:inconsistent { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-mixed-selected.png"), url("assets/checkbox-mixed-selected@2.png")); } + +.check:inconsistent:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-mixed-insensitive.png"), url("assets/checkbox-mixed-insensitive@2.png")); } + +GtkTreeView.view.check:inconsistent:insensitive:selected, +.list-row:selected .check:inconsistent:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-mixed-insensitive-selected.png"), url("assets/checkbox-mixed-insensitive-selected@2.png")); } + +.check:checked { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked.png"), url("assets/checkbox-checked@2.png")); } + +GtkTreeView.view.check:checked:selected, +.list-row:selected .check:checked { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selected.png"), url("assets/checkbox-checked-selected@2.png")); } + +.check:checked:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-insensitive.png"), url("assets/checkbox-checked-insensitive@2.png")); } + +GtkTreeView.view.check:checked:insensitive:selected, +.list-row:selected .check:checked:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-insensitive-selected.png"), url("assets/checkbox-checked-insensitive-selected@2.png")); } + +.radio { + -gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked.png"), url("assets/radio-unchecked@2.png")); } + +GtkTreeView.view.radio:selected, +.list-row:selected .radio { + -gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked-selected.png"), url("assets/radio-unchecked-selected@2.png")); } + +.radio:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked-insensitive.png"), url("assets/radio-unchecked-insensitive@2.png")); } + +GtkTreeView.view.radio:insensitive:selected, +.list-row:selected .radio:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-unchecked-insensitive-selected.png"), url("assets/radio-unchecked-insensitive-selected@2.png")); } + +.radio:inconsistent { + -gtk-icon-source: -gtk-scaled(url("assets/radio-mixed.png"), url("assets/radio-mixed@2.png")); } + +GtkTreeView.view.radio:inconsistent:selected, +.list-row:selected .radio:inconsistent { + -gtk-icon-source: -gtk-scaled(url("assets/radio-mixed-selected.png"), url("assets/radio-mixed-selected@2.png")); } + +.radio:inconsistent:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-mixed-insensitive.png"), url("assets/radio-mixed-insensitive@2.png")); } + +GtkTreeView.view.radio:inconsistent:insensitive:selected, +.list-row:selected .radio:inconsistent:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-mixed-insensitive-selected.png"), url("assets/radio-mixed-insensitive-selected@2.png")); } + +.radio:checked { + -gtk-icon-source: -gtk-scaled(url("assets/radio-checked.png"), url("assets/radio-checked@2.png")); } + +GtkTreeView.view.radio:checked:selected, +.list-row:selected .radio:checked { + -gtk-icon-source: -gtk-scaled(url("assets/radio-checked-selected.png"), url("assets/radio-checked-selected@2.png")); } + +.radio:checked:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-checked-insensitive.png"), url("assets/radio-checked-insensitive@2.png")); } + +GtkTreeView.view.radio:checked:insensitive:selected, +.list-row:selected .radio:checked:insensitive { + -gtk-icon-source: -gtk-scaled(url("assets/radio-checked-insensitive-selected.png"), url("assets/radio-checked-insensitive-selected@2.png")); } + +GtkIconView.view.check, +GtkFlowBox.view.check { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +GtkIconView.view.check:checked, +GtkFlowBox.view.check:checked { + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +GtkCheckButton.text-button, GtkRadioButton.text-button { + padding: 1px 2px 4px; + outline-offset: 0; } + GtkCheckButton.text-button:insensitive, GtkCheckButton.text-button:insensitive:active, GtkCheckButton.text-button:insensitive:inconsistent, GtkRadioButton.text-button:insensitive, GtkRadioButton.text-button:insensitive:active, GtkRadioButton.text-button:insensitive:inconsistent { + color: rgba(92, 97, 108, 0.55); } + +/************ + * GtkScale * + ************/ +.scale { + -GtkScale-slider-length: 15; + -GtkRange-slider-width: 15; + -GtkRange-trough-border: 0; + outline-offset: -1px; + outline-radius: 2px; } + .scale.trough { + margin: 5px; } + .scale.fine-tune.trough { + border-radius: 5px; + margin: 3px; } + .scale.slider { + background-clip: border-box; + background-image: linear-gradient(to bottom, #ffffff); + border: 1px solid #5294E2; + border-radius: 50%; + box-shadow: none; } + .scale.slider:hover { + background-image: linear-gradient(to bottom, #5294E2); + border-color: #5294E2; } + .scale.slider:insensitive { + background-image: linear-gradient(to bottom, #fcfcfd); + border-color: #9dc1ed; } + .scale.slider:active { + background-image: linear-gradient(to bottom, #2679db); + border-color: #2679db; } + .osd .scale.slider { + background-image: linear-gradient(to bottom, rgba(60, 64, 73, 0.95)); + border-color: #5294E2; } + .osd .scale.slider:hover { + background-image: linear-gradient(to bottom, #5294E2); } + .osd .scale.slider:active { + background-image: linear-gradient(to bottom, #2679db); + border-color: #2679db; } + .list-row:selected .scale.slider { + background-image: linear-gradient(to bottom, #ffffff); + border-color: #ffffff; } + .list-row:selected .scale.slider:hover { + background-image: linear-gradient(to bottom, #e5eefa); + border-color: #e5eefa; } + .list-row:selected .scale.slider:active { + background-image: linear-gradient(to bottom, #a8c9f0); + border-color: #a8c9f0; } + .list-row:selected .scale.slider:insensitive { + background-image: linear-gradient(to bottom, #b1cef1); + border-color: #b1cef1; } + .scale.trough { + border: none; + border-radius: 2.5px; + background-image: linear-gradient(to bottom, #cfd6e6); } + .scale.trough.highlight { + background-image: linear-gradient(to bottom, #5294E2); } + .scale.trough.highlight:insensitive { + background-image: linear-gradient(to bottom, rgba(82, 148, 226, 0.55)); } + .scale.trough:insensitive { + background-image: linear-gradient(to bottom, rgba(207, 214, 230, 0.55)); } + .osd .scale.trough { + background-image: linear-gradient(to bottom, rgba(76, 81, 93, 0.95)); + outline-color: rgba(168, 173, 181, 0.2); } + .osd .scale.trough.highlight { + background-image: none; + background-image: linear-gradient(to bottom, #5294E2); } + .list-row:selected .scale.trough { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2)); } + .list-row:selected .scale.trough.highlight { + background-image: linear-gradient(to bottom, #ffffff); } + .list-row:selected .scale.trough.highlight:insensitive { + background-image: linear-gradient(to bottom, #b1cef1); } + .list-row:selected .scale.trough:insensitive { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1)); } + +/***************** + * Progress bars * + *****************/ +GtkProgressBar { + padding: 0; + font-size: smaller; + color: rgba(92, 97, 108, 0.7); } + GtkProgressBar.osd { + -GtkProgressBar-xspacing: 0; + -GtkProgressBar-yspacing: 0; + -GtkProgressBar-min-horizontal-bar-height: 3; } + +.progressbar { + background-color: #5294E2; + border: none; + border-radius: 3px; + box-shadow: none; } + .progressbar.osd { + background-color: #5294E2; } + +.osd .scale.progressbar { + background-color: #5294E2; } + +GtkProgressBar.trough, .level-bar.trough { + border: none; + border-radius: 3px; + background-color: #cfd6e6; } + GtkProgressBar.trough.osd, .osd.level-bar.trough { + border-style: none; + background-color: transparent; + box-shadow: none; } + +/************* + * Level Bar * + *************/ +GtkLevelBar { + -GtkLevelBar-min-block-width: 34; + -GtkLevelBar-min-block-height: 3; } + +GtkLevelBar.vertical { + -GtkLevelBar-min-block-width: 3; + -GtkLevelBar-min-block-height: 34; } + +.level-bar.trough { + padding: 3px; + border-radius: 4px; } +.level-bar.fill-block { + border: 1px solid #5294E2; + background-color: #5294E2; + border-radius: 2px; } + .level-bar.fill-block.indicator-discrete.horizontal { + margin: 0 1px; } + .level-bar.fill-block.indicator-discrete.vertical { + margin: 1px 0; } + .level-bar.fill-block.level-high { + border-color: #73d216; + background-color: #73d216; } + .level-bar.fill-block.level-low { + border-color: #F27835; + background-color: #F27835; } + .level-bar.fill-block.empty-fill-block { + background-color: rgba(92, 97, 108, 0.2); + border-color: rgba(92, 97, 108, 0.2); } + +/********** + * Frames * + **********/ +.frame { + border: 1px solid #dde3e9; + padding: 0; } + .frame.flat { + border-style: none; } + .frame.action-bar { + padding: 6px; + border-width: 1px 0 0; } + +GtkScrolledWindow GtkViewport.frame { + border-style: none; } + +.separator, GtkPlacesSidebar.sidebar .view.separator { + color: rgba(0, 0, 0, 0.1); } + GtkFileChooserButton .separator, GtkFileChooserButton GtkPlacesSidebar.sidebar .view.separator, GtkPlacesSidebar.sidebar GtkFileChooserButton .view.separator, GtkFontButton .separator, GtkFontButton GtkPlacesSidebar.sidebar .view.separator, GtkPlacesSidebar.sidebar GtkFontButton .view.separator, GtkFileChooserButton .separator.vertical, GtkFileChooserButton GtkPlacesSidebar.sidebar .vertical.view.separator, GtkPlacesSidebar.sidebar GtkFileChooserButton .vertical.view.separator, GtkFontButton .separator.vertical, GtkFontButton GtkPlacesSidebar.sidebar .vertical.view.separator, GtkPlacesSidebar.sidebar GtkFontButton .vertical.view.separator { + -GtkWidget-wide-separators: true; } + +/********* + * Lists * + *********/ +.list, .list-row { + background-color: #ffffff; + border-color: #dde3e9; } + +.list-row, +.grid-child { + padding: 2px; } + +.list-row.button { + background-color: transparent; + border-style: none; + border-radius: 0; + box-shadow: none; } + .list-row.button:hover { + background-color: rgba(0, 0, 0, 0.05); } + .list-row.button:active { + color: #5c616c; } + .list-row.button:selected:active { + color: #ffffff; } + .list-row.button:selected:hover { + background-color: #4985cb; } + .list-row.button:selected:insensitive { + color: rgba(255, 255, 255, 0.7); + background-color: rgba(82, 148, 226, 0.7); } + .list-row.button:selected:insensitive .label { + color: inherit; } + +.list-row, list-row.button { + transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + .list-row:hover, list-row.button:hover { + transition: none; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 2.5px 2.5px; + border-width: 0 1px 1px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.2); + background-color: #ffffff; + background-clip: padding-box; } + +/************* + * Expanders * + *************/ +.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + .expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + .expander:hover { + color: #aaaeb7; } + .expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +GtkCalendar { + border: 1px solid #dde3e9; + border-radius: 3px; + padding: 2px; } + GtkCalendar:selected { + background-color: #5294E2; + color: #ffffff; + border-radius: 1.5px; } + GtkCalendar.header { + color: #5c616c; + border: none; + border-radius: 0; } + GtkCalendar.button, GtkCalendar.button:focus { + color: rgba(92, 97, 108, 0.45); + box-shadow: none; + border: none; } + GtkCalendar.button:hover, GtkCalendar.button:focus:hover { + color: #5c616c; } + GtkCalendar.highlight { + color: alpha(currentColor,0.55); } + +/*********** + * Dialogs * + ***********/ +.message-dialog .dialog-action-area .button { + padding: 8px; } + +.message-dialog { + -GtkDialog-button-spacing: 0; } + .message-dialog .titlebar { + background-color: rgba(231, 232, 235, 0.95); + border-bottom: 1px solid rgba(212, 213, 219, 0.95); } + .message-dialog.csd.background { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border: none; } + .message-dialog.csd .dialog-action-area .button { + padding: 8px; + border-radius: 0; } + .message-dialog.csd .dialog-action-area .button:focus { + color: #5294E2; } + .message-dialog.csd .dialog-action-area .button:focus:active, .message-dialog.csd .dialog-action-area .button:focus:checked { + color: #ffffff; } + .message-dialog.csd .dialog-action-area .button, .message-dialog.csd .dialog-action-area .button:hover, .message-dialog.csd .dialog-action-area .button:active, .message-dialog.csd .dialog-action-area .button:insensitive { + border-right-style: none; + border-bottom-style: none; } + .message-dialog.csd .dialog-action-area .button:last-child { + border-bottom-right-radius: 3px; } + .message-dialog.csd .dialog-action-area .button:first-child { + border-left-style: none; + border-bottom-left-radius: 3px; } + +GtkFileChooserDialog .search-bar { + background-color: #f9fafb; + border-color: #dde3e9; + box-shadow: none; } +GtkFileChooserDialog .dialog-action-box { + border-top: 1px solid #dde3e9; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border: none; + background-color: #f9fafb; } + .sidebar:selected { + background-color: #5294E2; } + +GtkPlacesSidebar.sidebar .view { + color: #5c616c; + background-color: transparent; } + GtkPlacesSidebar.sidebar .view:selected { + color: #ffffff; + background-color: #5294E2; } + +.sidebar-item { + padding: 10px 4px; } + .sidebar-item > GtkLabel { + padding-left: 6px; + padding-right: 6px; } + .sidebar-item.needs-attention > GtkLabel { + background-size: 6px 6px, 0 0; } + +GtkPaned { + -GtkPaned-handle-size: 1; + -gtk-icon-source: none; + margin: 0 8px 8px 0; } + GtkPaned:dir(rtl) { + margin-right: 0; + margin-left: 8px; } + GtkPaned .pane-separator { + background-color: #dde3e9; } + +GtkPaned.wide { + -GtkPaned-handle-size: 5; + margin: 0; } + GtkPaned.wide .pane-separator { + background-color: transparent; + border-style: none solid; + border-color: #dde3e9; + border-width: 1px; } + GtkPaned.wide.vertical .pane-separator { + border-style: solid none; } + +/************** + * GtkInfoBar * + **************/ +GtkInfoBar { + border-style: none; } + +.info, +.question, +.warning, +.error { + background-color: #5294E2; + color: #ffffff; } + +.header-bar.selection-mode .button, .list-row:selected .button, GtkInfoBar .button { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + background-color: rgba(255, 255, 255, 0); + border-color: rgba(255, 255, 255, 0.5); } + .header-bar.selection-mode .flat.button, .list-row:selected .flat.button, GtkInfoBar .flat.button { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #ffffff; + background-color: rgba(255, 255, 255, 0); } + .header-bar.selection-mode .button:hover, .list-row:selected .button:hover, GtkInfoBar .button:hover { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + background-color: rgba(255, 255, 255, 0.2); + border-color: rgba(255, 255, 255, 0.8); } + .header-bar.selection-mode .button:active, .list-row:selected .button:active, GtkInfoBar .button:active, .header-bar.selection-mode .button:checked, .list-row:selected .button:checked, GtkInfoBar .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + background-color: rgba(0, 0, 0, 0.2); + border-color: rgba(255, 255, 255, 0.8); } + .header-bar.selection-mode .button:insensitive, .list-row:selected .button:insensitive, GtkInfoBar .button:insensitive { + color: rgba(255, 255, 255, 0.4); + background-color: rgba(255, 255, 255, 0); + border-color: rgba(255, 255, 255, 0.2); } + .header-bar.selection-mode .button:insensitive:active, .list-row:selected .button:insensitive:active, GtkInfoBar .button:insensitive:active, .header-bar.selection-mode .button:insensitive:checked, .list-row:selected .button:insensitive:checked, GtkInfoBar .button:insensitive:checked { + color: rgba(255, 255, 255, 0.4); + background-color: rgba(0, 0, 0, 0.1); + border-color: rgba(255, 255, 255, 0.2); } + +/************ + * Tooltips * + ************/ +.tooltip { + color: #edf5fb; + border-radius: 2px; } + .tooltip.background { + background-color: rgba(60, 64, 73, 0.95); + background-clip: padding-box; } + .tooltip.window-frame.csd { + background-color: transparent; } + +.tooltip * { + padding: 4px; + background-color: transparent; + color: inherit; } + +/***************** + * Color Chooser * + *****************/ +:selected GtkColorSwatch { + box-shadow: none; } + :selected GtkColorSwatch.overlay, :selected GtkColorSwatch.overlay:hover { + border-color: #ffffff; } +GtkColorSwatch.top { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +GtkColorSwatch.bottom { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } +GtkColorSwatch.left, GtkColorSwatch:first-child, GtkColorSwatch:first-child .overlay { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +GtkColorSwatch.right, GtkColorSwatch:last-child, GtkColorSwatch:last-child .overlay { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } +GtkColorSwatch:only-child, GtkColorSwatch:only-child .overlay { + border-radius: 3px; } +GtkColorSwatch:hover, GtkColorSwatch:hover:selected { + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2)); } +GtkColorEditor GtkColorSwatch { + border-radius: 3px; } + GtkColorEditor GtkColorSwatch:hover { + background-image: none; } +GtkColorSwatch.color-dark { + color: white; + outline-color: rgba(0, 0, 0, 0.3); } +GtkColorSwatch.color-light { + color: black; + outline-color: rgba(255, 255, 255, 0.5); } +GtkColorSwatch.overlay, GtkColorSwatch.overlay:selected { + border: 1px solid rgba(0, 0, 0, 0.15); } + GtkColorSwatch.overlay:hover, GtkColorSwatch.overlay:selected:hover { + border-color: rgba(0, 0, 0, 0.25); } +GtkColorSwatch#add-color-button { + border-style: solid; + border-width: 1px; + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #cfd6e6; + background-color: #fcfdfd; } + GtkColorSwatch#add-color-button:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; } + GtkColorSwatch#add-color-button .overlay { + border-color: transparent; + background-color: transparent; + background-image: none; } + +GtkColorButton.button { + padding: 4px; } + GtkColorButton.button GtkColorSwatch { + border-radius: 0; } + +/******** + * Misc * + ********/ +.scale-popup .button { + padding: 6px; } + .scale-popup .button:hover { + color: #5c616c; + outline-color: rgba(92, 97, 108, 0.3); + border-color: #5294E2; + background-color: #fcfdfd; } + +GtkVolumeButton.button { + padding: 8px; } + +/********************** + * Window Decorations * + *********************/ +.window-frame { + border-radius: 4px 4px 0 0; + border-width: 0px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 8px 1px rgba(0, 0, 0, 0.1); + /* this is used for the resize cursor area */ + margin: 10px; } + .window-frame:backdrop { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 5px 2px rgba(0, 0, 0, 0.1); } + .window-frame.tiled { + border-radius: 0; } + .window-frame.ssd { + border-radius: 4px 4px 0 0; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); } + .window-frame.csd.popup, .window-frame.csd.menu { + border-radius: 3px; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.1); } + .window-frame.csd.tooltip { + border-radius: 2px; + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1); } + .window-frame.csd.message-dialog { + border-radius: 3px; + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1); } + .window-frame.solid-csd { + border-radius: 0; + margin: 1px; + background-color: rgba(231, 232, 235, 0.95); + box-shadow: none; } + +.header-bar.default-decoration .button.titlebutton, +.titlebar.default-decoration .button.titlebutton { + padding-top: 0px; + padding-bottom: 0px; } +.header-bar .button.titlebutton, +.titlebar .button.titlebutton { + padding: 7px 4px; + border-color: transparent; + background-color: transparent; + background-image: none; + border-width: 0; } + .header-bar .button.titlebutton:hover, + .titlebar .button.titlebutton:hover { + color: rgba(82, 93, 118, 0.8); + outline-color: rgba(82, 93, 118, 0.1); + border-color: rgba(82, 93, 118, 0.1); + background-color: rgba(252, 253, 253, 0.9); } + .header-bar .button.titlebutton:active, .header-bar .button.titlebutton:checked, + .titlebar .button.titlebutton:active, + .titlebar .button.titlebutton:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + .header-bar .button.titlebutton.close, .header-bar .button.titlebutton.maximize, .header-bar .button.titlebutton.minimize, + .titlebar .button.titlebutton.close, + .titlebar .button.titlebutton.maximize, + .titlebar .button.titlebutton.minimize { + color: transparent; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; } + .header-bar .button.titlebutton.close:backdrop, .header-bar .button.titlebutton.maximize:backdrop, .header-bar .button.titlebutton.minimize:backdrop, + .titlebar .button.titlebutton.close:backdrop, + .titlebar .button.titlebutton.maximize:backdrop, + .titlebar .button.titlebutton.minimize:backdrop { + opacity: 1; } + .header-bar .button.titlebutton.close, + .titlebar .button.titlebutton.close { + background-image: -gtk-scaled(url("assets/titlebutton-close.png"), url("assets/titlebutton-close@2.png")); } + .header-bar .button.titlebutton.close:backdrop, + .titlebar .button.titlebutton.close:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-close-backdrop.png"), url("assets/titlebutton-close-backdrop@2.png")); } + .header-bar .button.titlebutton.close:hover, + .titlebar .button.titlebutton.close:hover { + background-image: -gtk-scaled(url("assets/titlebutton-close-hover.png"), url("assets/titlebutton-close-hover@2.png")); } + .header-bar .button.titlebutton.close:active, + .titlebar .button.titlebutton.close:active { + background-image: -gtk-scaled(url("assets/titlebutton-close-active.png"), url("assets/titlebutton-close-active@2.png")); } + .header-bar .button.titlebutton.maximize, + .titlebar .button.titlebutton.maximize { + background-image: -gtk-scaled(url("assets/titlebutton-max.png"), url("assets/titlebutton-max@2.png")); } + .header-bar .button.titlebutton.maximize:backdrop, + .titlebar .button.titlebutton.maximize:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-max-backdrop.png"), url("assets/titlebutton-max-backdrop@2.png")); } + .header-bar .button.titlebutton.maximize:hover, + .titlebar .button.titlebutton.maximize:hover { + background-image: -gtk-scaled(url("assets/titlebutton-max-hover.png"), url("assets/titlebutton-max-hover@2.png")); } + .header-bar .button.titlebutton.maximize:active, + .titlebar .button.titlebutton.maximize:active { + background-image: -gtk-scaled(url("assets/titlebutton-max-active.png"), url("assets/titlebutton-max-active@2.png")); } + .header-bar .button.titlebutton.minimize, + .titlebar .button.titlebutton.minimize { + background-image: -gtk-scaled(url("assets/titlebutton-min.png"), url("assets/titlebutton-min@2.png")); } + .header-bar .button.titlebutton.minimize:backdrop, + .titlebar .button.titlebutton.minimize:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-min-backdrop.png"), url("assets/titlebutton-min-backdrop@2.png")); } + .header-bar .button.titlebutton.minimize:hover, + .titlebar .button.titlebutton.minimize:hover { + background-image: -gtk-scaled(url("assets/titlebutton-min-hover.png"), url("assets/titlebutton-min-hover@2.png")); } + .header-bar .button.titlebutton.minimize:active, + .titlebar .button.titlebutton.minimize:active { + background-image: -gtk-scaled(url("assets/titlebutton-min-active.png"), url("assets/titlebutton-min-active@2.png")); } + +.view:selected, .view:selected:focus, .view:selected:hover, .label:selected, .label:selected:focus, .label:selected:hover, .grid-child:selected, .menuitem.button.flat:selected, .menuitem.button.flat:checked, .menuitem.button.flat:active, .list-row:selected, GtkEntry.gb-command-bar-entry.entry.flat:selected, GtkEntry.gb-command-bar-entry.entry.flat:selected:focus { + background-image: none; + background-color: #5294E2; + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); } + +/* Decouple the font of context menus from their entry/textview */ +.touch-selection, +.context-menu { + font: initial; } + +.monospace { + font: Monospace; } + +.overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(82, 148, 226, 0.2)), to(rgba(82, 148, 226, 0))); + background-size: 100% 60%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +.overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(82, 148, 226, 0.2)), to(rgba(82, 148, 226, 0))); + background-size: 100% 60%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +.overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(82, 148, 226, 0.2)), to(rgba(82, 148, 226, 0))); + background-size: 60% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +.overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(82, 148, 226, 0.2)), to(rgba(82, 148, 226, 0))); + background-size: 60% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + +.undershoot.top { + background-color: transparent; + background-image: linear-gradient(to left, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%); + padding-top: 1px; + background-size: 10px 1px; + background-repeat: repeat-x; + background-origin: content-box; + background-position: center top; } +.undershoot.bottom { + background-color: transparent; + background-image: linear-gradient(to left, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%); + padding-bottom: 1px; + background-size: 10px 1px; + background-repeat: repeat-x; + background-origin: content-box; + background-position: center bottom; } +.undershoot.left { + background-color: transparent; + background-image: linear-gradient(to top, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%); + padding-left: 1px; + background-size: 1px 10px; + background-repeat: repeat-y; + background-origin: content-box; + background-position: left center; } +.undershoot.right { + background-color: transparent; + background-image: linear-gradient(to top, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%); + padding-right: 1px; + background-size: 1px 10px; + background-repeat: repeat-y; + background-origin: content-box; + background-position: right center; } + +GtkHTML { + background-color: #ffffff; + color: #5c616c; } + GtkHTML:active { + color: #ffffff; + background-color: #5294E2; } + +SushiFontWidget { + padding: 6px 12px; } + +TerminalWindow .background { + background-color: transparent; } +TerminalWindow .notebook tab.reorderable-page, +TerminalWindow .notebook tab.reorderable-page:hover { + padding-top: 4px; + padding-bottom: 4px; } +TerminalWindow .notebook.header.top { + box-shadow: inset 0 1px #d4d5db, inset 0 -1px #edf0f3; } +TerminalWindow .notebook tab .active-page GtkLabel { + color: rgba(82, 93, 118, 0.8); } + TerminalWindow .notebook tab .active-page GtkLabel:backdrop { + color: rgba(82, 93, 118, 0.5); } +TerminalWindow .notebook tab.reorderable-page.top:hover { + border-bottom-color: #d4d5db; } +TerminalWindow .notebook tab.reorderable-page.top:active, TerminalWindow .notebook tab.reorderable-page.top:active:hover { + background-color: #e7e8eb; + border-color: #d4d5db; } + TerminalWindow .notebook tab.reorderable-page.top:active:backdrop, TerminalWindow .notebook tab.reorderable-page.top:active:hover:backdrop { + background-color: rgba(239, 240, 242, 0.95); } + +NautilusCanvasViewContainer.view .entry, NemoIconViewContainer .entry { + border-radius: 3px; } + +.nautilus-canvas-item { + border-radius: 2px; } + +.nautilus-desktop.nautilus-canvas-item, .nemo-desktop.nemo-canvas-item { + color: #ffffff; } + .nautilus-desktop.nautilus-canvas-item:active, .nemo-desktop.nemo-canvas-item:active { + color: #5c616c; } + .nautilus-desktop.nautilus-canvas-item:selected, .nemo-desktop.nemo-canvas-item:selected { + color: #ffffff; } + +.nautilus-canvas-item.dim-label, .nautilus-canvas-item.label.separator, GtkPlacesSidebar.sidebar .nautilus-canvas-item.label.view.separator, .header-bar .nautilus-canvas-item.subtitle, +.nautilus-list-dim-label { + color: #aaadb3; } + .nautilus-canvas-item.dim-label:selected, .nautilus-canvas-item.label.separator:selected, .header-bar .nautilus-canvas-item.subtitle:selected, .nautilus-canvas-item.dim-label:selected:focus, .nautilus-canvas-item.label.separator:selected:focus, .header-bar .nautilus-canvas-item.subtitle:selected:focus, + .nautilus-list-dim-label:selected, + .nautilus-list-dim-label:selected:focus { + color: #dce9f9; } + +NautilusNotebook.notebook { + background-color: #ffffff; } + NautilusNotebook.notebook tab { + border-width: 0; + border-style: solid; + border-color: transparent; + background-color: transparent; } + +NautilusQueryEditor .search-bar.toolbar, NautilusQueryEditor .search-bar.inline-toolbar { + padding: 5px; + box-shadow: none; } + +.nautilus-circular-button { + border-radius: 50%; + outline-radius: 50%; } + +.disk-space-display { + border-style: solid; + border-width: 1px; } + .disk-space-display.unknown { + background-color: rgba(92, 97, 108, 0.5); + border-color: rgba(69, 72, 80, 0.5); } + .disk-space-display.used { + background-color: rgba(82, 148, 226, 0.8); + border-color: rgba(38, 121, 219, 0.8); } + .disk-space-display.free { + background-color: #f0f2f5; + border-color: #d1d9e0; } + +NemoWindow .sidebar .frame { + border-width: 0; } + +NemoWindow GtkSeparator.separator.horizontal, NemoWindow GtkPlacesSidebar.sidebar GtkSeparator.horizontal.view.separator, GtkPlacesSidebar.sidebar NemoWindow GtkSeparator.horizontal.view.separator { + color: #dde3e9; } + +NemoPathBar.linked > .button { + color: rgba(82, 93, 118, 0.8); + outline-color: rgba(82, 93, 118, 0.1); + border-color: rgba(82, 93, 118, 0.1); + background-color: rgba(252, 253, 253, 0.9); } + NemoPathBar.linked > .button:hover { + border-color: #5294E2; } + NemoPathBar.linked > .button:active, NemoPathBar.linked > .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + +.gedit-headerbar-paned { + color: rgba(212, 213, 219, 0.95); } + +.open-document-selector-treeview.view { + padding: 3px 6px 3px 6px; + border-color: #ffffff; } + .open-document-selector-treeview.view:prelight { + background-color: rgba(0, 0, 0, 0.05); } + +/* Only normal state is handle */ +.open-document-selector-name-label { + color: #5c616c; } + +/* Only normal state is handle */ +.open-document-selector-path-label { + color: #adb0b5; + font-size: smaller; } + .open-document-selector-path-label:selected { + color: rgba(255, 255, 255, 0.9); } + +.gedit-document-panel .list-row .button { + color: transparent; + background-image: none; + background-color: transparent; + border: none; + box-shadow: none; + padding: 4px; } + .gedit-document-panel .list-row .button GtkImage { + color: inherit; } +.gedit-document-panel .prelight-row .button { + color: #92969e; } +.gedit-document-panel .list-row .button:hover, +.gedit-document-panel .prelight-row .button:hover { + color: #ff4d4d; } +.gedit-document-panel .prelight-row:selected .button:hover { + color: #ff6666; + background-image: none; + background-color: transparent; + border: none; + box-shadow: none; } + .gedit-document-panel .prelight-row:selected .button:hover:active { + color: #ffffff; } +.gedit-document-panel .prelight-row .button:active { + color: #5c616c; } + +.gedit-document-panel-dragged-row { + border: 1px solid #dde3e9; + background-color: #dae1e7; + color: #5c616c; } + +GeditStatusbar { + border-top: 1px solid #dde3e9; + background-color: #f9fafb; } + +GeditStatusMenuButton.button.flat, +GeditStatusMenuButton:prelight.button.flat, +GeditStatusMenuButton:checked.button.flat { + border-bottom-style: none; + border-radius: 0; } + +GeditFileBrowserWidget .toolbar, GeditFileBrowserWidget .inline-toolbar { + border-bottom: 1px solid #dde3e9; } + +.gedit-search-entry-occurrences-tag, .gb-search-entry-occurrences-tag { + color: rgba(92, 97, 108, 0.6); + margin: 2px; + padding: 2px; } + +GeditViewFrame .gedit-search-slider, GbEditorFrame .gb-search-slider { + background-color: white; + padding: 6px; + border-color: #dde3e9; + border-radius: 0 0 2px 2px; + border-width: 0 1px 1px 1px; + border-style: solid; } + +GbSearchBox.linked > GtkMenuButton.button:last-child:dir(ltr) { + background-color: rgba(214, 216, 221, 0.95); + border-radius: 0 14.5px 14.5px 0; + outline-radius: 0 12.5px 12.5px 0; } +GbSearchBox.linked > GtkMenuButton.button:first-child:dir(rtl) { + background-color: rgba(214, 216, 221, 0.95); + border-radius: 14.5px 0 0 14.5px; + outline-radius: 12.5px 0 0 12.5px; } + +GbEditorFrame .gb-search-slider { + padding: 2px; } + +GdTaggedEntry { + color: #5c616c; } + +.preferences.sidebar GtkViewport { + border: none; } +.preferences.sidebar GtkListBox { + background-color: #f9fafb; } +.preferences.sidebar GtkListBoxRow { + padding: 10px; } + +GbPreferencesPageLanguage GtkSearchEntry { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } +GbPreferencesPageLanguage GtkScrolledWindow { + border-top-width: 0; } + +GtkEntry.gb-command-bar-entry.entry.flat, +GtkEntry.gb-command-bar-entry.entry.flat:focus { + font-family: Monospace; + background-image: none; + background-color: transparent; + padding: 6px 6px 6px 6px; } + +GbSourceStyleSchemeWidget GtkSourceView { + font-family: Monospace; } + +GtkScrolledWindow.gb-linked-scroller { + border-top: none; } + +GbSearchDisplayGroup GtkListBox .list-row, GbDocumentStack .button { + transition: none; } + +GbViewStack GtkBox.header.notebook, +GbEditorWorkspace > GtkPaned > GtkBox > GtkBox.header.notebook { + border-bottom: 1px solid #dde3e9; } + +GbViewStack.focused GtkBox.header.notebook { + background-color: #f9fafb; } + GbViewStack.focused GtkBox.header.notebook .button.dim-label, GbViewStack.focused GtkBox.header.notebook .button.label.separator, GbViewStack.focused GtkBox.header.notebook .header-bar .button.subtitle, .header-bar GbViewStack.focused GtkBox.header.notebook .button.subtitle { + opacity: 1; } + +EphyWindow .floating-bar { + color: #5c616c; } + +.documents-load-more.button { + border-width: 1px 0 0; + border-radius: 0; } + +.documents-icon-bg { + background-color: #5294E2; + color: #ffffff; + border-radius: 2px; } + +.documents-collection-icon { + background-color: rgba(92, 97, 108, 0.3); + border-radius: 2px; } + +.documents-favorite.button:active, +.documents-favorite.button:active:hover { + color: #a9caf1; } + +.documents-entry-tag { + background-color: #5294E2; + color: #ffffff; + border-radius: 2px; + border-width: 0; + margin: 2px; + padding: 4px; } + .documents-entry-tag:hover { + background-color: #639fe5; } + .documents-entry-tag:active { + background-color: #4189df; } + .toolbar .linked .documents-entry-tag.button, .inline-toolbar .linked .documents-entry-tag.button { + background: none; + border: none; + box-shadow: none; + icon-shadow: none; } + .toolbar .linked .documents-entry-tag.button:hover, .inline-toolbar .linked .documents-entry-tag.button:hover { + color: rgba(255, 255, 255, 0.7); } + +.content-view.document-page { + border-style: solid; + border-width: 3px 3px 6px 4px; + border-image: url("assets/thumbnail-frame.png") 3 3 6 4; } + +TotemGrilo.vertical GdMainView.frame { + border-width: 0; } + +.gnome-panel-menu-bar, +PanelApplet > GtkMenuBar.menubar, +PanelToplevel, +PanelWidget, +PanelAppletFrame, +PanelApplet { + color: #A8ADB5; + background-image: linear-gradient(to bottom, rgba(37, 39, 45, 0.95)); } + +PanelApplet .button, PanelApplet .button:backdrop { + padding: 4px; + border: 2px solid transparent; + border-radius: 0; + background-image: none; + background-color: transparent; + color: #A8ADB5; } + +PanelApplet .button:hover { + color: #c4c7cc; + background-color: rgba(0, 0, 0, 0.17); + border-color: rgba(0, 0, 0, 0.17); } + +PanelApplet .button:active, PanelApplet .button:active:backdrop, +PanelApplet .button:checked, PanelApplet .button:checked:backdrop { + color: #ffffff; + background-color: rgba(0, 0, 0, 0.25); + border-radius: 0; + border-color: rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -2px #5294E2; } + +PanelApplet:hover { + color: #ffffff; } + +PanelApplet:active, +PanelApplet:hover:active { + color: #5294E2; } + +WnckPager { + color: #54565a; } + WnckPager:selected { + color: #5294E2; } + +NaTrayApplet { + -NaTrayApplet-icon-padding: 12; + -NaTrayApplet-icon-size: 16; } + +ClockBox { + color: #A8ADB5; } + +.xfce4-panel.panel { + background-color: rgba(37, 39, 45, 0.95); } + .xfce4-panel.panel .button.flat { + color: #A8ADB5; + background-color: rgba(37, 39, 45, 0); + border-radius: 0; } + .xfce4-panel.panel .button.flat:hover { + border: none; + background-color: rgba(60, 64, 73, 0.95); } + .xfce4-panel.panel .button.flat:active, .xfce4-panel.panel .button.flat:checked { + color: #5294E2; + border: none; + background-color: rgba(21, 22, 25, 0.95); } + +.floating-bar { + background-color: #5294E2; + color: #ffffff; } + .floating-bar.top { + border-radius: 0 0 2px 2px; } + .floating-bar.right { + border-radius: 2px 0 0 2px; } + .floating-bar.bottom { + border-radius: 2px 2px 0 0; } + .floating-bar.left { + border-radius: 0 2px 2px 0; } + .floating-bar .button { + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 0; + background-color: transparent; + box-shadow: none; + border: none; } + +BirdieWidgetsTweetList * { + background-image: none; + background-color: transparent; } + +MarlinViewWindow GtkIconView.view:selected, +MarlinViewWindow GtkIconView.view:selected:focus, +MarlinViewWindow GtkIconView.view:selected:hover, +MarlinViewWindow GtkIconView.view:selected:focus:hover { + background-color: transparent; } + +MarlinViewWindow FMListView, +MarlinViewWindow FMColumnView { + outline-color: transparent; } + +MarlinViewWindow *:selected, +MarlinViewWindow *:selected:focus { + color: #ffffff; + background-color: #5294E2; + outline-color: transparent; } + +.marlin-pathbar.pathbar { + border-radius: 14.5px; + color: rgba(82, 93, 118, 0.8); + border-color: rgba(82, 93, 118, 0.1); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9)); + background-color: transparent; } + .marlin-pathbar.pathbar.image, .marlin-pathbar.pathbar.image:hover { + color: inherit; } + .marlin-pathbar.pathbar:focus { + color: #ffffff; + border-color: #5294E2; + background-image: linear-gradient(to bottom, #5294E2); } + .marlin-pathbar.pathbar:insensitive { + color: rgba(82, 93, 118, 0.35); + background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.55)); } + .marlin-pathbar.pathbar:active, .marlin-pathbar.pathbar:checked { + color: #5294E2; } + +.gala-notification { + border: 1px solid rgba(0, 0, 0, 0.35); + border-radius: 3px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + background-image: linear-gradient(to bottom, #ffffff); + background-color: transparent; } + .gala-notification .title, .gala-notification .label { + color: #5c616c; } + +.panel { + background-color: transparent; + color: white; + font-weight: bold; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + +.panel-shadow { + background-image: none; + background-color: transparent; } + +.panel .menu { + box-shadow: none; } + +.panel .menu .menuitem { + font-weight: normal; + text-shadow: none; + icon-shadow: none; } + +.panel .menubar .menuitem:hover { + background-color: transparent; } + +.panel .window-frame.menu.csd, +.panel .window-frame.popup.csd { + box-shadow: none; } + +.panel .menu .window-frame.menu.csd, +.panel .menu .window-frame.popup.csd { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.composited-indicator { + background-color: transparent; + color: white; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + +.composited-indicator > GtkWidget > GtkWidget:first-child { + padding: 0 2px; } + +.panel-app-button > GtkWidget > GtkWidget:first-child { + padding: 0 2px 0 4px; } + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; + box-shadow: none; } + +.composited-indicator > .popup > .menu { + padding-top: 8px; + padding-bottom: 8px; } + +.panel .menu .spinner, +.menu .spinner { + opacity: 1; } + +PantheonTerminalPantheonTerminalWindow.background { + background-color: transparent; } + PantheonTerminalPantheonTerminalWindow.background .titlebar { + background-color: rgba(231, 232, 235, 0.95); } + +SwitchboardCategoryView .view:selected, +SwitchboardCategoryView .view:selected:focus { + color: #5c616c; } + +UnityDecoration { + -UnityDecoration-extents: 28px 0 0 0; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 0px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba 0, 0, 0, 0.3; + -UnityDecoration-active-shadow-radius: 10px; + -UnityDecoration-inactive-shadow-color: rgba 0, 0, 0, 0.15; + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #5294E2; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration.top { + border: none; + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 6px 0 6px; + background-image: linear-gradient(to bottom, #e7e8eb); + color: rgba(82, 93, 118, 0.8); + box-shadow: inset 0 1px rgba(239, 240, 242, 0.95); } + UnityDecoration.top:backdrop { + border-bottom-width: 0; + background-image: linear-gradient(to bottom, #eff0f2); + color: rgba(82, 93, 118, 0.5); } + UnityDecoration.left, UnityDecoration.right, UnityDecoration.bottom, UnityDecoration.left:backdrop, UnityDecoration.right:backdrop, UnityDecoration.bottom:backdrop { + background-image: none; } + +UnityPanelWidget, +.unity-panel { + background-image: linear-gradient(to bottom, #25272d); + color: #A8ADB5; + box-shadow: none; } + +.unity-panel.menubar.menuitem:hover, +.unity-panel.menubar .menuitem *:hover { + border-radius: 0; + color: #5294E2; + border-bottom: none; } + +.overlay-bar { + background-color: #5294E2; + border-color: #5294E2; + border-radius: 2px; + padding: 3px 6px; + margin: 3px; } + .overlay-bar GtkLabel { + color: #ffffff; } + +GraniteWidgetsThinPaned { + background-color: transparent; + background-image: none; + margin: 0; + border-left: 1px solid #dde3e9; + border-right: 1px solid #dde3e9; } + +GraniteWidgetsPopOver .frame, +GraniteWidgetsStaticNotebook .frame { + border: none; } + +.help_button { + border-radius: 100px; + padding: 3px 9px; } + +.secondary-toolbar.toolbar, .secondary-toolbar.inline-toolbar { + padding: 3px; + border-bottom: 1px solid #dde3e9; } + .secondary-toolbar.toolbar .button, .secondary-toolbar.inline-toolbar .button { + padding: 0 3px 0 3px; } + +.bottom-toolbar.toolbar, .bottom-toolbar.inline-toolbar { + padding: 5px; + border-width: 1px 0 0 0; + border-style: solid; + border-color: #dde3e9; + background-color: #f9fafb; } + .bottom-toolbar.toolbar .button, .bottom-toolbar.inline-toolbar .button { + padding: 2px 3px 2px 3px; } + +.source-list { + -GtkTreeView-horizontal-separator: 1px; + -GtkTreeView-vertical-separator: 6px; } + +.source-list, +.source-list.view { + background-color: #f9fafb; + color: #5c616c; + -gtk-icon-style: regular; } + +.source-list.category-expander { + color: transparent; } + +.source-list.view:prelight { + background-color: white; } + +.source-list.view:selected, +.source-list.view:prelight:selected, +.source-list.view:selected:focus, +.source-list.category-expander:hover { + color: #ffffff; + background-color: #5294E2; } + +.source-list .scrollbar.trough, +.source-list .scrollbars-junction { + border-image: none; + border-color: transparent; + background-color: #f9fafb; + background-image: none; } + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:selected:focus, +.source-list.badge:prelight:selected { + background-image: none; + background-color: #5294E2; + color: #ffffff; + border-radius: 10px; + padding: 0 6px; + margin: 0 3px; + border-width: 0; } + +.source-list.badge:selected, +.source-list.badge:selected:focus, +.source-list.badge:prelight:selected { + background-color: #ffffff; + color: #5294E2; } + +.source-list.category-expander { + color: #5c616c; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + -GtkTreeView-expander-size: 16; } + +.source-list.category-expander, +.source-list.category-expander:backdrop { + color: transparent; + border: none; } + +.source-list.category-expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +GraniteWidgetsWelcome { + background-color: #ffffff; } + +GraniteWidgetsWelcome GtkLabel { + color: #aaadb3; + font: open sans 11; + text-shadow: none; } + +GraniteWidgetsWelcome .h1, +GraniteWidgetsWelcome .h3 { + color: rgba(92, 97, 108, 0.8); } + +.help_button { + border-radius: 0; } + +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 10; + -GraniteWidgetsPopOver-border-radius: 2px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 12; + border: 1px solid rgba(0, 0, 0, 0.3); + margin: 0; } + +.popover_bg { + background-image: linear-gradient(to bottom, #ffffff); + border: 1px solid rgba(0, 0, 0, 0.3); } + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; } + +.h1 { + font: open sans 24px; } + +.h2 { + font: open sans light 18px; } + +.h3 { + font: open sans 11px; } + +.h4, +.category-label { + color: #8b8e96; + font-weight: 600; + text-shadow: 0 1px rgba(255, 255, 255, 0.6); } + +.h4 { + padding-bottom: 6px; + padding-top: 6px; } + +GtkListBox .h4 { + padding-left: 6px; } + +.titlebar .separator, .titlebar GtkPlacesSidebar.sidebar .view.separator, GtkPlacesSidebar.sidebar .titlebar .view.separator { + color: rgba(212, 213, 219, 0.95); } + +GtkFileChooserDialog .dialog-action-box { + background-color: #f9fafb; } + +GtkFileChooserDialog *, +NautilusWindow * { + -GtkPaned-handle-size: 0; } + +GtkFileChooserDialog.background, +NautilusWindow.background { + background-color: transparent; } +GtkFileChooserDialog .sidebar, +NautilusWindow .sidebar { + background-color: rgba(60, 64, 73, 0.95); } + GtkFileChooserDialog .sidebar .view, + NautilusWindow .sidebar .view { + background-color: transparent; + color: #A8ADB5; } + GtkFileChooserDialog .sidebar .view.image, + NautilusWindow .sidebar .view.image { + color: rgba(168, 173, 181, 0.6); } + GtkFileChooserDialog .sidebar .view.cell:selected, + NautilusWindow .sidebar .view.cell:selected { + background-color: #5294E2; + color: #ffffff; } + GtkFileChooserDialog .sidebar.frame, + NautilusWindow .sidebar.frame { + color: #A8ADB5; } + GtkFileChooserDialog .sidebar .separator, GtkFileChooserDialog GtkPlacesSidebar.sidebar .view.separator, + NautilusWindow .sidebar .separator, + NautilusWindow GtkPlacesSidebar.sidebar .view.separator { + color: transparent; } + GtkFileChooserDialog .sidebar .scrollbar.overlay-indicator:not(.dragging):not(.hovering) .slider, + NautilusWindow .sidebar .scrollbar.overlay-indicator:not(.dragging):not(.hovering) .slider { + background-color: #d1d4d8; + border: 1px solid rgba(0, 0, 0, 0.3); } + GtkFileChooserDialog .sidebar .scrollbar .trough, + NautilusWindow .sidebar .scrollbar .trough { + background-color: rgba(0, 0, 0, 0.2); + border: none; } + GtkFileChooserDialog .sidebar .scrollbar .slider, + NautilusWindow .sidebar .scrollbar .slider { + background-color: rgba(209, 212, 216, 0.7); } + GtkFileChooserDialog .sidebar .scrollbar .slider:hover, + NautilusWindow .sidebar .scrollbar .slider:hover { + background-color: #dfe1e4; } + GtkFileChooserDialog .sidebar .scrollbar .slider:prelight:active, + NautilusWindow .sidebar .scrollbar .slider:prelight:active { + background-color: #5294E2; } + GtkFileChooserDialog .sidebar .scrollbar .slider:insensitive, + NautilusWindow .sidebar .scrollbar .slider:insensitive { + background-color: transparent; } +GtkFileChooserDialog.maximized .sidebar, +NautilusWindow.maximized .sidebar { + background-color: #3c4049; } +GtkFileChooserDialog .pane-separator, +NautilusWindow .pane-separator { + background-color: rgba(60, 64, 73, 0.95); } + +GtkFileChooserDialog GtkPaned > .vertical > .horizontal { + background-color: #f9fafb; } + +GeditWindow.background { + background-color: transparent; } + GeditWindow.background .pane-separator, + GeditWindow.background .pane-separator:hover { + background-color: rgba(60, 64, 73, 0.95); } + GeditWindow.background .titlebar .pane-separator { + background-color: rgba(212, 213, 219, 0.95); } + +.gedit-document-panel { + background-color: rgba(60, 64, 73, 0.95); } + .maximized .gedit-document-panel { + background-color: #3c4049; } + .gedit-document-panel .list-row { + color: #A8ADB5; } + .gedit-document-panel .list-row { + background-color: rgba(168, 173, 181, 0); + border: solid rgba(168, 173, 181, 0); + border-width: 3px 2px 3px 2px; } + .gedit-document-panel .list-row:hover { + border: solid rgba(168, 173, 181, 0.15); + border-width: 3px 2px 3px 2px; + background-color: rgba(168, 173, 181, 0.15); } + .gedit-document-panel .list-row:active { + color: #ffffff; + background-color: #5294E2; + border: solid #5294E2; + border-width: 3px 2px 3px 2px; } + .gedit-document-panel .list-row:active .button { + color: #ffffff; } + .gedit-document-panel .list-row:selected, .gedit-document-panel .list-row:selected:hover { + color: #ffffff; + background-color: #5294E2; + border: solid #5294E2; + border-width: 3px 2px 3px 2px; } + .gedit-document-panel .prelight-row .button:active { + color: #A8ADB5; } + +GeditFileBrowserWidget { + background-color: rgba(60, 64, 73, 0.95); } + .maximized GeditFileBrowserWidget { + background-color: #3c4049; } + GeditFileBrowserWidget .scrollbar.overlay-indicator:not(.dragging):not(.hovering) .slider { + background-color: #d1d4d8; + border: 1px solid rgba(0, 0, 0, 0.3); } + GeditFileBrowserWidget .scrollbar .trough { + background-color: rgba(0, 0, 0, 0.2); + border: none; } + GeditFileBrowserWidget .scrollbar .slider { + background-color: rgba(209, 212, 216, 0.7); } + GeditFileBrowserWidget .scrollbar .slider:hover { + background-color: #dfe1e4; } + GeditFileBrowserWidget .scrollbar .slider:prelight:active { + background-color: #5294E2; } + GeditFileBrowserWidget .scrollbar .slider:insensitive { + background-color: transparent; } + GeditFileBrowserWidget .horizontal { + background-color: transparent; + border-color: rgba(44, 47, 53, 0.95); } + GeditFileBrowserWidget .horizontal .button { + border-color: transparent; + background-color: transparent; + background-image: none; + color: #A8ADB5; + border: 1px solid transparent; } + GeditFileBrowserWidget .horizontal .button:hover { + border: 1px solid #5294E2; } + GeditFileBrowserWidget .horizontal .button:active, GeditFileBrowserWidget .horizontal .button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #5294E2; + background-color: #5294E2; } + GeditFileBrowserWidget .horizontal .button:insensitive { + color: rgba(168, 173, 181, 0.4); } + GeditFileBrowserWidget .horizontal GtkComboBox { + color: #A8ADB5; } + +GeditFileBrowserView.view { + background-color: transparent; + color: #A8ADB5; } + GeditFileBrowserView.view.expander { + color: #A8ADB5; } + GeditFileBrowserView.view.expander:hover { + color: #5294E2; } + +GtkFileChooserDialog .action-bar.frame { + background-color: rgba(55, 59, 67, 0.95); + border-color: rgba(44, 47, 53, 0.95); } + GtkFileChooserDialog .action-bar.frame GtkLabel { + color: #A8ADB5; } + GtkFileChooserDialog .action-bar.frame .button { + border-color: transparent; + background-color: transparent; + background-image: none; } + GtkFileChooserDialog .action-bar.frame .button:hover { + border: 1px solid #5294E2; } + GtkFileChooserDialog .action-bar.frame .button:active, GtkFileChooserDialog .action-bar.frame .button:checked { + border: 1px solid #5294E2; + color: #ffffff; + background-color: #5294E2; } + GtkFileChooserDialog .action-bar.frame .button:insensitive { + color: rgba(168, 173, 181, 0.4); } + GtkFileChooserDialog .action-bar.frame GtkComboBox { + color: #A8ADB5; } + +/* GTK NAMED COLORS */ +@define-color theme_fg_color #5c616c; +@define-color theme_text_color #5c616c; +@define-color theme_bg_color #f9fafb; +@define-color theme_base_color #ffffff; +@define-color theme_selected_bg_color #5294E2; +@define-color theme_selected_fg_color #ffffff; +@define-color insensitive_bg_color #fcfdfd; +@define-color insensitive_fg_color rgba(92, 97, 108, 0.55); +@define-color insensitive_base_color #ffffff; +@define-color theme_unfocused_fg_color #5c616c; +@define-color theme_unfocused_text_color #5c616c; +@define-color theme_unfocused_bg_color #f9fafb; +@define-color theme_unfocused_base_color #ffffff; +@define-color theme_unfocused_selected_bg_color #5294E2; +@define-color theme_unfocused_selected_fg_color #ffffff; +@define-color borders #dde3e9; +@define-color unfocused_borders #dde3e9; +@define-color warning_color #F27835; +@define-color error_color #FC4138; +@define-color success_color #73d216; +@define-color placeholder_text_color #A8A8A8; +@define-color wm_title rgba(82, 93, 118, 0.8); +@define-color wm_unfocused_title alpha(rgba(82, 93, 118, 0.8), 0.7); +@define-color wm_bg #e7e8eb; +@define-color wm_bg_unfocused #e7e8eb; +@define-color wm_highlight #f2f3f4; +@define-color wm_shadow alpha(black, 0.35); +@define-color content_view_bg #ffffff; diff --git a/gtk-3.0/gtk-contained.scss b/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..f7c24c3 --- /dev/null +++ b/gtk-3.0/gtk-contained.scss @@ -0,0 +1,13 @@ +// General guidelines: +// - very unlikely you want to edit something else than _common.scss +// - keep the number of defined colors to a minimum, use the color blending functions if +// you need a subtle shade + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'applications'; +@import 'unity'; +@import 'granite'; +@import 'transparent_widgets'; +@import 'colors-public'; diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/gtk-3.0/parse-sass.sh b/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e9cda25 --- /dev/null +++ b/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/usr/bin/bash + +bundle exec sass --update --sourcemap=none . diff --git a/gtk-3.0/render-assets.sh b/gtk-3.0/render-assets.sh new file mode 100755 index 0000000..24d7675 --- /dev/null +++ b/gtk-3.0/render-assets.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +INKSCAPE="/usr/bin/inkscape" +OPTIPNG="/usr/bin/optipng" + +SRC_FILE="assets.svg" +ASSETS_DIR="assets" +INDEX="assets.txt" + +for i in `cat $INDEX` +do +if [ -f $ASSETS_DIR/$i.png ]; then + echo $ASSETS_DIR/$i.png exists. +else + echo + echo Rendering $ASSETS_DIR/$i.png + $INKSCAPE --export-id=$i \ + --export-id-only \ + --export-png=$ASSETS_DIR/$i.png $SRC_FILE >/dev/null #\ + # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i.png +fi +if [ -f $ASSETS_DIR/$i@2.png ]; then + echo $ASSETS_DIR/$i@2.png exists. +else + echo + echo Rendering $ASSETS_DIR/$i@2.png + $INKSCAPE --export-id=$i \ + --export-dpi=180 \ + --export-id-only \ + --export-png=$ASSETS_DIR/$i@2.png $SRC_FILE >/dev/null #\ + # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i@2.png +fi +done +exit 0 -- cgit v1.2.3