diff --git a/README.md b/README.md new file mode 100644 index 0000000..e262c26 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# bunsen-themes +Bunsen Theme Collection + +[![bunsenlabs_default_theme_by_capn_damo-d91begp.md.png](https://cdn.scrot.moe/images/2017/02/27/bunsenlabs_default_theme_by_capn_damo-d91begp.md.png)](https://scrot.moe/image/1JVVl) + +Screenshot of Bunsen, the default theme. + +## Manual tweaks needed for Beam-HiDPI + +Add these two lines to ``~/.Xresources`` and re-login or run ``xrdb -merge ~/.Xresources`` to activate. For ``Xft.dpi`` uncommenting and adjusting line 7 is fine, too. Just remove the leading ``!`` and replace ``96`` by ``160``. + +``` +Xft.dpi: 160 +Xcursor.size: 48 +``` + +These values were found giving the best results but depending on your screen's resolution ymmv. Adjust them to your preferences. diff --git a/debian/README.source b/debian/README.source deleted file mode 100644 index 8d69ab3..0000000 --- a/debian/README.source +++ /dev/null @@ -1,8 +0,0 @@ -bunsen1-dark-theme for Debian ------------------------------ - -Packaged using the sources at -http://crunchbang.org/forums/viewtopic.php?pid=427707#p427707. - - -- Jens Oliver John Thu, 19 Feb 2015 19:27:05 +0100 - diff --git a/debian/bunsen-themes.docs b/debian/bunsen-themes.docs index f2e124f..4aa8fce 100644 --- a/debian/bunsen-themes.docs +++ b/debian/bunsen-themes.docs @@ -1,2 +1,3 @@ LICENSE.CC LICENSE.GPL +README.md diff --git a/debian/bunsen-themes.install b/debian/bunsen-themes.install index 38eb8e6..8cc8a4b 100644 --- a/debian/bunsen-themes.install +++ b/debian/bunsen-themes.install @@ -1,7 +1 @@ -Bunsen usr/share/themes -Bunsen-Blackish usr/share/themes -Bunsen-Blue usr/share/themes -Bunsen-Blue-Dark usr/share/themes -Bunsen-Dark usr/share/themes -Bunsen-lightdm usr/share/themes -CrunchBang usr/share/themes +themes usr/share diff --git a/debian/changelog b/debian/changelog index 34f43ff..73968ce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,145 @@ +bunsen-themes (10.0.2-1) lithium; urgency=medium + + [ hhh ] + * Add new BL-Lithium theme. + + -- John Crawley Tue, 13 Aug 2019 17:18:52 +0900 + +bunsen-themes (10.0.1-1) lithium; urgency=medium + + * Restore Bunsen-He theme. + + -- John Crawley Sun, 30 Jun 2019 15:31:06 +0900 + +bunsen-themes (10.0-1) lithium; urgency=medium + + * Non-maintainer upload. + * Migrate to Lithium repository. + * Standards to 4.3.0, debhelper to 10. + * Update copyright. + * Remove obsolete Bunsen-He themes. + + -- John Crawley Fri, 11 Jan 2019 15:58:01 +0900 + +bunsen-themes (9.4.1-1) helium; urgency=medium + + * Remove gtk3 .sass-cache directories in all themes. + + -- John Crawley Tue, 10 Apr 2018 14:06:31 +0900 + +bunsen-themes (9.4-1) helium; urgency=medium + + [Vinzenz Vietzke] + * Add HiDPI version of Beam theme. + + -- John Crawley Thu, 05 Apr 2018 13:40:50 +0900 + +bunsen-themes (9.3-2) helium; urgency=medium + + * gtk3-nocsd: remove from Recommends. + + -- John Crawley Mon, 26 Mar 2018 17:15:27 +0900 + +bunsen-themes (9.3-1) helium; urgency=medium + + [Matthew T Hoare] + * Bunsen-He-flatish: update openbox theme. + + -- John Crawley Wed, 07 Mar 2018 18:34:51 +0900 + +bunsen-themes (9.2-1) helium; urgency=medium + + * Fix vertical displacement of openbox menu items in some themes. + + -- John Crawley Sat, 24 Feb 2018 11:53:51 +0900 + +bunsen-themes (9.1-1) helium; urgency=medium + + * Update copyright. + [Matthew T. Hoare] + * Add custom xbm decorations. + * Add openbox version for Bunsen-He-flatish. + + -- John Crawley Thu, 22 Feb 2018 16:53:26 +0900 + +bunsen-themes (9.0-1) helium; urgency=medium + + * Non-maintainer upload. + * New version for helium + * Replace themes with new ones from https://github.com/hhhorb/bunsen-themes-dev + * Add Recommends: gtk3-nocsd + * Change Depends: libgtk-3-0 (>= 3.22.11) + * Update dates in debian/copyright + + -- John Crawley Tue, 23 May 2017 15:42:47 +0900 + +bunsen-themes (8.3.1-2) bunsen-hydrogen; urgency=medium + + * Mark theme suite as incompatible with gtk3 >= 3.20. This will make the + themes unavailable on stretch and newer but ensure that users do not end + up with broken themes. + + -- Jens John Mon, 10 May 2016 00:17:34 +0900 + +bunsen-themes (8.3.1-1) bunsen-hydrogen; urgency=low + + * Non-maintainer upload. + * hhh: Update README in Bunsen-Blackish, Bunsen-Dark and Bunsen-Blue-Dark. + + -- John Crawley Mon, 25 Jan 2016 14:01:34 +0900 + +bunsen-themes (8.3-1) bunsen-hydrogen; urgency=medium + + * nagybence: Fix GTK3 deprecation warnings in CSS stylesheets + + -- Jens John Sat, 26 Sep 2015 13:45:03 +0200 + +bunsen-themes (8.2-1) bunsen-hydrogen; urgency=medium + + * hhh: Fix GTK shadows + + -- Jens John Thu, 17 Sep 2015 17:50:46 +0200 + +bunsen-themes (8.1-1) bunsen-hydrogen; urgency=medium + + * damo: Fix for GTK2 tooltip transparency + * damo: Fix for GTK3 client-side decorations + * Various email address changes + + -- Jens John Thu, 17 Sep 2015 17:50:46 +0200 + +bunsen-themes (8.0-1.1) bunsen-hydrogen; urgency=low + + * Non-maintainer upload. + * Edit debian/copyright. + + -- John Crawley Tue, 08 Sep 2015 17:14:07 +0900 + +bunsen-themes (8.0-1) bunsen-hydrogen; urgency=medium + + * Correct major version number to prepare for the official release + * Change suite to bunsen-hydrogen + + -- Jens John Sun, 30 Aug 2015 16:37:35 +0200 + +bunsen-themes (1.1-1) unstable; urgency=medium + + * Bunsen and Bunsen-Blue: Fix highlights for active tabs + + -- Jens John Wed, 08 Jul 2015 19:37:35 +0200 + +bunsen-themes (1.0-3) unstable; urgency=low + + * Adjust background colours etc in dark themes. + + -- John Crawley Sat, 04 Jul 2015 14:07:55 +0900 + bunsen-themes (1.0-2) stable; urgency=low * Non-maintainer upload. * Update version to reflect recent changes. - -- John Crawley Wed, 20 May 2015 12:16:05 +0900 + -- John Crawley Wed, 20 May 2015 12:16:05 +0900 bunsen-themes (1.0-1) stable; urgency=medium diff --git a/debian/compat b/debian/compat index ec63514..f599e28 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -9 +10 diff --git a/debian/control b/debian/control index 02b8428..8015a2e 100644 --- a/debian/control +++ b/debian/control @@ -2,16 +2,16 @@ Source: bunsen-themes Section: x11 Priority: optional Maintainer: Jens John -Build-Depends: debhelper (>= 9) -Standards-Version: 3.9.5 +Build-Depends: debhelper (>= 10) +Standards-Version: 4.3.0 Homepage: https://github.com/bunsenlabs/bunsen-themes Vcs-Browser: https://github.com/bunsenlabs/bunsen-themes Vcs-Git: https://github.com/BunsenLabs/bunsen-themes.git Package: bunsen-themes Architecture: all -Depends: gtk2-engines-murrine, gtk2-engines-pixbuf, libgtk-3-0, ${misc:Depends} +Depends: gtk2-engines-murrine, gtk2-engines-pixbuf, libgtk-3-0 (>= 3.22.11), ${misc:Depends} Suggests: openbox, lightdm-gtk-greeter -Description: GTK, Openbox, and Li themes for Bunsen and Debian Jessie - Made by hhh from the Crunchbang forums +Description: GTK, Openbox, and Li themes for Bunsen and Debian Buster + Made by hhh from the BunsenLabs forums diff --git a/debian/copyright b/debian/copyright index 7fa8d4c..7a80294 100644 --- a/debian/copyright +++ b/debian/copyright @@ -3,7 +3,9 @@ Upstream-Name: bunsen-themes Source: http://crunchbang.org/forums/viewtopic.php?id=39606 Files: * -Copyright: 2015 hhh +Copyright: 2015-2017 hhh + 2017-2018 Matthew T Hoare + 2018 Vinzenz Vietzke License: GPL-3+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,7 +24,8 @@ License: GPL-3+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: debian/* -Copyright: 2015 Jens Oliver John +Copyright: 2015-2016 Jens John + 2017-2019 John Crawley License: GPL-3+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/debian/rules b/debian/rules index ce15cce..4067ba0 100755 --- a/debian/rules +++ b/debian/rules @@ -1,32 +1,4 @@ #!/usr/bin/make -f -# See debhelper(7) (uncomment to enable) -# output every command that modifies files on the build system. -#DH_VERBOSE = 1 -# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* -DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/default.mk - -# see FEATURE AREAS in dpkg-buildflags(1) -#export DEB_BUILD_MAINT_OPTIONS = hardening=+all - -# see ENVIRONMENT in dpkg-buildflags(1) -# package maintainers to append CFLAGS -#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic -# package maintainers to append LDFLAGS -#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed - - -# main packaging script based on dh7 syntax %: dh $@ - -# debmake generated override targets -# This is example for Cmake (See http://bugs.debian.org/641051 ) -#override_dh_auto_configure: -# dh_auto_configure -- \ -# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) - - - - diff --git a/themes/BL-Lithium/gtk-2.0/apps.rc b/themes/BL-Lithium/gtk-2.0/apps.rc new file mode 100644 index 0000000..3c774a1 --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/apps.rc @@ -0,0 +1,157 @@ +# +# Thunar +# +style "thunar-handle" { GtkPaned::handle-size = 2 } + +style "dark-sidebar" { + GtkTreeView::odd_row_color = @dark_sidebar_bg + GtkTreeView::even_row_color = @dark_sidebar_bg + + + base[NORMAL] = @dark_sidebar_bg + base[INSENSITIVE] = @dark_sidebar_bg + + text[NORMAL] = "#d3dae3" + text[ACTIVE] = @selected_fg_color + text[SELECTED] = @selected_fg_color +} + +style "thunar-frame" { + xthickness = 0 + ythickness = 0 +} + +widget_class "*ThunarWindow*." style "thunar-frame" +widget_class "*ThunarShortcutsView*" style "dark-sidebar" +widget_class "*ThunarTreeView*" style "dark-sidebar" +widget_class "*ThunarWindow*." style "thunar-handle" + +# +# Workaround for colored entries +# +style "entry_border" { + + xthickness = 7 + ythickness = 5 + + engine "pixmap" { + + image { + function = SHADOW + state = NORMAL + detail = "entry" + file = "assets/entry-border-bg.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = ACTIVE + detail = "entry" + file = "assets/entry-border-active-bg.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = FLAT_BOX + state = ACTIVE + detail = "entry_bg" + file = "assets/null.png" + } + + image { + function = FLAT_BOX + state = INSENSITIVE + detail = "entry_bg" + file = "assets/null.png" + } + + image { + function = FLAT_BOX + detail = "entry_bg" + file = "assets/null.png" + } + } +} + +style "combobox_entry_border" = "combobox_entry" { + + engine "pixmap" { + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry-border.png" + border = { 4, 4, 12, 12 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-border-focus.png" + border = { 4, 4, 12, 12 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry-border-rtl.png" + border = { 4, 4, 12, 12 } + stretch = TRUE + direction = RTL + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-border-focus-rtl.png" + border = { 4, 4, 12, 12 } + stretch = TRUE + direction = RTL + } + + image { + function = FLAT_BOX + state = INSENSITIVE + detail = "entry_bg" + file = "assets/null.png" + } + + image { + function = FLAT_BOX + detail = "entry_bg" + file = "assets/null.png" + } + } +} + + +# Mousepad search entry +widget_class "*MousepadSearchBar*." style "entry_border" + +# Mousepad find and replace +widget_class "*MousepadReplaceDialog*." style "entry_border" + +# Thunar bulk rename +widget_class "*ThunarRenamerDialog*." style "entry_border" + +# Hexchat input box +class "SexySpellEntry" style:highest "entry_border" + +# Geany search entries +widget "*GeanyToolbar.*geany-search-entry-no-match*" style "entry_border" +widget "*GeanyToolbar.*GtkEntry*" style "entry_border" + +widget "GeanyDialogSearch.*GtkComboBoxEntry*.*geany-search-entry-no-match*" style "combobox_entry_border" diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-insens.png new file mode 100644 index 0000000..1477531 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-prelight.png new file mode 100644 index 0000000..6c62a9e Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-insens.png new file mode 100644 index 0000000..d39dc89 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-prelight.png new file mode 100644 index 0000000..7af9d33 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small.png new file mode 100644 index 0000000..37426ee Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down-small.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-down.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-down.png new file mode 100644 index 0000000..6992111 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-down.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-left-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-left-insens.png new file mode 100644 index 0000000..273f6f5 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-left-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-left-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-left-prelight.png new file mode 100644 index 0000000..65c6a07 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-left-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-left.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-left.png new file mode 100644 index 0000000..b9ddae9 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-left.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-right-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-right-insens.png new file mode 100644 index 0000000..7909bcf Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-right-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-right-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-right-prelight.png new file mode 100644 index 0000000..736de9e Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-right-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-right.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-right.png new file mode 100644 index 0000000..d89b418 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-right.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-insens.png new file mode 100644 index 0000000..0662e68 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-prelight.png new file mode 100644 index 0000000..51765dd Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-insens.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-insens.png new file mode 100644 index 0000000..4fcc7e6 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-prelight.png new file mode 100644 index 0000000..5bed8c7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small.png new file mode 100644 index 0000000..272e3a2 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up-small.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/arrow-up.png b/themes/BL-Lithium/gtk-2.0/assets/arrow-up.png new file mode 100644 index 0000000..6ffd0a4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/arrow-up.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/button-active.png b/themes/BL-Lithium/gtk-2.0/assets/button-active.png new file mode 100644 index 0000000..8f44325 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/button-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/button-hover.png b/themes/BL-Lithium/gtk-2.0/assets/button-hover.png new file mode 100644 index 0000000..53e7465 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/button-hover.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/button-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/button-insensitive.png new file mode 100644 index 0000000..672d82e Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/button-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/button.png b/themes/BL-Lithium/gtk-2.0/assets/button.png new file mode 100644 index 0000000..0a71989 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/button.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..3f2738c Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked.png b/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked.png new file mode 100644 index 0000000..42e5b64 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/checkbox-checked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..6362812 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked.png b/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked.png new file mode 100644 index 0000000..47df167 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/checkbox-unchecked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus-rtl.png new file mode 100644 index 0000000..266df37 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus.png new file mode 100644 index 0000000..19b201a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-focus.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-rtl.png new file mode 100644 index 0000000..61f5f5f Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border.png new file mode 100644 index 0000000..d3823c8 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-border.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active-rtl.png new file mode 100644 index 0000000..3db8bb1 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active.png new file mode 100644 index 0000000..76c6d13 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive-rtl.png new file mode 100644 index 0000000..e018733 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive.png new file mode 100644 index 0000000..4b892d7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-rtl.png new file mode 100644 index 0000000..d09be97 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button.png new file mode 100644 index 0000000..57e6931 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-button.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook-rtl.png new file mode 100644 index 0000000..0957704 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook.png new file mode 100644 index 0000000..c353dc1 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-rtl.png new file mode 100644 index 0000000..2696ce1 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus.png new file mode 100644 index 0000000..2942f27 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-focus.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook-rtl.png new file mode 100644 index 0000000..f77aea5 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook.png new file mode 100644 index 0000000..ef53c0f Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-rtl.png new file mode 100644 index 0000000..7c37b8b Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive.png new file mode 100644 index 0000000..67a1354 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook-rtl.png new file mode 100644 index 0000000..8eedd65 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook.png new file mode 100644 index 0000000..bcf8726 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-rtl.png new file mode 100644 index 0000000..e10e9ec Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/combo-entry.png b/themes/BL-Lithium/gtk-2.0/assets/combo-entry.png new file mode 100644 index 0000000..9e8f551 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/combo-entry.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/down-background-disable-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/down-background-disable-rtl.png new file mode 100644 index 0000000..701f46b Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/down-background-disable-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/down-background-disable.png b/themes/BL-Lithium/gtk-2.0/assets/down-background-disable.png new file mode 100644 index 0000000..337b34d Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/down-background-disable.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/down-background-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/down-background-rtl.png new file mode 100644 index 0000000..4efdcfb Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/down-background-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/down-background.png b/themes/BL-Lithium/gtk-2.0/assets/down-background.png new file mode 100644 index 0000000..51ede33 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/down-background.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-active-bg.png b/themes/BL-Lithium/gtk-2.0/assets/entry-active-bg.png new file mode 100644 index 0000000..2df5bdd Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-active-bg.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-active-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/entry-active-notebook.png new file mode 100644 index 0000000..902aec7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-active-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-active-toolbar.png b/themes/BL-Lithium/gtk-2.0/assets/entry-active-toolbar.png new file mode 100644 index 0000000..af5f68a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-active-toolbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-background-disabled.png b/themes/BL-Lithium/gtk-2.0/assets/entry-background-disabled.png new file mode 100644 index 0000000..4e07e06 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-background-disabled.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-background.png b/themes/BL-Lithium/gtk-2.0/assets/entry-background.png new file mode 100644 index 0000000..af03524 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-background.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-bg.png b/themes/BL-Lithium/gtk-2.0/assets/entry-bg.png new file mode 100644 index 0000000..93f44c6 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-bg.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-border-active-bg.png b/themes/BL-Lithium/gtk-2.0/assets/entry-border-active-bg.png new file mode 100644 index 0000000..50e874c Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-border-active-bg.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-border-bg.png b/themes/BL-Lithium/gtk-2.0/assets/entry-border-bg.png new file mode 100644 index 0000000..17ab3ed Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-border-bg.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-bg.png b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-bg.png new file mode 100644 index 0000000..9be927a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-bg.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-notebook.png new file mode 100644 index 0000000..21b1199 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-toolbar.png b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-toolbar.png new file mode 100644 index 0000000..1b75b36 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-disabled-toolbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-notebook.png b/themes/BL-Lithium/gtk-2.0/assets/entry-notebook.png new file mode 100644 index 0000000..ed0b30f Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/entry-toolbar.png b/themes/BL-Lithium/gtk-2.0/assets/entry-toolbar.png new file mode 100644 index 0000000..8a1008c Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/entry-toolbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/focus-line.png b/themes/BL-Lithium/gtk-2.0/assets/focus-line.png new file mode 100644 index 0000000..b96fa35 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/focus-line.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/frame-gap-end.png b/themes/BL-Lithium/gtk-2.0/assets/frame-gap-end.png new file mode 100644 index 0000000..d82fb34 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/frame-gap-end.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/frame-gap-start.png b/themes/BL-Lithium/gtk-2.0/assets/frame-gap-start.png new file mode 100644 index 0000000..d82fb34 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/frame-gap-start.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/frame.png b/themes/BL-Lithium/gtk-2.0/assets/frame.png new file mode 100644 index 0000000..b96fa35 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/frame.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/handle-h.png b/themes/BL-Lithium/gtk-2.0/assets/handle-h.png new file mode 100644 index 0000000..84b42a3 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/handle-h.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/handle-v.png b/themes/BL-Lithium/gtk-2.0/assets/handle-v.png new file mode 100644 index 0000000..25fcc00 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/handle-v.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/inline-toolbar.png b/themes/BL-Lithium/gtk-2.0/assets/inline-toolbar.png new file mode 100644 index 0000000..1b19144 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/inline-toolbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/line-h.png b/themes/BL-Lithium/gtk-2.0/assets/line-h.png new file mode 100644 index 0000000..d82fb34 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/line-h.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/line-v.png b/themes/BL-Lithium/gtk-2.0/assets/line-v.png new file mode 100644 index 0000000..d82fb34 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/line-v.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-arrow-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/menu-arrow-prelight.png new file mode 100644 index 0000000..fee90b7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-arrow-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-arrow.png b/themes/BL-Lithium/gtk-2.0/assets/menu-arrow.png new file mode 100644 index 0000000..a3a84b5 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-arrow.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-insensitive.png new file mode 100644 index 0000000..1d8fba4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-selected.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-selected.png new file mode 100644 index 0000000..33460f6 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked-selected.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked.png new file mode 100644 index 0000000..bae17b4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-checked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..f888256 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-selected.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-selected.png new file mode 100644 index 0000000..abf5fd6 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked-selected.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked.png b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked.png new file mode 100644 index 0000000..eca439e Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-checkbox-unchecked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-insensitive.png new file mode 100644 index 0000000..fdda6b8 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-selected.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-selected.png new file mode 100644 index 0000000..806ffa4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked-selected.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked.png new file mode 100644 index 0000000..c228bb0 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-checked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-insensitive.png new file mode 100644 index 0000000..a2e402a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-selected.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-selected.png new file mode 100644 index 0000000..1c876b2 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked-selected.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked.png b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked.png new file mode 100644 index 0000000..656a7f7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menu-radio-unchecked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menubar.png b/themes/BL-Lithium/gtk-2.0/assets/menubar.png new file mode 100644 index 0000000..2489a86 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menubar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menubar_button.png b/themes/BL-Lithium/gtk-2.0/assets/menubar_button.png new file mode 100644 index 0000000..014e859 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menubar_button.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/menuitem.png b/themes/BL-Lithium/gtk-2.0/assets/menuitem.png new file mode 100644 index 0000000..6ea2f0d Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/menuitem.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/minus.png b/themes/BL-Lithium/gtk-2.0/assets/minus.png new file mode 100644 index 0000000..783f8f8 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/minus.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-horiz.png b/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-horiz.png new file mode 100644 index 0000000..1eb6bb0 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-horiz.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-vert.png b/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-vert.png new file mode 100644 index 0000000..74e9a5f Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/notebook-gap-vert.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/notebook.png b/themes/BL-Lithium/gtk-2.0/assets/notebook.png new file mode 100644 index 0000000..66938e4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/notebook.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/null.png b/themes/BL-Lithium/gtk-2.0/assets/null.png new file mode 100644 index 0000000..d82fb34 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/null.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/plus.png b/themes/BL-Lithium/gtk-2.0/assets/plus.png new file mode 100644 index 0000000..8ab9fbd Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/plus.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/progressbar.png b/themes/BL-Lithium/gtk-2.0/assets/progressbar.png new file mode 100644 index 0000000..f31e0ea Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/progressbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/progressbar_v.png b/themes/BL-Lithium/gtk-2.0/assets/progressbar_v.png new file mode 100644 index 0000000..ed119bc Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/progressbar_v.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/radio-checked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/radio-checked-insensitive.png new file mode 100644 index 0000000..b3bbb4b Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/radio-checked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/radio-checked.png b/themes/BL-Lithium/gtk-2.0/assets/radio-checked.png new file mode 100644 index 0000000..7b99013 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/radio-checked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked-insensitive.png new file mode 100644 index 0000000..4599e9d Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked.png b/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked.png new file mode 100644 index 0000000..50599d4 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/radio-unchecked.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-active.png b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-active.png new file mode 100644 index 0000000..ebfdcfb Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-insens.png b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-insens.png new file mode 100644 index 0000000..bec2242 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-prelight.png new file mode 100644 index 0000000..c7da603 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-horiz.png b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz.png new file mode 100644 index 0000000..9c7b87d Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-horiz.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-insensitive.png b/themes/BL-Lithium/gtk-2.0/assets/slider-insensitive.png new file mode 100644 index 0000000..aa95771 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/slider-prelight.png new file mode 100644 index 0000000..e7b6ec7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-vert-active.png b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-active.png new file mode 100644 index 0000000..adaea43 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-vert-insens.png b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-insens.png new file mode 100644 index 0000000..acd9523 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-insens.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-vert-prelight.png b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-prelight.png new file mode 100644 index 0000000..529e165 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-vert-prelight.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider-vert.png b/themes/BL-Lithium/gtk-2.0/assets/slider-vert.png new file mode 100644 index 0000000..acd65c2 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider-vert.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/slider.png b/themes/BL-Lithium/gtk-2.0/assets/slider.png new file mode 100644 index 0000000..00f79cc Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/slider.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/tab-bottom-active.png b/themes/BL-Lithium/gtk-2.0/assets/tab-bottom-active.png new file mode 100644 index 0000000..2a91206 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/tab-bottom-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/tab-left-active.png b/themes/BL-Lithium/gtk-2.0/assets/tab-left-active.png new file mode 100644 index 0000000..2dd88d7 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/tab-left-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/tab-right-active.png b/themes/BL-Lithium/gtk-2.0/assets/tab-right-active.png new file mode 100644 index 0000000..934d952 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/tab-right-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/tab-top-active.png b/themes/BL-Lithium/gtk-2.0/assets/tab-top-active.png new file mode 100644 index 0000000..945046a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/tab-top-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/toolbar.png b/themes/BL-Lithium/gtk-2.0/assets/toolbar.png new file mode 100644 index 0000000..f80bd1c Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/toolbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/tree_header.png b/themes/BL-Lithium/gtk-2.0/assets/tree_header.png new file mode 100644 index 0000000..2b0cdf9 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/tree_header.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal-active.png b/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal-active.png new file mode 100644 index 0000000..089eefe Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal.png b/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal.png new file mode 100644 index 0000000..accef63 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-horizontal.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar.png b/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar.png new file mode 100644 index 0000000..069f119 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar_v.png b/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar_v.png new file mode 100644 index 0000000..c46af95 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-progressbar_v.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-horiz.png b/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-horiz.png new file mode 100644 index 0000000..2b94b8a Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-horiz.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-vert.png b/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-vert.png new file mode 100644 index 0000000..33fb161 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-scrollbar-vert.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-vertical-active.png b/themes/BL-Lithium/gtk-2.0/assets/trough-vertical-active.png new file mode 100644 index 0000000..b9b2683 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-vertical-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/trough-vertical.png b/themes/BL-Lithium/gtk-2.0/assets/trough-vertical.png new file mode 100644 index 0000000..1f7e838 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/trough-vertical.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/up-background-disable-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/up-background-disable-rtl.png new file mode 100644 index 0000000..c111b27 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/up-background-disable-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/up-background-disable.png b/themes/BL-Lithium/gtk-2.0/assets/up-background-disable.png new file mode 100644 index 0000000..87065c9 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/up-background-disable.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/up-background-rtl.png b/themes/BL-Lithium/gtk-2.0/assets/up-background-rtl.png new file mode 100644 index 0000000..0e5fddb Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/up-background-rtl.png differ diff --git a/themes/BL-Lithium/gtk-2.0/assets/up-background.png b/themes/BL-Lithium/gtk-2.0/assets/up-background.png new file mode 100644 index 0000000..8ee6706 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/assets/up-background.png differ diff --git a/themes/BL-Lithium/gtk-2.0/gtkrc b/themes/BL-Lithium/gtk-2.0/gtkrc new file mode 100644 index 0000000..0e0a05c --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/gtkrc @@ -0,0 +1,24 @@ +gtk-color-scheme = "base_color: #22373f" +gtk-color-scheme = "text_color: #d3dae3" +gtk-color-scheme = "bg_color: #2b454f" +gtk-color-scheme = "fg_color: #d3dae3" +gtk-color-scheme = "tooltip_bg_color: #22373f" +gtk-color-scheme = "tooltip_fg_color: #d3dae3" +gtk-color-scheme = "selected_bg_color: #bc4b4f" +gtk-color-scheme = "selected_fg_color: #ffffff" +gtk-color-scheme = "insensitive_bg_color: #556a74" +gtk-color-scheme = "insensitive_fg_color: #a9b4be" +gtk-color-scheme = "notebook_bg: #22373f" +gtk-color-scheme = "dark_sidebar_bg: #2b454f" +gtk-color-scheme = "link_color: #bc4b4f" +gtk-color-scheme = "menu_bg: #22373f" + +gtk-icon-sizes = "gtk-button=16,16" # This makes button icons smaller. +gtk-auto-mnemonics = 1 +gtk-primary-button-warps-slider = 1 + +include "main.rc" +#include "apps.rc" +#include "panel.rc" +#include "xfce-notify.rc" +#include "menubar-toolbar/menubar-toolbar-dark.rc" diff --git a/themes/BL-Lithium/gtk-2.0/main.rc b/themes/BL-Lithium/gtk-2.0/main.rc new file mode 100644 index 0000000..8b8f824 --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/main.rc @@ -0,0 +1,2349 @@ +style "default" { + + xthickness = 1 + ythickness = 1 + + # Style Properties + + GtkWidget::focus-line-width = 1 + GtkMenuBar::window-dragging = 1 + GtkToolbar::window-dragging = 1 + GtkToolbar::internal-padding = 4 + GtkToolButton::icon-spacing = 4 + + GtkWidget::tooltip-radius = 2 + GtkWidget::tooltip-alpha = 235 + GtkWidget::new-tooltip-style = 1 #for compatibility + + GtkSeparatorMenuItem::horizontal-padding = 3 + GtkSeparatorMenuItem::wide-separators = 1 + GtkSeparatorMenuItem::separator-height = 1 + + GtkButton::child-displacement-y = 0 + GtkButton::default-border = { 0, 0, 0, 0 } + GtkButton::default-outside_border = { 0, 0, 0, 0 } + + GtkEntry::state-hint = 1 + + GtkScrollbar::trough-border = 0 + GtkRange::trough-border = 0 + GtkRange::slider-width = 13 + GtkRange::stepper-size = 0 + + GtkScrollbar::activate-slider = 1 + GtkScrollbar::has-backward-stepper = 0 + GtkScrollbar::has-forward-stepper = 0 + GtkScrollbar::min-slider-length = 32 + GtkScrolledWindow::scrollbar-spacing = 0 + GtkScrolledWindow::scrollbars-within-bevel = 1 + + GtkScale::slider_length = 15 + GtkScale::slider_width = 15 + GtkScale::trough-side-details = 1 + + GtkProgressBar::min-horizontal-bar-height = 8 + GtkProgressBar::min-vertical-bar-width = 8 + + GtkStatusbar::shadow_type = GTK_SHADOW_NONE + GtkSpinButton::shadow_type = GTK_SHADOW_NONE + GtkMenuBar::shadow-type = GTK_SHADOW_NONE + GtkToolbar::shadow-type = GTK_SHADOW_NONE + GtkMenuBar::internal-padding = 0 #( every window is misaligned for the sake of menus ): + GtkMenu::horizontal-padding = 0 + GtkMenu::vertical-padding = 0 + + GtkCheckButton::indicator_spacing = 3 + GtkOptionMenu::indicator_spacing = { 8, 2, 0, 0 } + + GtkTreeView::row_ending_details = 0 + GtkTreeView::expander-size = 11 + GtkTreeView::vertical-separator = 4 + GtkTreeView::horizontal-separator = 4 + GtkTreeView::allow-rules = 1 + GtkTreeView::odd_row_color = shade(0.98, @base_color) + + GtkExpander::expander-size = 11 + + GnomeHRef::link_color = @link_color + GtkHTML::link-color = @link_color + GtkIMHtmlr::hyperlink-color = @link_color + GtkIMHtml::hyperlink-color = @link_color + GtkWidget::link-color = @link_color + GtkWidget::visited-link-color = @text_color + + # Colors + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.02, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @insensitive_bg_color + bg[ACTIVE] = shade (0.9, @bg_color) + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = @insensitive_fg_color + fg[ACTIVE] = @fg_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = @insensitive_fg_color + text[ACTIVE] = @selected_fg_color + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @bg_color + base[ACTIVE] = shade (0.9, @selected_bg_color) + + # For succinctness, all reasonable pixmap options remain here + + engine "pixmap" { + + # Check Buttons + + image { + function = CHECK + recolorable = TRUE + state = NORMAL + shadow = OUT + overlay_file = "assets/checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = PRELIGHT + shadow = OUT + overlay_file = "assets/checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = ACTIVE + shadow = OUT + overlay_file = "assets/checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = SELECTED + shadow = OUT + overlay_file = "assets/checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = INSENSITIVE + shadow = OUT + overlay_file = "assets/checkbox-unchecked-insensitive.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = NORMAL + shadow = IN + overlay_file = "assets/checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = PRELIGHT + shadow = IN + overlay_file = "assets/checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = ACTIVE + shadow = IN + overlay_file = "assets/checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = SELECTED + shadow = IN + overlay_file = "assets/checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = INSENSITIVE + shadow = IN + overlay_file = "assets/checkbox-checked-insensitive.png" + overlay_stretch = FALSE + } + + # Radio Buttons + + image { + function = OPTION + state = NORMAL + shadow = OUT + overlay_file = "assets/radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = PRELIGHT + shadow = OUT + overlay_file = "assets/radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = ACTIVE + shadow = OUT + overlay_file = "assets/radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = SELECTED + shadow = OUT + overlay_file = "assets/radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = INSENSITIVE + shadow = OUT + overlay_file = "assets/radio-unchecked-insensitive.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = NORMAL + shadow = IN + overlay_file = "assets/radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = PRELIGHT + shadow = IN + overlay_file = "assets/radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = ACTIVE + shadow = IN + overlay_file = "assets/radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = SELECTED + shadow = IN + overlay_file = "assets/radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = INSENSITIVE + shadow = IN + overlay_file = "assets/radio-checked-insensitive.png" + overlay_stretch = FALSE + } + + # Arrows + + image { + function = ARROW + overlay_file = "assets/arrow-up.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = UP + } + + image { + function = ARROW + state = PRELIGHT + overlay_file = "assets/arrow-up-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = UP + } + + image { + function = ARROW + state = ACTIVE + overlay_file = "assets/arrow-up-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = UP + } + + image { + function = ARROW + state = INSENSITIVE + overlay_file = "assets/arrow-up-insens.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = UP + } + + image { + function = ARROW + state = NORMAL + overlay_file = "assets/arrow-down.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = DOWN + } + + image { + function = ARROW + state = PRELIGHT + overlay_file = "assets/arrow-down-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = DOWN + } + + image { + function = ARROW + state = ACTIVE + overlay_file = "assets/arrow-down-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = DOWN + } + + image { + function = ARROW + state = INSENSITIVE + overlay_file = "assets/arrow-down-insens.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = DOWN + } + + image { + function = ARROW + overlay_file = "assets/arrow-left.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = LEFT + } + + image { + function = ARROW + state= PRELIGHT + overlay_file = "assets/arrow-left-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = LEFT + } + + image { + function = ARROW + state = ACTIVE + overlay_file = "assets/arrow-left-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = LEFT + } + + image { + function = ARROW + state = INSENSITIVE + overlay_file = "assets/arrow-left-insens.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = LEFT + } + + image { + function = ARROW + overlay_file = "assets/arrow-right.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + image { + function = ARROW + state = PRELIGHT + overlay_file = "assets/arrow-right-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + image { + function = ARROW + state = ACTIVE + overlay_file = "assets/arrow-right-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + image { + function = ARROW + state = INSENSITIVE + overlay_file = "assets/arrow-right-insens.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + # Option Menu Arrows + + image { + function = TAB + state = INSENSITIVE + overlay_file = "assets/arrow-down-insens.png" + overlay_stretch = FALSE + } + + image { + function = TAB + state = NORMAL + overlay_file = "assets/arrow-down.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + } + + image { + function = TAB + state = PRELIGHT + overlay_file = "assets/arrow-down-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + } + + # Lines + + image { + function = VLINE + file = "assets/line-v.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = HLINE + file = "assets/line-h.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + # Focuslines + + image { + function = FOCUS + file = "assets/focus-line.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + } + + # Handles + + image { + function = HANDLE + overlay_file = "assets/handle-h.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + image { + function = HANDLE + overlay_file = "assets/handle-v.png" + overlay_stretch = FALSE + orientation = VERTICAL + } + + # Expanders + + image { + function = EXPANDER + expander_style = COLLAPSED + file = "assets/plus.png" + } + + image { + function = EXPANDER + expander_style = EXPANDED + file = "assets/minus.png" + } + + image { + function = EXPANDER + expander_style = SEMI_EXPANDED + file = "assets/minus.png" + } + + image { + function = EXPANDER + expander_style = SEMI_COLLAPSED + file = "assets/plus.png" + } + + image { + function = RESIZE_GRIP + state = NORMAL + detail = "statusbar" + overlay_file = "assets/null.png" + overlay_border = { 0,0,0,0 } + overlay_stretch = FALSE + } + + # Shadows ( this area needs help :P ) + + image { + function = SHADOW_GAP + file = "assets/null.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + } +} + + +style "toplevel_hack" { + + engine "adwaita" { + } +} + +style "ooo_stepper_hack" { + + GtkScrollbar::stepper-size = 0 + GtkScrollbar::has-backward-stepper = 0 + GtkScrollbar::has-forward-stepper = 0 + +} + +style "scrollbar" { + + engine "pixmap" { + + image { + function = BOX + detail = "trough" + file = "assets/trough-scrollbar-horiz.png" + border = { 2, 2, 3, 3 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = BOX + detail = "trough" + file = "assets/trough-scrollbar-vert.png" + border = { 3, 3, 2, 2 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = ARROW + overlay_file = "assets/null.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = UP + } + + image { + function = ARROW + overlay_file = "assets/null.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = DOWN + } + + image { + function = ARROW + overlay_file = "assets/null.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = LEFT + } + + image { + function = ARROW + overlay_file = "assets/null.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + # Sliders + + image { + function = SLIDER + state = NORMAL + file = "assets/slider-horiz.png" + border = { 5, 5, 3, 3 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = ACTIVE + file = "assets/slider-horiz-active.png" + border = { 5, 5, 3, 3 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = PRELIGHT + file = "assets/slider-horiz-prelight.png" + border = { 5, 5, 3, 3 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = INSENSITIVE + file = "assets/slider-horiz-insens.png" + border = { 5, 5, 3, 3 } + stretch = TRUE + orientation = HORIZONTAL + } + +# X Verticals + + image { + function = SLIDER + state = NORMAL + file = "assets/slider-vert.png" + border = { 3, 3, 5, 5 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = SLIDER + state = ACTIVE + file = "assets/slider-vert-active.png" + border = { 3, 3, 5, 5 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = SLIDER + state = PRELIGHT + file = "assets/slider-vert-prelight.png" + border = { 3, 3, 5, 5 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = SLIDER + state = INSENSITIVE + file = "assets/slider-vert-insens.png" + border = { 3, 3, 5, 5 } + stretch = TRUE + orientation = VERTICAL + } + } +} + +style "menu" { + + xthickness = 0 + ythickness = 0 + + GtkMenuItem::arrow-scaling = 0.4 + + bg[NORMAL] = @menu_bg + bg[INSENSITIVE] = @menu_bg + bg[PRELIGHT] = @menu_bg + + engine "pixmap" { # For menus that use horizontal lines rather than gtkseparator + + image { + function = HLINE + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "menu_framed_box" { + + engine "adwaita" { + } +} + +style "menu_item" +{ + xthickness = 2 + ythickness = 5 + + # HACK: Gtk doesn't actually read this value + # while rendering the menu items, but Libreoffice + # does; setting this value equal to the one in + # fg[PRELIGHT] ensures a code path in the LO theming code + # that falls back to a dark text color for menu item text + # highlight. The price to pay is black text on menus as well, + # but at least it's readable. + # See https://bugs.freedesktop.org/show_bug.cgi?id=38038 + bg[SELECTED] = @selected_fg_color + + fg[NORMAL] = @fg_color + fg[SELECTED] = @selected_fg_color + + fg[PRELIGHT] = @selected_fg_color + text[PRELIGHT] = @selected_fg_color + + engine "pixmap" { + + image { + function = BOX + state = PRELIGHT + file = "assets/menuitem.png" + border = { 1, 0, 1, 0 } + stretch = TRUE + } + + # Fix invisible scale trough on selected menuitems + + image { + function = BOX + detail = "trough-lower" + file = "assets/trough-horizontal.png" + border = { 8, 8, 0, 0 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = PRELIGHT + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + # Check Buttons + + image { + function = CHECK + recolorable = TRUE + state = NORMAL + shadow = OUT + overlay_file = "assets/menu-checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = PRELIGHT + shadow = OUT + overlay_file = "assets/menu-checkbox-unchecked-selected.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = ACTIVE + shadow = OUT + overlay_file = "assets/menu-checkbox-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = INSENSITIVE + shadow = OUT + overlay_file = "assets/menu-checkbox-unchecked-insensitive.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = NORMAL + shadow = IN + overlay_file = "assets/menu-checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = PRELIGHT + shadow = IN + overlay_file = "assets/menu-checkbox-checked-selected.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = ACTIVE + shadow = IN + overlay_file = "assets/menu-checkbox-checked.png" + overlay_stretch = FALSE + } + + image { + function = CHECK + recolorable = TRUE + state = INSENSITIVE + shadow = IN + overlay_file = "assets/menu-checkbox-checked-insensitive.png" + overlay_stretch = FALSE + } + + # Radio Buttons + + image { + function = OPTION + state = NORMAL + shadow = OUT + overlay_file = "assets/menu-radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = PRELIGHT + shadow = OUT + overlay_file = "assets/menu-radio-unchecked-selected.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = ACTIVE + shadow = OUT + overlay_file = "assets/menu-radio-unchecked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = INSENSITIVE + shadow = OUT + overlay_file = "assets/menu-radio-unchecked-insensitive.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = NORMAL + shadow = IN + overlay_file = "assets/menu-radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = PRELIGHT + shadow = IN + overlay_file = "assets/menu-radio-checked-selected.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = ACTIVE + shadow = IN + overlay_file = "assets/menu-radio-checked.png" + overlay_stretch = FALSE + } + + image { + function = OPTION + state = INSENSITIVE + shadow = IN + overlay_file = "assets/menu-radio-checked-insensitive.png" + overlay_stretch = FALSE + } + + image { + function = SHADOW # This fixes boxy Qt menu items + file = "assets/null.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + # Arrow Buttons + + image { + function = ARROW + state = NORMAL + overlay_file = "assets/menu-arrow.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + + image { + function = ARROW + state = PRELIGHT + overlay_file = "assets/menu-arrow-prelight.png" + overlay_border = { 0, 0, 0, 0 } + overlay_stretch = FALSE + arrow_direction = RIGHT + } + } +} + +style "button" { + + xthickness = 4 + ythickness = 4 + + engine "pixmap" { + + image { + function = BOX + state = NORMAL + file = "assets/button.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = PRELIGHT + file = "assets/button-hover.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = ACTIVE + file = "assets/button-active.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = INSENSITIVE + file = "assets/button-insensitive.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + } +} + +style "checkbutton" { + + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + +} + +style "entry" { + + xthickness = 6 + ythickness = 4 + + engine "pixmap" { + + image { + function = SHADOW + state = NORMAL + detail = "entry" + file = "assets/entry-bg.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = ACTIVE + detail = "entry" + file = "assets/entry-active-bg.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = INSENSITIVE + detail = "entry" + file = "assets/entry-disabled-bg.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = FLAT_BOX + state = ACTIVE + detail = "entry_bg" + file = "assets/entry-background.png" + } + + image { + function = FLAT_BOX + state = INSENSITIVE + detail = "entry_bg" + file = "assets/entry-background-disabled.png" + } + + image { + function = FLAT_BOX + detail = "entry_bg" + file = "assets/entry-background.png" + } + } +} + +style "notebook_entry" { + + engine "pixmap" { + + image { + function = SHADOW + state = NORMAL + detail = "entry" + file = "assets/entry-notebook.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = ACTIVE + detail = "entry" + file = "assets/entry-active-notebook.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = INSENSITIVE + detail = "entry" + file = "assets/entry-disabled-notebook.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + } +} + +style "notebook_tab_label" { + + fg[ACTIVE] = @text_color + +} + +style "combobox_entry" +{ + xthickness = 3 + ythickness = 4 + + engine "pixmap" { + + # LTR version + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = INSENSITIVE + shadow = IN + file = "assets/combo-entry-insensitive.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-focus.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + # RTL version + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = SHADOW + detail = "entry" + state = INSENSITIVE + shadow = IN + file = "assets/combo-entry-insensitive-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-focus-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + } +} + +style "notebook_combobox_entry" { + + engine "pixmap" { + + # LTR version + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry-notebook.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = INSENSITIVE + shadow = IN + file = "assets/combo-entry-insensitive-notebook.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-focus-notebook.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + # RTL version + + image { + function = SHADOW + detail = "entry" + state = NORMAL + shadow = IN + file = "assets/combo-entry-notebook-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = SHADOW + detail = "entry" + state = INSENSITIVE + shadow = IN + file = "assets/combo-entry-insensitive-notebook-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = SHADOW + detail = "entry" + state = ACTIVE + file = "assets/combo-entry-focus-notebook-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + } +} + +style "combobox_entry_button" +{ + xthickness = 6 + + fg[ACTIVE] = @text_color + + engine "pixmap" { + + # LTR version + + image { + function = BOX + state = NORMAL + file = "assets/combo-entry-button.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = BOX + state = PRELIGHT + file = "assets/combo-entry-button.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = BOX + state = INSENSITIVE + file = "assets/combo-entry-button-insensitive.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + image { + function = BOX + state = ACTIVE + file = "assets/combo-entry-button-active.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = LTR + } + + # RTL version + image { + function = BOX + state = NORMAL + file = "assets/combo-entry-button-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = BOX + state = PRELIGHT + file = "assets/combo-entry-button-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = BOX + state = INSENSITIVE + file = "assets/combo-entry-button-insensitive-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + + image { + function = BOX + state = ACTIVE + file = "assets/combo-entry-button-active-rtl.png" + border = { 4, 4, 5, 4 } + stretch = TRUE + direction = RTL + } + } +} + +style "spinbutton" { + + bg[NORMAL] = @bg_color + + xthickness = 6 + ythickness = 4 + + engine "pixmap" { + + image { + function = ARROW + } + + # Spin-Up LTR + + image { + function = BOX + state = NORMAL + detail = "spinbutton_up" + file = "assets/up-background.png" + border = { 1, 4, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_up" + file = "assets/up-background.png" + border = { 1, 4, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_up" + file = "assets/up-background-disable.png" + border = { 1, 4, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-insens.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_up" + file = "assets/up-background.png" + border = { 1, 4, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + direction = LTR + } + + # Spin-Up RTL + + image { + function = BOX + state = NORMAL + detail = "spinbutton_up" + file = "assets/up-background-rtl.png" + border = { 4, 1, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_up" + file = "assets/up-background-rtl.png" + border = { 4, 1, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_up" + file = "assets/up-background-disable-rtl.png" + border = { 4, 1, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-insens.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_up" + file = "assets/up-background-rtl.png" + border = { 4, 1, 5, 0 } + stretch = TRUE + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + direction = RTL + } + + # Spin-Down LTR + + image { + function = BOX + state = NORMAL + detail = "spinbutton_down" + file = "assets/down-background.png" + border = { 1, 4, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_down" + file = "assets/down-background.png" + border = { 1, 4, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_down" + file = "assets/down-background-disable.png" + border = { 1, 4, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-insens.png" + overlay_stretch = FALSE + direction = LTR + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_down" + file = "assets/down-background.png" + border = { 1, 4, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + direction = LTR + } + + # Spin-Down RTL + + image { + function = BOX + state = NORMAL + detail = "spinbutton_down" + file = "assets/down-background-rtl.png" + border = { 4, 1, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_down" + file = "assets/down-background-rtl.png" + border = { 4, 1, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_down" + file = "assets/down-background-disable-rtl.png" + border = { 4, 1, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-insens.png" + overlay_stretch = FALSE + direction = RTL + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_down" + file = "assets/down-background-rtl.png" + border = { 4, 1, 1, 4 } + stretch = TRUE + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + direction = RTL + } + } +} + +style "gimp_spin_scale" { + + bg[NORMAL] = @base_color + + engine "pixmap" { + + image { + function = FLAT_BOX + detail = "entry_bg" + state = NORMAL + } + + image { + function = FLAT_BOX + detail = "entry_bg" + state = ACTIVE + } + + image { + function = BOX + state = NORMAL + detail = "spinbutton_up" + overlay_file = "assets/arrow-up-small.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_up" + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_up" + overlay_file = "assets/arrow-up-small-prelight.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_up" + overlay_file = "assets/arrow-up-small-insens.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = NORMAL + detail = "spinbutton_down" + overlay_file = "assets/arrow-down-small.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = PRELIGHT + detail = "spinbutton_down" + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = ACTIVE + detail = "spinbutton_down" + overlay_file = "assets/arrow-down-small-prelight.png" + overlay_stretch = FALSE + } + + image { + function = BOX + state = INSENSITIVE + detail = "spinbutton_down" + overlay_file = "assets/arrow-down-small-insens.png" + overlay_stretch = FALSE + } + } +} + +style "notebook" { + + xthickness = 5 + ythickness = 2 + + engine "pixmap" { + + image { + function = EXTENSION + state = ACTIVE + file = "assets/null.png" + border = { 0,0,0,0 } + stretch = TRUE + gap_side = TOP + } + + image { + function = EXTENSION + state = ACTIVE + file = "assets/null.png" + border = { 0,0,0,0 } + stretch = TRUE + gap_side = BOTTOM + } + + image { + function = EXTENSION + state = ACTIVE + file = "assets/null.png" + border = { 0,0,0,0 } + stretch = TRUE + gap_side = RIGHT + } + + image { + function = EXTENSION + state = ACTIVE + file = "assets/null.png" + border = { 0,0,0,0 } + stretch = TRUE + gap_side = LEFT + } + + image { + function = EXTENSION + file = "assets/tab-top-active.png" + border = { 3,3,3,3 } + stretch = TRUE + gap_side = BOTTOM + } + + image { + function = EXTENSION + file = "assets/tab-bottom-active.png" + border = { 3,3,3,3 } + stretch = TRUE + gap_side = TOP + } + + image { + function = EXTENSION + file = "assets/tab-left-active.png" + border = { 3,3,3,3 } + stretch = TRUE + gap_side = RIGHT + } + + image { + function = EXTENSION + file = "assets/tab-right-active.png" + border = { 3,3,3,3 } + stretch = TRUE + gap_side = LEFT + } + + # How to draw boxes with a gap on one side (ie the page of a notebook) + + image { + function = BOX_GAP + file = "assets/notebook.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + gap_file = "assets/notebook-gap-horiz.png" + gap_border = { 1, 1, 0, 0 } + gap_side = TOP + } + + image { + function = BOX_GAP + file = "assets/notebook.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + gap_file = "assets/notebook-gap-horiz.png" + gap_border = { 1, 1, 0, 0 } + gap_side = BOTTOM + } + + image { + function = BOX_GAP + file = "assets/notebook.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + gap_file = "assets/notebook-gap-vert.png" + gap_border = { 0, 0, 1, 1 } + gap_side = LEFT + } + + image { + function = BOX_GAP + file = "assets/notebook.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + gap_file = "assets/notebook-gap-vert.png" + gap_border = { 0, 0, 1, 1 } + gap_side = RIGHT + } + + # How to draw the box of a notebook when it isnt attached to a tab + + image { + function = BOX + file = "assets/notebook.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + } +} + +style "handlebox" { + + engine "pixmap" { + + image { + function = BOX + file = "assets/null.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + detail = "handlebox_bin" + shadow = IN + } + + image { + function = BOX + file = "assets/null.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + detail = "handlebox_bin" + shadow = OUT + } + } +} + +style "combobox_separator" { + + xthickness = 0 + ythickness = 0 + GtkWidget::wide-separators = 1 + +} + +style "combobox" { + + xthickness = 0 + ythickness = 0 + +} + +style "combobox_button" { + + xthickness = 3 + ythickness = 3 + +} + +style "range" { + + engine "pixmap" { + + image { + function = BOX + detail = "trough-upper" + file = "assets/trough-horizontal.png" + border = { 8, 8, 0, 0 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = BOX + detail = "trough-lower" + file = "assets/trough-horizontal-active.png" + border = { 8, 8, 0, 0 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = BOX + detail = "trough-upper" + file = "assets/trough-vertical.png" + border = { 0, 0, 8, 8 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = BOX + detail = "trough-lower" + file = "assets/trough-vertical-active.png" + border = { 0, 0, 8, 8 } + stretch = TRUE + orientation = VERTICAL + } + + # Horizontal + + image { + function = SLIDER + state = NORMAL + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = PRELIGHT + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider-prelight.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + image { + function = SLIDER + state = INSENSITIVE + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider-insensitive.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + # Vertical + + image { + function = SLIDER + state = NORMAL + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider.png" + overlay_stretch = FALSE + orientation = VERTICAL + } + + image { + function = SLIDER + state = PRELIGHT + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider-prelight.png" + overlay_stretch = FALSE + orientation = VERTICAL + } + + image { + function = SLIDER + state = INSENSITIVE + file = "assets/null.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + overlay_file = "assets/slider-insensitive.png" + overlay_stretch = FALSE + orientation = VERTICAL + } + + # Function below removes ugly boxes + + image { + function = BOX + file = "assets/null.png" + border = { 3, 3, 3, 3 } + stretch = TRUE + } + } +} + +style "progressbar" { + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + + engine "pixmap" { + + image { + function = BOX + detail = "trough" + file = "assets/trough-progressbar.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + orientation = HORIZONTAL + } + + image { + function = BOX + detail = "bar" + file = "assets/progressbar.png" + stretch = TRUE + border = { 3, 3, 3, 3 } + orientation = HORIZONTAL + } + + image { + function = BOX + detail = "trough" + file = "assets/trough-progressbar_v.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + orientation = VERTICAL + } + + image { + function = BOX + detail = "bar" + file = "assets/progressbar_v.png" + stretch = TRUE + border = { 3, 3, 3, 3 } + orientation = VERTICAL + } + } +} + +style "separator_menu_item" { + + engine "pixmap" { + + image { + function = BOX + file = "assets/null.png" + border = { 0, 0, 1, 0 } + stretch = TRUE + } + } +} + +style "treeview_header" { + ythickness = 1 + + fg[PRELIGHT] = mix(0.70, @text_color, @base_color) + font_name = "Bold" + + engine "pixmap" { + + image { + function = BOX + file = "assets/tree_header.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + } + } +} + +# Treeview Rows + +style "treeview" { + + xthickness = 2 + ythickness = 0 + + +} + +style "scrolled_window" { + + xthickness = 1 + ythickness = 1 + + engine "pixmap" { + + image { + function = SHADOW + file = "assets/frame.png" + border = { 5, 5, 5, 5 } + stretch = TRUE + } + } +} + +style "frame" { + + xthickness = 1 + ythickness = 1 + + engine "pixmap" { + + image { + function = SHADOW + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + shadow = IN + } + + image { + function = SHADOW_GAP + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + gap_start_file = "assets/frame-gap-start.png" + gap_start_border = { 1, 0, 0, 0 } + gap_end_file = "assets/frame-gap-end.png" + gap_end_border = { 0, 1, 0, 0 } + shadow = IN + } + + image { + function = SHADOW + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + shadow = OUT + } + + image { + function = SHADOW_GAP + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + gap_start_file = "assets/frame-gap-start.png" + gap_start_border = { 1, 0, 0, 0 } + gap_end_file = "assets/frame-gap-end.png" + gap_end_border = { 0, 1, 0, 0 } + shadow = OUT + } + + image { + function = SHADOW + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + shadow = ETCHED_IN + } + + image { + function = SHADOW_GAP + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + gap_start_file = "assets/frame-gap-start.png" + gap_start_border = { 1, 0, 0, 0 } + gap_end_file = "assets/frame-gap-end.png" + gap_end_border = { 0, 1, 0, 0 } + shadow = ETCHED_IN + } + + image { + function = SHADOW + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + shadow = ETCHED_OUT + } + + image { + function = SHADOW_GAP + file = "assets/frame.png" + border = { 1, 1, 1, 1 } + stretch = TRUE + gap_start_file = "assets/frame-gap-start.png" + gap_start_border = { 1, 0, 0, 0 } + gap_end_file = "assets/frame-gap-end.png" + gap_end_border = { 0, 1, 0, 0 } + shadow = ETCHED_OUT + } + } +} + +style "gimp_toolbox_frame" { + + engine "pixmap" { + + image { + function = SHADOW + } + } +} + +style "toolbar" { + + engine "pixmap" { + + image { + function = BOX + file = "assets/toolbar.png" + stretch = TRUE + border = { 1, 1, 1, 1 } + } + + image { + function = HANDLE + overlay_file = "assets/handle-h.png" + overlay_stretch = FALSE + orientation = HORIZONTAL + } + + image { + function = HANDLE + overlay_file = "assets/handle-v.png" + overlay_stretch = FALSE + orientation = VERTICAL + } + + image { + function = VLINE + recolorable = TRUE + file = "assets/null.png" + } + + image { + function = HLINE + recolorable = TRUE + file = "assets/null.png" + } + } +} + +style "inline_toolbar" { + + GtkToolbar::button-relief = GTK_RELIEF_NORMAL + + engine "pixmap" { + + image { + function = BOX + file = "assets/inline-toolbar.png" + stretch = TRUE + border = { 1, 1, 1, 1 } + } + } +} + +style "notebook_viewport" { + + bg[NORMAL] = @notebook_bg +} + + +style "notebook_eventbox" { + + bg[NORMAL] = @notebook_bg + bg[ACTIVE] = @bg_color +} + +style "tooltips" { + + xthickness = 8 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + fg[NORMAL] = @tooltip_fg_color + bg[SELECTED] = @tooltip_bg_color + +} + +style "eclipse-tooltips" { + + xthickness = 8 + ythickness = 4 + + bg[NORMAL] = shade(1.05, @bg_color) + fg[NORMAL] = @text_color + bg[SELECTED] = shade(1.05, @bg_color) + +} + +style "xfdesktop-icon-view" { + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 100 + XfdesktopIconView::shadow-x-offset = 0 + XfdesktopIconView::shadow-y-offset = 1 + XfdesktopIconView::selected-shadow-x-offset = 0 + XfdesktopIconView::selected-shadow-y-offset = 1 + XfdesktopIconView::shadow-color = "#000000" + XfdesktopIconView::selected-shadow-color = "#000000" + XfdesktopIconView::shadow-blur-radius = 2 + XfdesktopIconView::cell-spacing = 2 + XfdesktopIconView::cell-padding = 6 + XfdesktopIconView::cell-text-width-proportion = 1.9 + + fg[NORMAL] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color +} + +style "xfwm-tabwin" { + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::border-alpha = 1.0 + Xfwm4TabwinWidget::icon-size = 64 + Xfwm4TabwinWidget::alpha = 1.0 + Xfwm4TabwinWidget::border-radius = 2 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color + + fg[NORMAL] = @fg_color + + engine "murrine" { + contrast = 0.7 + glazestyle = 0 + glowstyle = 0 + highlight_shade = 1.0 + gradient_shades = {1.0,1.0,1.0,1.0} + border_shades = { 0.8, 0.8 } + } +} + +style "xfwm-tabwin-button" { + + font_name = "bold" + bg[SELECTED] = @selected_bg_color +} + +# Chromium +style "chrome_menu_item" { + + bg[SELECTED] = @selected_bg_color + +} + +# Text Style +style "text" = "default" { + engine "murrine" { textstyle = 0 } +} + +style "menu_text" = "menu_item" { + engine "murrine" { textstyle = 0 } +} + + +style "null" { + + engine "pixmap" { + + image { + function = BOX + file = "assets/null.png" + stretch = TRUE + } + } +} + + +class "GtkWidget" style "default" +class "GtkScrollbar" style "scrollbar" +class "GtkButton" style "button" +class "GtkEntry" style "entry" +class "GtkOldEditable" style "entry" +class "GtkSpinButton" style "spinbutton" +class "GtkNotebook" style "notebook" +class "GtkRange" style "range" +class "GtkProgressBar" style "progressbar" +class "GtkSeparatorMenuItem" style "separator_menu_item" +class "GtkScrolledWindow" style "scrolled_window" +class "GtkFrame" style "frame" +class "GtkTreeView" style "treeview" +class "GtkToolbar" style "toolbar" +class "*HandleBox" style "toolbar" + +widget_class "**" style "menu" +widget_class "**" style "menu_framed_box" +widget_class "**" style "menu_item" +widget_class "**" style "checkbutton" +widget_class "*" style "combobox" +widget_class "**" style "combobox_button" +widget_class "**" style "combobox_separator" +widget_class "***" style "treeview_header" +widget_class "**" style "inline_toolbar" +widget_class "**" style "combobox_entry" +widget_class "**" style "combobox_entry_button" +widget_class "***" style "notebook_viewport" +widget_class "*HandleBox" style "toolbar" + +# Entries in notebooks draw with notebook's base color, but not if there's +# something else in the middle that draws gray again +widget_class "**" style "notebook_entry" +widget_class "***" style "entry" + +widget_class "***" style "notebook_combobox_entry" +widget_class "****" style "combobox_entry" + +# We also need to avoid changing fg color for the inactive notebook tab labels +widget_class "*." style "notebook_tab_label" + +# GTK tooltips +widget "gtk-tooltip*" style "tooltips" + +#Fix GVim tabs +widget_class "**" style "notebook_eventbox" + +# Xchat special cases +widget "*xchat-inputbox" style "entry" + +# GIMP +# Disable gradients completely for GimpSpinScale +#class "GimpSpinScale" style "gimp_spin_scale" + +# Remove borders from "Wilbert frame" in Gimp +widget_class "**" style "gimp_toolbox_frame" + +# Chrome/Chromium +widget_class "*Chrom*Button*" style "button" +widget_class "***" style "chrome_menu_item" + +# Eclipse/SWT +widget "gtk-tooltips*" style "eclipse-tooltips" +widget "*swt-toolbar-flat" style "null" + +# Openoffice, Libreoffice +class "GtkWindow" style "toplevel_hack" +widget "*openoffice-toplevel*" style "ooo_stepper_hack" + +# Xfce +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget "xfwm4-tabwin*GtkButton*" style "xfwm-tabwin-button" + +# Fixes ugly text shadows for insensitive text +widget_class "*" style "text" +widget_class "**" style "menu_text" +widget_class "**" style "text" +widget_class "**" style "text" +widget_class "**" style "text" diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-active.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-active.png new file mode 100644 index 0000000..8f44325 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-active.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-hover.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-hover.png new file mode 100644 index 0000000..53e7465 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-hover.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-insensitive.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-insensitive.png new file mode 100644 index 0000000..672d82e Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button-insensitive.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button.png new file mode 100644 index 0000000..0a71989 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/button.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-active-toolbar-dark.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-active-toolbar-dark.png new file mode 100644 index 0000000..eba9340 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-active-toolbar-dark.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-disabled-toolbar-dark.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-disabled-toolbar-dark.png new file mode 100644 index 0000000..1e73ed9 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-disabled-toolbar-dark.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-toolbar-dark.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-toolbar-dark.png new file mode 100644 index 0000000..f4cb1b2 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/entry-toolbar-dark.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-dark.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-dark.png new file mode 100644 index 0000000..2489a86 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-dark.png differ diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-toolbar-dark.rc b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-toolbar-dark.rc new file mode 100644 index 0000000..d28d584 --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar-toolbar-dark.rc @@ -0,0 +1,222 @@ +style "menubar" { + + bg[NORMAL] = "#2b454f" + fg[NORMAL] = "#d3dae3" + fg[PRELIGHT] = "#d3dae3" + fg[ACTIVE] = "#d3dae3" + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = shade(0.7, "#d3dae3") + + xthickness = 0 + ythickness = 0 + + engine "pixmap" { + + image { + function = BOX + file = "menubar-toolbar/menubar-dark.png" + stretch = TRUE + border = { 1, 1, 1, 1 } + } + } +} + +style "menubar-borderless" { + + bg[NORMAL] = "#2b454f" + fg[NORMAL] = "#d3dae3" + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = shade(0.7, "#d3dae3") + + xthickness = 0 + ythickness = 0 + + engine "pixmap" { + + image { + function = BOX + file = "assets/null.png" + stretch = TRUE + border = { 1, 1, 1, 1 } + } + } +} + +style "menubar_item" { + + xthickness = 2 + ythickness = 4 + + fg[PRELIGHT] = @selected_fg_color + + engine "pixmap" { + + image { + function = BOX + state = PRELIGHT + file = "menubar-toolbar/menubar_button-dark.png" + border = { 2, 2, 2, 2 } + stretch = TRUE + } + } +} + +# Text Style Menubar +style "menubar-text" { + + engine "murrine" { + text_shade = 0.0 + textstyle = 0 + } +} + + +style "toolbar_text" { + fg[NORMAL] = "#d3dae3" + fg[PRELIGHT] = "#d3dae3" + fg[INSENSITIVE] = shade(0.7, "#d3dae3") + fg[ACTIVE] = "#d3dae3" + + text[NORMAL] = "#d3dae3" + text[PRELIGHT] = "#d3dae3" + text[INSENSITIVE] = shade(0.7, "#d3dae3") + text[ACTIVE] = "#d3dae3" + +} + +style "toolbar_button" { + + xthickness = 4 + ythickness = 4 + + engine "pixmap" { + + image { + function = BOX + state = NORMAL + file = "menubar-toolbar/button.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = PRELIGHT + file = "menubar-toolbar/button-hover.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = ACTIVE + file = "menubar-toolbar/button-active.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + + image { + function = BOX + state = INSENSITIVE + file = "menubar-toolbar/button-insensitive.png" + border = { 4, 4, 4, 4 } + stretch = TRUE + } + } +} + +style "toolbar_entry" { + + base[NORMAL] = "#2b454f" + base[ACTIVE] = "#2b454f" + base[INSENSITIVE] = "#39404d" + + text[NORMAL] = "#d3dae3" + + engine "pixmap" { + + image { + function = SHADOW + state = NORMAL + detail = "entry" + file = "menubar-toolbar/entry-toolbar-dark.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = ACTIVE + detail = "entry" + file = "menubar-toolbar/entry-active-toolbar-dark.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = SHADOW + state = INSENSITIVE + detail = "entry" + file = "menubar-toolbar/entry-disabled-toolbar-dark.png" + border = {6, 6, 6, 6} + stretch = TRUE + } + + image { + function = FLAT_BOX + state = ACTIVE + detail = "entry_bg" + file = "assets/null.png" + } + + image { + function = FLAT_BOX + state = INSENSITIVE + detail = "entry_bg" + file = "assets/null.png" + } + + image { + function = FLAT_BOX + detail = "entry_bg" + file = "assets/null.png" + } + } +} + +#Chromium +style "chrome-gtk-frame" { + + ChromeGtkFrame::frame-color = "#2b454f" + ChromeGtkFrame::inactive-frame-color = "#2b454f" + + ChromeGtkFrame::frame-gradient-size = 0 + ChromeGtkFrame::frame-gradient-color = shade(0.5, @bg_color) + + ChromeGtkFrame::incognito-frame-color = shade(0.85, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = @bg_color + + ChromeGtkFrame::incognito-frame-gradient-color = @bg_color + + ChromeGtkFrame::scrollbar-trough-color = shade(0.912, @bg_color) + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(1.04, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color + +} + +widget_class "**" style "menubar" +widget_class "*.*" style "menubar_item" + +widget_class "*ThunarWindow*" style "menubar" + +class "ChromeGtkFrame" style "chrome-gtk-frame" + +widget_class "***" style "menubar-text" + +# Whitelist for dark toolbars +widget_class "*ThunarWindow*" style "menubar-borderless" +widget_class "*ThunarWindow**" style "toolbar_entry" +widget_class "*ThunarWindow**" style "toolbar_button" +widget_class "*ThunarWindow**" style "toolbar_text" +widget_class "*ThunarWindow***" style "menubar-text" + diff --git a/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar_button-dark.png b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar_button-dark.png new file mode 100644 index 0000000..014e859 Binary files /dev/null and b/themes/BL-Lithium/gtk-2.0/menubar-toolbar/menubar_button-dark.png differ diff --git a/themes/BL-Lithium/gtk-2.0/panel.rc b/themes/BL-Lithium/gtk-2.0/panel.rc new file mode 100644 index 0000000..5d2a5b4 --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/panel.rc @@ -0,0 +1,160 @@ +style "theme-panel" { + + xthickness = 2 + ythickness = 0 + + bg[NORMAL] = "#2B2E37" + bg[ACTIVE] = @selected_bg_color + bg[PRELIGHT] = "#3f4453" + bg[SELECTED] = @selected_bg_color + + fg[NORMAL] = "#d3dae3" + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + + text[NORMAL] = "#d3dae3" + text[PRELIGHT] = "#d3dae3" + text[ACTIVE] = "#d3dae3" + text[SELECTED] = "#d3dae3" + + engine "murrine" { + reliefstyle = 0 + glazestyle = 0 + glow_shade = 1.0 + highlight_shade = 1.0 + roundness = 0 + gradient_shades = {1.0,1.0,1.0,1.0} + textstyle = 0 + contrast = 0.0 + } +} + +style "theme-panel-progressbar" { + bg[ACTIVE] = "#1D1F26" +} + +style "panelbar" { + + fg[NORMAL] = "#edf5fb" + fg[ACTIVE] = "#edf5fb" + fg[PRELIGHT] = "#edf5fb" + fg[SELECTED] = @selected_fg_color + + bg[SELECTED] = @selected_bg_color + + engine "murrine" {} +} + +style "panelbuttons" { + + xthickness = 4 + ythickness = 0 + + engine "murrine" { + textstyle = 0 + } +} + +style "theme-panel-text" { + + fg[NORMAL] = "#edf5fb" + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = "#edf5fb" + + text[NORMAL] = "#edf5fb" + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = "#edf5fb" + + engine "murrine" { + textstyle = 0 + text_shade = 0.2 + } +} + +style "panel-entry" { + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" { + fg[PRELIGHT] = @selected_fg_color + text[PRELIGHT] = @selected_fg_color +} + +style "workspace-switcher" = "theme-panel" { + bg[SELECTED] = @selected_bg_color +} + +style "indicator" = "theme-panel" { + xthickness = 0 + ythickness = 0 +} + +widget "*tasklist*" style "panelbuttons" +widget_class "*Xfce*Panel*.GtkToggleButton" style "panelbuttons" +widget_class "*Xfce*NetkTasklist*GtkToggleButton" style "panelbuttons" +widget_class "*PanelToplevel*Button" style "panelbuttons" +widget_class "*Panel*GtkToggleButton" style "panelbuttons" +widget_class "*Xfce*Panel*Button*" style "panelbuttons" +widget_class "*" style "panelbuttons" +widget_class "**" style "panelbuttons" +widget_class "*XfcePanelPlugin.GtkButton" style "panelbuttons" +widget "*dict*Applet*" style "panelbuttons" +widget_class "*Xfce*NetkTasklist*GtkToggleButton" style "panelbuttons" +widget_class "*Tasklist*" style:highest "panelbuttons" + +class "*Panel*MenuBar*" style "panelbar" +widget_class "*Panel*MenuBar*" style "panelbar" +widget_class "*Panel*MenuBar*Item*" style:highest "panelbar" + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*Xfce*Panel*GtkProgressBar" style "theme-panel-progressbar" +widget "*WnckPager*" style "workspace-switcher" +widget "*TopMenu*" style "theme-panel" +widget "*XfceTasklist*" style "panelbuttons" + +# Fix gtk-entries in the panel +widget "*bookmark*GtkEntry" style "panel-entry" # fixes smartbookmark-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" diff --git a/themes/BL-Lithium/gtk-2.0/xfce-notify.rc b/themes/BL-Lithium/gtk-2.0/xfce-notify.rc new file mode 100644 index 0000000..b19c45b --- /dev/null +++ b/themes/BL-Lithium/gtk-2.0/xfce-notify.rc @@ -0,0 +1,74 @@ +gtk-color-scheme = "selected_bg_color:#bc4b4f\nselected_fg_color:#22373f" + +style "notify-window" { + XfceNotifyWindow::summary-bold = 1 + XfceNotifyWindow::border-color = "#17191F" + XfceNotifyWindow::border-color-hover = "#17191F" + XfceNotifyWindow::border-radius = 3.0 + XfceNotifyWindow::border-width = 1.0 + XfceNotifyWindow::border-width-hover = 1.0 + + bg[NORMAL] = "#292C36" +} + +style "notify-button" { + bg[NORMAL] = "#434652" + bg[PRELIGHT] = "#5C6070" + bg[ACTIVE] = @selected_bg_color + + fg[NORMAL] = "#d3dae3" + fg[PRELIGHT] = "#d3dae3" + fg[ACTIVE] = @selected_fg_color + + engine "murrine" { + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } + border_shades = { 1.0, 1.0 } + roundness = 2 + textstyle = 0 + } +} + +style "notify-text" { + GtkWidget::link-color = @selected_bg_color + + fg[NORMAL] = "#d3dae3" + fg[PRELIGHT] = "#d3dae3" + fg[ACTIVE] = "#d3dae3" + + engine "murrine" { + textstyle = 0 + } +} + +style "notify-summary" { + font_name = "Bold" +} + +style "notify-progressbar" { + GtkProgressBar::min-horizontal-bar-height = 4 + + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = "#000000" + bg[NORMAL] = @selected_bg_color + bg[ACTIVE] = "#1D1F26" + bg[SELECTED] = @selected_bg_color + + engine "murrine" { + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } + border_shades = { 1.0, 1.0 } + trough_shades = { 1.0, 1.0 } + trough_border_shades = { 1.0, 1.0 } + progressbarstyle = 0 + roundness = 2 + textstyle = 0 + } +} + +class "XfceNotifyWindow" style "notify-window" +widget "XfceNotifyWindow.*.summary" style "notify-summary" +widget_class "XfceNotifyWindow.*" style "notify-button" +widget_class "XfceNotifyWindow.*." style "notify-text" +widget_class "XfceNotifyWindow.*." style "notify-progressbar" +widget_class "XfceNotifyWindow.*." style "notify-progressbar" diff --git a/themes/BL-Lithium/gtk-3.0/gtk-dark.css b/themes/BL-Lithium/gtk-3.0/gtk-dark.css new file mode 100644 index 0000000..008939b --- /dev/null +++ b/themes/BL-Lithium/gtk-3.0/gtk-dark.css @@ -0,0 +1 @@ +@import url("resource:///org/gnome/arc-theme/gtk-main-dark.css"); diff --git a/themes/BL-Lithium/gtk-3.0/gtk.css b/themes/BL-Lithium/gtk-3.0/gtk.css new file mode 100644 index 0000000..41cc653 --- /dev/null +++ b/themes/BL-Lithium/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("resource:///org/gnome/arc-theme/gtk-main.css"); diff --git a/themes/BL-Lithium/gtk-3.0/gtk.gresource b/themes/BL-Lithium/gtk-3.0/gtk.gresource new file mode 100644 index 0000000..f7e88df Binary files /dev/null and b/themes/BL-Lithium/gtk-3.0/gtk.gresource differ diff --git a/themes/BL-Lithium/gtk-3.0/thumbnail.png b/themes/BL-Lithium/gtk-3.0/thumbnail.png new file mode 100644 index 0000000..322bba6 Binary files /dev/null and b/themes/BL-Lithium/gtk-3.0/thumbnail.png differ diff --git a/themes/BL-Lithium/index.theme b/themes/BL-Lithium/index.theme new file mode 100644 index 0000000..1641415 --- /dev/null +++ b/themes/BL-Lithium/index.theme @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=BL-Lithium +Encoding=UTF-8 diff --git a/themes/BL-Lithium/metacity-1/button-bg.svg b/themes/BL-Lithium/metacity-1/button-bg.svg new file mode 100644 index 0000000..31ddd06 --- /dev/null +++ b/themes/BL-Lithium/metacity-1/button-bg.svg @@ -0,0 +1,105 @@ + +image/svg+xml \ No newline at end of file diff --git a/themes/BL-Lithium/metacity-1/button-border.svg b/themes/BL-Lithium/metacity-1/button-border.svg new file mode 100644 index 0000000..d12807f --- /dev/null +++ b/themes/BL-Lithium/metacity-1/button-border.svg @@ -0,0 +1,107 @@ + +image/svg+xml \ No newline at end of file diff --git a/themes/BL-Lithium/metacity-1/close-icon.svg b/themes/BL-Lithium/metacity-1/close-icon.svg new file mode 100644 index 0000000..7a10546 --- /dev/null +++ b/themes/BL-Lithium/metacity-1/close-icon.svg @@ -0,0 +1,104 @@ + +image/svg+xml \ No newline at end of file diff --git a/themes/BL-Lithium/metacity-1/max-icon.svg b/themes/BL-Lithium/metacity-1/max-icon.svg new file mode 100644 index 0000000..6b80028 --- /dev/null +++ b/themes/BL-Lithium/metacity-1/max-icon.svg @@ -0,0 +1,75 @@ + +image/svg+xml \ No newline at end of file diff --git a/themes/BL-Lithium/metacity-1/metacity-theme-1.xml b/themes/BL-Lithium/metacity-1/metacity-theme-1.xml new file mode 100644 index 0000000..eff594b --- /dev/null +++ b/themes/BL-Lithium/metacity-1/metacity-theme-1.xml @@ -0,0 +1,762 @@ + + + + Arc + horst3180 + horst3180 + 2015 + Arc Metacity theme + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</draw_ops> + +<draw_ops name="title_unfocused"> + <title x="(0 `max` ((width - title_width) / 2)) + 2" + y="(0 `max` ((height - title_height) / 2)) + 1" + color="C_title_unfocused"/> +</draw_ops> + + <!-- window decorations --> + +<draw_ops name="entire_background_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="entire_background_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_max"> + +</draw_ops> + +<draw_ops name="titlebar_small_focused"> + +</draw_ops> + +<draw_ops name="titlebar_small_unfocused"> + +</draw_ops> + +<draw_ops name="border_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + +<draw_ops name="border_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + + +<!--close--> +<draw_ops name="close_focused"> + <image filename="button-bg.svg" colorize="C_button_close_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused"> + <image filename="button-bg.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--maximize--> +<draw_ops name="maximize_focused"> + <image filename="max-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused"> + <image filename="max-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--minimize--> +<draw_ops name="minimize_focused"> + <image filename="min-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused"> + <image filename="min-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + + +<!--Todo--> +<draw_ops name="menu_focused"></draw_ops> +<draw_ops name="menu_focused_pressed"></draw_ops> +<draw_ops name="menu_unfocused"></draw_ops> +<draw_ops name="menu_unfocused_prelight"></draw_ops> +<draw_ops name="menu_unfocused_pressed"></draw_ops> +<draw_ops name="shade_focused"></draw_ops> +<draw_ops name="shade_focused_pressed"></draw_ops> +<draw_ops name="shade_unfocused"></draw_ops> +<draw_ops name="shade_unfocused_prelight"></draw_ops> +<draw_ops name="shade_unfocused_pressed"></draw_ops> + +<!-- frame styles --> + +<frame_style name="normal_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_unfocused" geometry="normal_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_unfocused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_focused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button><button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_unfocused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_focused" geometry="small"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_small_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_unfocused" geometry="small_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_small_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_focused" geometry="borderless"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="overlay" draw_ops="border_focused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_unfocused" geometry="borderless"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="overlay" draw_ops="border_unfocused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- placeholder for unimplementated styles--> +<frame_style name="blank" geometry="normal"> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- frame style sets --> + +<frame_style_set name="normal_style_set"> + <frame focus="yes" state="normal" resize="both" style="normal_focused"/> + <frame focus="no" state="normal" resize="both" style="normal_unfocused"/> + <frame focus="yes" state="maximized" style="normal_max_focused"/> + <frame focus="no" state="maximized" style="normal_max_unfocused"/> + <frame focus="yes" state="shaded" style="normal_focused"/> + <frame focus="no" state="shaded" style="normal_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="normal_max_shaded_focused"/> + <frame focus="no" state="maximized_and_shaded" style="normal_max_shaded_unfocused"/> +</frame_style_set> + +<frame_style_set name="dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="dialog_focused"/> + <frame focus="no" state="shaded" style="dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="modal_dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="modal_dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="modal_dialog_focused"/> + <frame focus="no" state="shaded" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="utility_style_set"> + <frame focus="yes" state="normal" resize="both" style="utility_focused"/> + <frame focus="no" state="normal" resize="both" style="utility_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="utility_focused"/> + <frame focus="no" state="shaded" style="utility_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="border_style_set"> + <frame focus="yes" state="normal" resize="both" style="border_focused"/> + <frame focus="no" state="normal" resize="both" style="border_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="blank"/> + <frame focus="no" state="shaded" style="blank"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + + +<!-- windows --> + +<window type="normal" style_set="normal_style_set"/> +<window type="dialog" style_set="dialog_style_set"/> +<window type="modal_dialog" style_set="modal_dialog_style_set"/> +<window type="menu" style_set="utility_style_set"/> +<window type="utility" style_set="utility_style_set"/> +<window type="border" style_set="border_style_set"/> + +</metacity_theme> diff --git a/themes/BL-Lithium/metacity-1/metacity-theme-2.xml b/themes/BL-Lithium/metacity-1/metacity-theme-2.xml new file mode 100644 index 0000000..eff594b --- /dev/null +++ b/themes/BL-Lithium/metacity-1/metacity-theme-2.xml @@ -0,0 +1,762 @@ +<?xml version="1.0"?> +<metacity_theme> +<info> + <name>Arc</name> + <author>horst3180</author> + <copyright>horst3180</copyright> + <date>2015</date> + <description>Arc Metacity theme</description> +</info> + +<!-- meaningfull constants --> + +<constant name="C_title_focused" value="#afb8c6" /> +<constant name="C_title_unfocused" value="#8a939f" /> + +<constant name="C_wm_bg_focused" value="#2b454f" /> +<constant name="C_wm_bg_unfocused" value="#2b454f" /> + +<constant name="C_wm_highlight" value="#353a48" /> + +<!-- window button colors --> + +<!-- close --> +<constant name="C_button_close_bg_focused" value="#ff9a50" /> +<constant name="C_button_close_bg_hover" value="#ffaa60" /> +<constant name="C_button_close_bg_active" value="#ef8a40" /> + +<constant name="C_icon_close_bg" value="#2b454f" /> + +<!-- minimize, maximize --> +<constant name="C_button_bg_hover" value="#d3dae3" /> +<constant name="C_button_bg_active" value="#bc4b4f" /> + +<constant name="C_button_border_hover" value="#2b454f" /> + +<constant name="C_icon_bg_focused" value="#d3dae3" /> +<constant name="C_icon_bg_unfocused" value="#a9b4be" /> +<constant name="C_icon_bg_hover" value="#a9b4be" /> +<constant name="C_icon_bg_active" value="#bc4b4f" /> + +<!-- geometries --> + +<frame_geometry name="normal" title_scale="medium" rounded_top_left="1" rounded_top_right="1"> + <distance name="left_width" value="1" /> + <distance name="right_width" value="1" /> + <distance name="bottom_height" value="3" /> + <distance name="left_titlebar_edge" value="2"/> + <distance name="right_titlebar_edge" value="2"/> + <distance name="title_vertical_pad" value="3"/> + <border name="title_border" left="10" right="10" top="3" bottom="3"/> + <border name="button_border" left="3" right="3" top="0" bottom="0"/> + <aspect_ratio name="button" value="1.0" /> +</frame_geometry> + +<frame_geometry name="normal_unfocused" title_scale="medium" rounded_top_left="1" rounded_top_right="1" parent="normal"> +</frame_geometry> + +<frame_geometry name="max" title_scale="medium" parent="normal" rounded_top_left="false" rounded_top_right="false"> + <distance name="left_width" value="0" /> + <distance name="right_width" value="0" /> + <distance name="bottom_height" value="0" /> + <distance name="left_titlebar_edge" value="0"/> + <distance name="right_titlebar_edge" value="0"/> + <distance name="title_vertical_pad" value="2"/> <!-- + This needs to be 1 less then the + title_vertical_pad on normal state + or you'll have bigger buttons --> + <distance name="bottom_height" value="0" /> +</frame_geometry> + +<frame_geometry name="small" title_scale="small" parent="normal" hide_buttons="true" rounded_top_left="1" rounded_top_right="1"> + <distance name="title_vertical_pad" value="7"/> + <border name="title_border" left="10" right="10" top="0" bottom="1"/> +</frame_geometry> + +<frame_geometry name="small_unfocused" parent="small"> + <distance name="left_titlebar_edge" value="1"/> + <distance name="right_titlebar_edge" value="1"/> +</frame_geometry> + +<frame_geometry name="borderless" has_title="false" rounded_top_left="false" rounded_top_right="false" parent="normal" > + <distance name="left_width" value="0" /> + <distance name="right_width" value="0" /> + <distance name="bottom_height" value="0" /> + <distance name="title_vertical_pad" value="0" /> + <border name="title_border" left="10" right="10" top="0" bottom="0" /> +</frame_geometry> + +<frame_geometry name="modal" title_scale="small" hide_buttons="true" rounded_top_left="1" rounded_top_right="1" parent="small"> + <distance name="title_vertical_pad" value="5"/> +</frame_geometry> + +<!-- drawing operations --> + + <!-- title --> + +<draw_ops name="title_focused"> + <title x="(0 `max` ((width - title_width) / 2)) + 2" + y="(0 `max` ((height - title_height) / 2)) + 1" + color="C_title_focused" /> +</draw_ops> + +<draw_ops name="title_unfocused"> + <title x="(0 `max` ((width - title_width) / 2)) + 2" + y="(0 `max` ((height - title_height) / 2)) + 1" + color="C_title_unfocused"/> +</draw_ops> + + <!-- window decorations --> + +<draw_ops name="entire_background_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="entire_background_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_max"> + +</draw_ops> + +<draw_ops name="titlebar_small_focused"> + +</draw_ops> + +<draw_ops name="titlebar_small_unfocused"> + +</draw_ops> + +<draw_ops name="border_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + +<draw_ops name="border_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + + +<!--close--> +<draw_ops name="close_focused"> + <image filename="button-bg.svg" colorize="C_button_close_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused"> + <image filename="button-bg.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--maximize--> +<draw_ops name="maximize_focused"> + <image filename="max-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused"> + <image filename="max-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--minimize--> +<draw_ops name="minimize_focused"> + <image filename="min-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused"> + <image filename="min-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + + +<!--Todo--> +<draw_ops name="menu_focused"></draw_ops> +<draw_ops name="menu_focused_pressed"></draw_ops> +<draw_ops name="menu_unfocused"></draw_ops> +<draw_ops name="menu_unfocused_prelight"></draw_ops> +<draw_ops name="menu_unfocused_pressed"></draw_ops> +<draw_ops name="shade_focused"></draw_ops> +<draw_ops name="shade_focused_pressed"></draw_ops> +<draw_ops name="shade_unfocused"></draw_ops> +<draw_ops name="shade_unfocused_prelight"></draw_ops> +<draw_ops name="shade_unfocused_pressed"></draw_ops> + +<!-- frame styles --> + +<frame_style name="normal_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_unfocused" geometry="normal_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_unfocused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_focused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button><button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_unfocused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_focused" geometry="small"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_small_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_unfocused" geometry="small_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_small_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_focused" geometry="borderless"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="overlay" draw_ops="border_focused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_unfocused" geometry="borderless"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="overlay" draw_ops="border_unfocused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- placeholder for unimplementated styles--> +<frame_style name="blank" geometry="normal"> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- frame style sets --> + +<frame_style_set name="normal_style_set"> + <frame focus="yes" state="normal" resize="both" style="normal_focused"/> + <frame focus="no" state="normal" resize="both" style="normal_unfocused"/> + <frame focus="yes" state="maximized" style="normal_max_focused"/> + <frame focus="no" state="maximized" style="normal_max_unfocused"/> + <frame focus="yes" state="shaded" style="normal_focused"/> + <frame focus="no" state="shaded" style="normal_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="normal_max_shaded_focused"/> + <frame focus="no" state="maximized_and_shaded" style="normal_max_shaded_unfocused"/> +</frame_style_set> + +<frame_style_set name="dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="dialog_focused"/> + <frame focus="no" state="shaded" style="dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="modal_dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="modal_dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="modal_dialog_focused"/> + <frame focus="no" state="shaded" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="utility_style_set"> + <frame focus="yes" state="normal" resize="both" style="utility_focused"/> + <frame focus="no" state="normal" resize="both" style="utility_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="utility_focused"/> + <frame focus="no" state="shaded" style="utility_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="border_style_set"> + <frame focus="yes" state="normal" resize="both" style="border_focused"/> + <frame focus="no" state="normal" resize="both" style="border_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="blank"/> + <frame focus="no" state="shaded" style="blank"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + + +<!-- windows --> + +<window type="normal" style_set="normal_style_set"/> +<window type="dialog" style_set="dialog_style_set"/> +<window type="modal_dialog" style_set="modal_dialog_style_set"/> +<window type="menu" style_set="utility_style_set"/> +<window type="utility" style_set="utility_style_set"/> +<window type="border" style_set="border_style_set"/> + +</metacity_theme> diff --git a/themes/BL-Lithium/metacity-1/metacity-theme-3.xml b/themes/BL-Lithium/metacity-1/metacity-theme-3.xml new file mode 100644 index 0000000..d9382ca --- /dev/null +++ b/themes/BL-Lithium/metacity-1/metacity-theme-3.xml @@ -0,0 +1,1016 @@ +<?xml version="1.0"?> +<metacity_theme> +<info> + <name>Arc</name> + <author>horst3180</author> + <copyright>horst3180</copyright> + <date>2015</date> + <description>Arc Metacity theme</description> +</info> + +<!-- meaningfull constants --> + +<constant name="C_title_focused" value="gtk:custom(wm_title,#70788d)" /> +<constant name="C_title_unfocused" value="gtk:custom(wm_unfocused_title,#979dac)" /> + +<constant name="C_wm_bg_focused" value="gtk:custom(wm_bg,#2b454f)" /> +<constant name="C_wm_bg_unfocused" value="gtk:custom(wm_bg,#2b454f)" /> + +<constant name="C_wm_highlight" value="gtk:custom(wm_highlight,#eeeff1)" /> + +<!-- window button colors --> + +<!-- close --> +<constant name="C_button_close_bg_focused" value="gtk:custom(wm_button_close_bg,#ff9a50)" /> +<constant name="C_button_close_bg_hover" value="gtk:custom(wm_button_close_hover_bg,#ffaa60)" /> +<constant name="C_button_close_bg_active" value="gtk:custom(wm_button_close_active_bg,#ef8a40)" /> + +<constant name="C_icon_close_bg" value="gtk:custom(wm_icon_close_bg,#d3dae3)" /> + +<!-- minimize, maximize --> +<constant name="C_button_bg_hover" value="gtk:custom(wm_button_hover_bg,#d3dae3)" /> +<constant name="C_button_bg_active" value="gtk:custom(wm_button_active_bg,#bc4b4f)" /> + +<constant name="C_button_border_hover" value="gtk:custom(wm_button_hover_border,#d3dae3)" /> + +<constant name="C_icon_bg_focused" value="gtk:custom(wm_icon_bg,#d3dae3)" /> +<constant name="C_icon_bg_unfocused" value="gtk:custom(wm_icon_unfocused_bg,#a9b4be)" /> +<constant name="C_icon_bg_hover" value="gtk:custom(wm_icon_hover_bg,#a9b4be)" /> +<constant name="C_icon_bg_active" value="gtk:custom(wm_icon_active_bg,#22373f)" /> + +<!-- geometries --> + +<frame_geometry name="normal" title_scale="medium" rounded_top_left="1" rounded_top_right="1"> + <distance name="left_width" value="0" /> + <distance name="right_width" value="0" /> + <distance name="bottom_height" value="0" /> + <distance name="left_titlebar_edge" value="2"/> + <distance name="right_titlebar_edge" value="2"/> + <distance name="title_vertical_pad" value="3"/> + <border name="title_border" left="10" right="10" top="3" bottom="3"/> + <border name="button_border" left="0" right="0" top="0" bottom="0"/> + <distance name="button_width" value="30"/> + <distance name="button_height" value="16"/> +</frame_geometry> + +<frame_geometry name="normal_unfocused" title_scale="medium" rounded_top_left="1" rounded_top_right="1" parent="normal"> +</frame_geometry> + +<frame_geometry name="max" title_scale="medium" parent="normal" rounded_top_left="false" rounded_top_right="false"> + <distance name="left_width" value="0" /> + <distance name="right_width" value="0" /> + <distance name="left_titlebar_edge" value="0"/> + <distance name="right_titlebar_edge" value="0"/> + <distance name="title_vertical_pad" value="2"/> <!-- + This needs to be 1 less then the + title_vertical_pad on normal state + or you'll have bigger buttons --> + <distance name="bottom_height" value="0" /> +</frame_geometry> + +<frame_geometry name="tiled_left" title_scale="medium" rounded_top_left="false" rounded_top_right="1" parent="normal"> + <distance name="right_width" value="0" /> +</frame_geometry> + +<frame_geometry name="tiled_right" title_scale="medium" rounded_top_left="1" rounded_top_right="false" parent="normal"> + <distance name="left_width" value="0" /> +</frame_geometry> + +<frame_geometry name="small" title_scale="small" parent="normal" rounded_top_left="1" rounded_top_right="1"> + <distance name="title_vertical_pad" value="7"/> + <distance name="left_titlebar_edge" value="1"/> + <distance name="right_titlebar_edge" value="1"/> + <border name="title_border" left="10" right="10" top="0" bottom="1"/> +</frame_geometry> + +<frame_geometry name="small_unfocused" parent="small"> +</frame_geometry> + +<frame_geometry name="border" has_title="false" rounded_top_left="false" rounded_top_right="false" parent="normal" > + <distance name="left_width" value="1" /> + <distance name="right_width" value="1" /> + <distance name="bottom_height" value="1" /> + <border name="title_border" left="10" right="10" top="0" bottom="0" /> + <distance name="title_vertical_pad" value="1" /> + <distance name="button_height" value="0"/> +</frame_geometry> + +<frame_geometry name="borderless" has_title="false" rounded_top_left="false" rounded_top_right="false" parent="normal" > + <distance name="left_width" value="0" /> + <distance name="right_width" value="0" /> + <distance name="bottom_height" value="0" /> + <distance name="title_vertical_pad" value="0" /> + <border name="title_border" left="10" right="10" top="0" bottom="0" /> + <distance name="button_height" value="0"/> +</frame_geometry> + +<frame_geometry name="modal" title_scale="small" hide_buttons="true" rounded_top_left="1" rounded_top_right="1" parent="small"> + <distance name="title_vertical_pad" value="5"/> +</frame_geometry> + +<!--chromium save dialog--> +<frame_geometry name="attached" title_scale="small" has_title="false" hide_buttons="true" rounded_top_left="1" rounded_top_right="1" rounded_bottom_left="0" rounded_bottom_right="0" parent="normal"> + <distance name="title_vertical_pad" value="0"/> + <distance name="bottom_height" value="1"/> + <distance name="left_width" value="1"/> + <distance name="right_width" value="1"/> +</frame_geometry> + +<!-- drawing operations --> + + <!-- title --> + +<draw_ops name="title_focused"> + + <title version="< 3.1" + x="(0 `max` ((width - title_width) / 2))" + y="(0 `max` ((height - title_height) / 2)) + 1" + color="C_title_focused" /> + <title version=">= 3.1" + x="(0 `max` ((frame_x_center - title_width / 2) `min` (width - title_width)))" + y="(0 `max` ((height - title_height) / 2)) + 1" + ellipsize_width="width" + color="C_title_focused" /> +</draw_ops> + +<draw_ops name="title_unfocused"> + <title version="< 3.1" + x="(0 `max` ((width - title_width) / 2))" + y="(0 `max` ((height - title_height) / 2)) + 1" + color="C_title_unfocused" /> + <title version=">= 3.1" + x="(0 `max` ((frame_x_center - title_width / 2) `min` (width - title_width)))" + y="(0 `max` ((height - title_height) / 2)) + 1" + ellipsize_width="width" + color="C_title_unfocused" /> +</draw_ops> + + <!-- window decorations --> + +<draw_ops name="entire_background_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="entire_background_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="true" /> + <rectangle color="C_wm_highlight" x="0" y="0" width="width" height="1" filled="true" /> +</draw_ops> + +<draw_ops name="titlebar_max"> + +</draw_ops> + +<draw_ops name="titlebar_small_focused"> + +</draw_ops> + +<draw_ops name="titlebar_small_unfocused"> + +</draw_ops> + +<draw_ops name="border_focused"> + <rectangle color="C_wm_bg_focused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + +<draw_ops name="border_unfocused"> + <rectangle color="C_wm_bg_unfocused" x="0" y="0" width="width" height="height" filled="false" /> +</draw_ops> + + +<!--close--> +<draw_ops name="close_focused"> + <image filename="button-bg.svg" colorize="C_button_close_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused"> + <image filename="button-bg.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_close_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="close_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_close_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="close-icon.svg" colorize="C_icon_close_bg" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--maximize--> +<draw_ops name="maximize_focused"> + <image filename="max-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused"> + <image filename="max-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="maximize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="max-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<!--minimize--> +<draw_ops name="minimize_focused"> + <image filename="min-icon.svg" colorize="C_icon_bg_focused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_focused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused"> + <image filename="min-icon.svg" colorize="C_icon_bg_unfocused" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_prelight"> + <image filename="button-bg.svg" colorize="C_button_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="button-border.svg" colorize="C_button_border_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_hover" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + +<draw_ops name="minimize_unfocused_pressed"> + <image filename="button-bg.svg" colorize="C_button_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> + <image filename="min-icon.svg" colorize="C_icon_bg_active" x="(width-object_width)/2" y="(height-object_height)/2" width="object_width" height="object_height"/> +</draw_ops> + + +<!--Todo--> +<draw_ops name="menu_focused"></draw_ops> +<draw_ops name="menu_focused_pressed"></draw_ops> +<draw_ops name="menu_unfocused"></draw_ops> +<draw_ops name="menu_unfocused_prelight"></draw_ops> +<draw_ops name="menu_unfocused_pressed"></draw_ops> +<draw_ops name="shade_focused"></draw_ops> +<draw_ops name="shade_focused_pressed"></draw_ops> +<draw_ops name="shade_unfocused"></draw_ops> +<draw_ops name="shade_unfocused_prelight"></draw_ops> +<draw_ops name="shade_unfocused_pressed"></draw_ops> + +<!-- frame styles --> + +<frame_style name="normal_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_unfocused" geometry="normal_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_focused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="normal_max_shaded_unfocused" geometry="max"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_max" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_focused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="dialog_unfocused" geometry="normal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_focused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button><button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="modal_dialog_unfocused" geometry="modal"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_focused" geometry="small"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_small_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="utility_unfocused" geometry="small_unfocused"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_small_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_focused" geometry="border"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="overlay" draw_ops="border_focused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="border_unfocused" geometry="border"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="overlay" draw_ops="border_unfocused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="borderless" geometry="borderless"> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="attached_focused" geometry="attached"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="attached_unfocused" geometry="attached"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="tiled_left_focused" geometry="tiled_left"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="tiled_left_unfocused" geometry="tiled_left"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="tiled_right_focused" geometry="tiled_right"> + <piece position="entire_background" draw_ops="entire_background_focused" /> + <piece position="titlebar" draw_ops="titlebar_focused" /> + <piece position="title" draw_ops="title_focused" /> + <button function="close" state="normal" draw_ops="close_focused" /> + <button function="close" state="pressed" draw_ops="close_focused_pressed" /> + <button function="close" state="prelight" draw_ops="close_focused_prelight" /> + <button function="maximize" state="normal" draw_ops="maximize_focused" /> + <button function="maximize" state="pressed" draw_ops="maximize_focused_pressed" /> + <button function="maximize" state="prelight" draw_ops="maximize_focused_prelight" /> + <button function="minimize" state="normal" draw_ops="minimize_focused" /> + <button function="minimize" state="pressed" draw_ops="minimize_focused_pressed" /> + <button function="minimize" state="prelight" draw_ops="minimize_focused_prelight" /> + <button function="menu" state="normal" draw_ops="menu_focused" /> + <button function="menu" state="pressed" draw_ops="menu_focused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_focused" /> + <button function="shade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_focused" /> + <button function="unshade" state="pressed" draw_ops="shade_focused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<frame_style name="tiled_right_unfocused" geometry="tiled_right"> + <piece position="entire_background" draw_ops="entire_background_unfocused" /> + <piece position="titlebar" draw_ops="titlebar_unfocused" /> + <piece position="title" draw_ops="title_unfocused" /> + <button function="close" state="normal" draw_ops="close_unfocused"/> + <button function="close" state="prelight" draw_ops="close_unfocused_prelight"/> + <button function="close" state="pressed" draw_ops="close_unfocused_pressed"/> + <button function="maximize" state="normal" draw_ops="maximize_unfocused"/> + <button function="maximize" state="prelight" draw_ops="maximize_unfocused_prelight"/> + <button function="maximize" state="pressed" draw_ops="maximize_unfocused_pressed"/> + <button function="minimize" state="normal" draw_ops="minimize_unfocused"/> + <button function="minimize" state="prelight" draw_ops="minimize_unfocused_prelight"/> + <button function="minimize" state="pressed" draw_ops="minimize_unfocused_pressed"/> + <button function="menu" state="normal" draw_ops="menu_unfocused" /> + <button function="menu" state="prelight" draw_ops="menu_unfocused_prelight" /> + <button function="menu" state="pressed" draw_ops="menu_unfocused_pressed" /> + <button function="shade" state="normal" draw_ops="shade_unfocused" /> + <button function="shade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="shade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="unshade" state="normal" draw_ops="shade_unfocused" /> + <button function="unshade" state="prelight" draw_ops="shade_unfocused_prelight" /> + <button function="unshade" state="pressed" draw_ops="shade_unfocused_pressed" /> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- placeholder for unimplementated styles--> +<frame_style name="blank" geometry="normal"> + <button function="close" state="normal"><draw_ops></draw_ops></button> + <button function="close" state="pressed"><draw_ops></draw_ops></button> + <button function="maximize" state="normal"><draw_ops></draw_ops></button> + <button function="maximize" state="pressed"><draw_ops></draw_ops></button> + <button function="minimize" state="normal"><draw_ops></draw_ops></button> + <button function="minimize" state="pressed"><draw_ops></draw_ops></button> + <button function="menu" state="normal"><draw_ops></draw_ops></button> + <button function="menu" state="pressed"><draw_ops></draw_ops></button> + <button function="shade" state="normal"><draw_ops></draw_ops></button> + <button function="shade" state="pressed"><draw_ops></draw_ops></button> + <button function="unshade" state="normal"><draw_ops></draw_ops></button> + <button function="unshade" state="pressed"><draw_ops></draw_ops></button> + <button function="above" state="normal"><draw_ops></draw_ops></button> + <button function="above" state="pressed"><draw_ops></draw_ops></button> + <button function="unabove" state="normal"><draw_ops></draw_ops></button> + <button function="unabove" state="pressed"><draw_ops></draw_ops></button> + <button function="stick" state="normal"><draw_ops></draw_ops></button> + <button function="stick" state="pressed"><draw_ops></draw_ops></button> + <button function="unstick" state="normal"><draw_ops></draw_ops></button> + <button function="unstick" state="pressed"><draw_ops></draw_ops></button> +</frame_style> + +<!-- frame style sets --> + +<frame_style_set name="normal_style_set"> + <frame focus="yes" state="normal" resize="both" style="normal_focused"/> + <frame focus="no" state="normal" resize="both" style="normal_unfocused"/> + <frame focus="yes" state="maximized" style="normal_max_focused"/> + <frame focus="no" state="maximized" style="normal_max_unfocused"/> + <frame focus="yes" state="shaded" style="normal_focused"/> + <frame focus="no" state="shaded" style="normal_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="normal_max_shaded_focused"/> + <frame focus="no" state="maximized_and_shaded" style="normal_max_shaded_unfocused"/> + <frame version=">= 3.3" focus="yes" state="tiled_left" style="tiled_left_focused"/> + <frame version=">= 3.3" focus="no" state="tiled_left" style="tiled_left_unfocused"/> + <frame version=">= 3.3" focus="yes" state="tiled_right" style="tiled_right_focused"/> + <frame version=">= 3.3" focus="no" state="tiled_right" style="tiled_right_unfocused"/> + <frame version=">= 3.3" focus="yes" state="tiled_left_and_shaded" style="tiled_left_focused"/> + <frame version=">= 3.3" focus="no" state="tiled_left_and_shaded" style="tiled_left_unfocused"/> + <frame version=">= 3.3" focus="yes" state="tiled_right_and_shaded" style="tiled_right_focused"/> + <frame version=">= 3.3" focus="no" state="tiled_right_and_shaded" style="tiled_right_unfocused"/> +</frame_style_set> + +<frame_style_set name="dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="dialog_focused"/> + <frame focus="no" state="shaded" style="dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="modal_dialog_style_set"> + <frame focus="yes" state="normal" resize="both" style="modal_dialog_focused"/> + <frame focus="no" state="normal" resize="both" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="modal_dialog_focused"/> + <frame focus="no" state="shaded" style="modal_dialog_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="utility_style_set"> + <frame focus="yes" state="normal" resize="both" style="utility_focused"/> + <frame focus="no" state="normal" resize="both" style="utility_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="utility_focused"/> + <frame focus="no" state="shaded" style="utility_unfocused"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="border_style_set"> + <frame focus="yes" state="normal" resize="both" style="border_focused"/> + <frame focus="no" state="normal" resize="both" style="border_unfocused"/> + <frame focus="yes" state="maximized" style="borderless"/> + <frame focus="no" state="maximized" style="borderless"/> + <frame focus="yes" state="shaded" style="blank"/> + <frame focus="no" state="shaded" style="blank"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + +<frame_style_set name="attached_style_set"> + <frame focus="yes" state="normal" resize="both" style="attached_focused"/> + <frame focus="no" state="normal" resize="both" style="attached_unfocused"/> + <frame focus="yes" state="maximized" style="blank"/> + <frame focus="no" state="maximized" style="blank"/> + <frame focus="yes" state="shaded" style="blank"/> + <frame focus="no" state="shaded" style="blank"/> + <frame focus="yes" state="maximized_and_shaded" style="blank"/> + <frame focus="no" state="maximized_and_shaded" style="blank"/> +</frame_style_set> + + +<!-- windows --> + +<window type="normal" style_set="normal_style_set"/> +<window type="dialog" style_set="dialog_style_set"/> +<window type="modal_dialog" style_set="modal_dialog_style_set"/> +<window type="menu" style_set="utility_style_set"/> +<window type="utility" style_set="utility_style_set"/> +<window type="border" style_set="border_style_set"/> +<window version=">= 3.2" type="attached" style_set="attached_style_set"/> + +</metacity_theme> diff --git a/themes/BL-Lithium/metacity-1/min-icon.svg b/themes/BL-Lithium/metacity-1/min-icon.svg new file mode 100644 index 0000000..92920b5 --- /dev/null +++ b/themes/BL-Lithium/metacity-1/min-icon.svg @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + enable-background="new 0 0 32 32" + height="16" + id="Layer_1" + version="1.1" + viewBox="0 0 16 16" + width="16" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="min-icon.svg"><metadata + id="metadata26"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs24" /><sodipodi:namedview + pagecolor="#e2e2e2" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="718" + id="namedview22" + showgrid="true" + inkscape:zoom="22.627417" + inkscape:cx="6.164106" + inkscape:cy="8.4082271" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_1" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true"><inkscape:grid + type="xygrid" + id="grid3003" + empspacing="5" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" /></sodipodi:namedview><g + style="display:inline" + id="titlebutton-min" + inkscape:label="#g6247" + transform="translate(-587,185.63782)"><g + id="g7138" + style="display:inline;opacity:1" + transform="translate(-781,-432.63782)"><g + transform="translate(-58,0)" + style="display:inline;opacity:1" + id="g4490-3-75"><g + id="g4092-0-7-0" + style="display:inline" + transform="translate(58,0)" /></g><path + inkscape:connector-curvature="0" + d="m 1373,254 0,2 6,0 0,-2 z" + id="rect9057-4-3" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" + sodipodi:nodetypes="ccccc" /></g><rect + y="-185.63782" + x="587" + height="16" + width="16" + id="rect17883-32" + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0" /></g></svg> \ No newline at end of file diff --git a/themes/BL-Lithium/metacity-1/thumbnail.png b/themes/BL-Lithium/metacity-1/thumbnail.png new file mode 100644 index 0000000..02c3590 Binary files /dev/null and b/themes/BL-Lithium/metacity-1/thumbnail.png differ diff --git a/themes/BL-Lithium/openbox-3/.directory b/themes/BL-Lithium/openbox-3/.directory new file mode 100644 index 0000000..0cd493e --- /dev/null +++ b/themes/BL-Lithium/openbox-3/.directory @@ -0,0 +1,3 @@ +[Dolphin] +Timestamp=2019,5,5,16,58,35 +Version=4 diff --git a/themes/BL-Lithium/openbox-3/bullet.xbm b/themes/BL-Lithium/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/BL-Lithium/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/close.xbm b/themes/BL-Lithium/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/BL-Lithium/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/desk.xbm b/themes/BL-Lithium/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/BL-Lithium/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/BL-Lithium/openbox-3/desk_toggled.xbm b/themes/BL-Lithium/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/BL-Lithium/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/iconify.xbm b/themes/BL-Lithium/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/BL-Lithium/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/max.xbm b/themes/BL-Lithium/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/BL-Lithium/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/max_toggled.xbm b/themes/BL-Lithium/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/BL-Lithium/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/BL-Lithium/openbox-3/shade.xbm b/themes/BL-Lithium/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/BL-Lithium/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/shade_toggled.xbm b/themes/BL-Lithium/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/BL-Lithium/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/BL-Lithium/openbox-3/themerc b/themes/BL-Lithium/openbox-3/themerc new file mode 100644 index 0000000..516d3ae --- /dev/null +++ b/themes/BL-Lithium/openbox-3/themerc @@ -0,0 +1,91 @@ +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #22373f +menu.title.bg.colorTo: #22373f +menu.title.text.color: #d3dae3 +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #22373f +menu.items.text.color: #d3dae3 +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #bc4b4f +menu.items.active.bg.colorTo:#bc4b4f +menu.items.active.text.color: #ffffff +menu.bullet.selected.image.color: #ffffff + +menu.separator.color: #535353 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #22373f +window.active.title.bg.colorTo: #22373f +window.active.title.separator.color: #22373f + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #22373f +window.active.handle.bg.colorTo: #22373f + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #d3dae3 + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #d3dae3 +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #000000 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #22373f +window.inactive.title.bg.colorTo: #22373f +window.inactive.title.separator.color: #22373f + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #22373f +window.inactive.handle.bg.colorTo: #22373f + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #999999 + +window.inactive.button.*.image.color: #999999 +window.inactive.button.*.hover.image.color: #FFFFFF +window.inactive.button.*.pressed.image.color: #ffffff +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 4 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings +border.color: #152126 + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #22373f +osd.bg.colorTo: #22373f +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #346077 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #3D3C40 +osd.label.text.color: #d3dae3 + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/BL-Lithium/xfce-notify-4.0/gtk.css b/themes/BL-Lithium/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..aa8fb05 --- /dev/null +++ b/themes/BL-Lithium/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #22373f; + border-radius: 1px; + border: 1px solid #bc4b4f; + padding: 20px; +} + +#XfceNotifyWindow:hover { + background-color: shade(#152126, 1.0); + border: 1px solid #ffffff; +} + +#XfceNotifyWindow label, +#XfceNotifyWindow image { + color: #d3dae3; +} + +#XfceNotifyWindow label#summary { + font-weight: Bold; +} + +#XfceNotifyWindow button { + font-weight: Bold; + border: 1px solid shade(#22373f, .80); + box-shadow: none; + background-image: none; + background-color: shade(#22373f, 1.2); + color: #d3dae3; +} + +#XfceNotifyWindow button:hover { + box-shadow: none; + background-image: none; + background-color: shade(#273B43, 1.0); + color: #ffffff; +} + +#XfceNotifyWindow progressbar { + border: 0px solid shade(#ff0000, 1.0); + border-radius: 0px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #bc4b4f; + border: 0px solid shade(#bc4b4f, 1.0); + border-radius: 0px; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#808080, 1.0), + shade(#808080, 1.0) + ); + border: 0px solid shade(#ffff00, 1.0); + border-radius: 0px; +} diff --git a/themes/Beam-HiDPI/LICENSE.CC b/themes/Beam-HiDPI/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/Beam-HiDPI/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/Beam-HiDPI/LICENSE.GPL b/themes/Beam-HiDPI/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/Beam-HiDPI/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/Beam-HiDPI/README.md b/themes/Beam-HiDPI/README.md new file mode 100644 index 0000000..47911b9 --- /dev/null +++ b/themes/Beam-HiDPI/README.md @@ -0,0 +1,22 @@ +SoftWaves + +by hhh (hsumen@bunsenlabs.org) + +including HiDPI tweaks by vinzv (vinz@vinzv.de) and backported developments +from upstream Greybird https://github.com/shimmerproject/Greybird/commit/93ce4be9c2a9477daab376c8f76afcc6513d9467 + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. Colors +derived from softWaves, the default wallpaper theme of stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://wiki.debian.org/DebianArt/Themes/softWaves +https://packages.debian.org/stretch/desktop-base (Debian release of softwaves) +https://www.bunsenlabs.org/ diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/chromium.rc b/themes/Beam-HiDPI/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/claws-mail.rc b/themes/Beam-HiDPI/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*<GtkNotebook>.<GtkScrolledWindow>.<GtkViewport>*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.<GtkCMCTree>.<GtkButton>" style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.<GtkCMCList>.<GtkButton>" style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/gmusicbrowser.rc b/themes/Beam-HiDPI/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/terminal.rc b/themes/Beam-HiDPI/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/thunar.rc b/themes/Beam-HiDPI/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.<GtkTreeView>.<GtkButton>" style "treeview-header" \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/thunar/sidebar_active.png b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/Beam-HiDPI/gtk-2.0/apps/xfce-panel.rc b/themes/Beam-HiDPI/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel*<GtkMenuBar>*" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/Beam-HiDPI/gtk-2.0/gtkrc b/themes/Beam-HiDPI/gtk-2.0/gtkrc new file mode 100644 index 0000000..2b2193e --- /dev/null +++ b/themes/Beam-HiDPI/gtk-2.0/gtkrc @@ -0,0 +1,807 @@ +# Author: hhh <hsumen@bunsenlabs.org> +# HiDPI tweaks: vinzv <vinz@vinzv.de> +# Theme: SoftWaves +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#C8CFCB\nselected_bg_color:#74998B\nbase_color:#CFD6D2" # Background, base. +gtk-color-scheme = "fg_color:#13071B\nselected_fg_color:#000000\ntext_color:#13071B" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#C8CFCB\ntooltip_fg_color:#13071B" # Tooltips. +gtk-color-scheme = "link_color:#2d71b8" # Hyperlinks +gtk-color-scheme = "panel_bg:#C8CFCB" # same as bg_color +gtk-color-scheme = "fm_color:#13071B" # same as fg_color +gtk-color-scheme = "bg_color_dark:#C8CFCB\ntext_color_dark:#13071B" + +gtk-icon-sizes = "panel-applications-menu=48,48:panel-menu=48,48:panel=32,32:panel-button=32,32:gtk-menu=32,32:gtk-large-toolbar=48,48:gtk-small-toolbar=32,32:gtk-button=32,32:gtk-dialog=64,64" # Doubled size +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items +gtk-cursor-theme-size = 48 # Resized for HiDPI + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 30 # Doubled size for Firefox + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 30 # Doubled size + GtkScale ::slider-width = 12 # Doubled size + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 100 # Doubled size + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + GtkComboBox ::arrow-size = 20 # Added for resizing + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 2 # Doubled size + ythickness = 2 # Doubled size + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (0.88, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = shade (0.95, @bg_color) + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + # default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = shade (0.3,@selected_bg_color) + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + # bg[NORMAL] = shade (1.02, @bg_color) + # bg[PRELIGHT] = shade (1.09, @bg_color) + # bg[ACTIVE] = shade (0.85, @bg_color) + # bg[SELECTED] = shade (0.5, @selected_bg_color) + # bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = shade (1.1, @bg_color) + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = shade (1.1, @bg_color) + bg[INSENSITIVE] = shade (1.1, @bg_color) + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = shade (1.1, @bg_color) # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "*<GtkNotebook>*<GtkEventBox>" style "notebook" +#widget_class "*<GtkNotebook>*<GtkScrolledWindow>" style "notebook" +#widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "notebook" +#widget_class "*<GtkNotebook>*<GtkLayout>" style "notebook" +#widget_class "*<GtkNotebook>*<GtkLabel>" style "notebook-button" +widget_class "*<GtkNotebook>*<GtkEventBox>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkLayout>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkViewport>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkScrolledWindow>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkToolbar>" style "notebook-bg" +widget_class "*<GtkNotebook>*<GtkLabel>" style "notebook-bg" + +widget_class "*<GtkButton>" style "button" +widget_class "*<GtkNotebook>" style "notebook" +widget_class "*<GtkStatusbar>*" style "statusbar" + +widget_class "*<GtkNotebook>*<GtkButton>" style "notebook-button" +widget_class "*<GtkNotebook>*<GtkButton>*<GtkLabel>" style "notebook-button" + +widget_class "*<GtkComboBoxEntry>*" style "comboboxentry" +widget_class "*<GtkCombo>*" style "combo" +widget_class "*<GtkViewport>*" style "wider" +widget_class "*<GtkEntry>*" style "wider" + +widget_class "*<GtkMenuBar>.<GtkMenuItem>*" style "menubar-menuitem" +widget_class "*<GtkMenu>*" style "menu" +widget_class "*<GtkMenuBar>*" style "menubar" +widget_class "*<GtkSeparatorMenuItem>*" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*<GtkMenuItem>.*.<GtkScale>" style "scale" + +widget_class "*.<GtkFrame>.<GtkLabel>" style "frame-title" +widget_class "*.<GtkTreeView>*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*<GtkProgress>" style "progressbar" +widget_class "*<GtkProgressBar>" style "progressbar" + +widget_class "*<GtkRadioButton>*" style "radiocheck" +widget_class "*<GtkCheckButton>*" style "radiocheck" + +# Treeview header +widget_class "*.<GtkTreeView>.<GtkButton>" style "treeview-header" +widget_class "*.<GtkCTree>.<GtkButton>" style "treeview-header" +widget_class "*.<GtkList>.<GtkButton>" style "treeview-header" +widget_class "*.<GtkCList>.<GtkButton>" style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*<OsScrollbar>" style "overlay-scrollbar" +widget_class "*<OsThumb>" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.<GtkComboBox>.<GtkCellView>" style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "*<GtkListItem>*" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*<GtkCList>" style "fg-is-text-color-workaround" +widget_class "*<EelEditableLabel>" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +#include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/Beam-HiDPI/gtk-2.0/resize_grip.png b/themes/Beam-HiDPI/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/resize_grip.png differ diff --git a/themes/Beam-HiDPI/gtk-2.0/xfsmlogout.png b/themes/Beam-HiDPI/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-2.0/xfsmlogout.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/Gemfile b/themes/Beam-HiDPI/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/Beam-HiDPI/gtk-3.0/Gemfile.lock b/themes/Beam-HiDPI/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/Beam-HiDPI/gtk-3.0/README b/themes/Beam-HiDPI/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/Beam-HiDPI/gtk-3.0/_colors-public.scss b/themes/Beam-HiDPI/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/Beam-HiDPI/gtk-3.0/_colors.scss b/themes/Beam-HiDPI/gtk-3.0/_colors.scss new file mode 100644 index 0000000..22eba45 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #CFD6D2, #292929); +$text_color: if($variant == 'light', #13071B, white); +$bg_color: if($variant == 'light', #C8CFCB, #393f3f); +$fg_color: if($variant == 'light', #13071B, #eeeeec); + +$selected_fg_color: #000000; +$selected_bg_color: if($variant == 'light', #74998B, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/Beam-HiDPI/gtk-3.0/_common.scss b/themes/Beam-HiDPI/gtk-3.0/_common.scss new file mode 100644 index 0000000..44c6358 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_common.scss @@ -0,0 +1,4384 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + background-color: transparentize($e_color, 0.9); + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive, $b_color, white); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + @include headerbar_fill; + + box-shadow: none; + border-bottom:1px solid $borders_color; + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 5px; + min-height: 38px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + color: $selected_fg_color; + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + background-image: none; + background: $bg_color; + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 3px; + margin-bottom: 3px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + &.frame { + > header { + &.top > tabs { + margin-bottom: -2px; + } + + &.bottom > tabs { + margin-top: -2px; + } + + &.left > tabs { + margin-right: -2px; + } + + &.right > tabs { + margin-left: -2px; + } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 10%), + lighten($bg_color, 30%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 7px; + min-height: 7px; + margin: 3px; + border: 1px solid darken($bg_color, 30%); + border-radius: 10px; + background-clip: padding-box; + background-image: linear-gradient(to right, + lighten($scrollbar_slider_color, 5%), + lighten($scrollbar_slider_color, 1%)); + + &:hover { + background-image: linear-gradient(to right, + darken($scrollbar_slider_color, 5%), + darken($scrollbar_slider_color, 1%)); + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 10px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 20px; + min-width: 20px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: transparentize($selected_borders_color, 0.3); + background-color: transparentize($selected_bg_color, 0.3); + background-image: none; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 10px; + min-width: 20px; + min-height: 20px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: transparentize($selected_borders_color, 0.3); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $c:lighten($bg_color, 5%), $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: transparentize($selected_borders_color, 0.3); + background-color: transparentize($selected_bg_color, 0.3); + background-image: none; + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + @each $marks_class, $marks_pos, $marks_margin in (top, top, bottom), + (bottom, bottom, top), + (top, left, right), + (bottom, right, left) { + &.#{$marks_class} { + margin-#{$marks_margin}: $_marks_distance; + margin-#{$marks_pos}: -($_marks_distance + $_marks_length); + } + } + } + &.fine-tune marks { + @each $marks_class, $marks_pos, $marks_margin in (top, top, bottom), + (bottom, bottom, top), + (top, left, right), + (bottom, right, left) { + &.#{$marks_class} { + margin-#{$marks_margin}: $_marks_distance; + margin-#{$marks_pos}: -($_marks_distance + $_marks_length - 3px); + } + } + } + + &.horizontal { + indicator { + min-height: $_marks_length; + min-width: 1px; + } + + &.fine-tune indicator { min-height: ($_marks_length - 3px); } + } + + &.vertical { + indicator { + min-height: 1px; + min-width: $_marks_length; + } + + &.fine-tune indicator { min-width: ($_marks_length - 3px); } + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; padding: 1px 0; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; padding: 0 1px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border: 1px solid shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } + + trough.empty progress { all: unset; } // makes the progress indicator disappear, when the fraction is 0 +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { + @extend %osd_button; + background: transparentize(black, 0.9); + &:hover { background: transparentize(black, 0.7); } + } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + padding: 2px; + + &:selected { + @extend %selected_items; + + border-radius: 6px; + } + + &.header { + border: none; + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + // out-of-range days + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.25); } + + // .day-name and .week-number + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: darken($selected_bg_color,0.75); + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + buttonbox { padding: 0px; } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row, + treeview { + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + &:selected, &:selected:focus { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + border-top: 1px solid shade($bg_color, 0.85); + border-bottom: 1px solid shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + &:backdrop { + background-image: none; + background-color: $bg_color; + color: $fg_color; + border-top: 1px solid shade($bg_color, 0.9); + border-bottom: 1px solid shade($bg_color, 0.9); + } + } + .view:selected, .view:selected:focus { color: $fg_color; } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + border-top-style: none; + border-bottom-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + border-top-style: none; + border-bottom-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; } } +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: transparentize(black, 0.2); + background-clip: padding-box; + border: 1px solid $tooltip_borders_color; // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 5px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: 0 1px black; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: white; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window buttons +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + &.close, &.maximize, &.minimize { + color: transparent; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + + // fade the png buttons out on unfocused windows + &:backdrop { opacity: 0.5; } + } + // Load png assets for each button + @each $k in ('close','maximize', 'minimize') { + @each $l, $m in ('',''), (':backdrop','-backdrop'), (':hover','-hover'), (':active','-active') { + &.#{$k}#{$l} { background-image: -gtk-scaled(url('assets/titlebutton-#{$k}#{$m}#{$asset_suffix}.png'), + url('assets/titlebutton-#{$k}#{$m}#{$asset_suffix}@2.png')); } + } + } + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/_drawing.scss b/themes/Beam-HiDPI/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/_gnome-apps.scss b/themes/Beam-HiDPI/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/Beam-HiDPI/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/Beam-HiDPI/gtk-3.0/_unity.scss b/themes/Beam-HiDPI/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/_xfce.scss b/themes/Beam-HiDPI/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/Beam-HiDPI/gtk-3.0/apps/granite-widgets.css b/themes/Beam-HiDPI/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/Beam-HiDPI/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.svg b/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="bullet-symbolic.svg" + inkscape:export-filename="/home/sam/dev/RESOURCES/gnome-icon-theme-symbolic/src/gnome-stencils.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + height="14" + id="svg7384" + version="1.1" + inkscape:version="0.91 r13725" + width="14"> + <metadata + id="metadata90"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Gnome Symbolic Icon Theme</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + inkscape:bbox-nodes="true" + inkscape:bbox-paths="true" + bordercolor="#666666" + borderopacity="1" + inkscape:current-layer="layer9" + inkscape:cx="9.6493349" + inkscape:cy="5.5864571" + gridtolerance="10" + inkscape:guide-bbox="true" + guidetolerance="10" + id="namedview88" + inkscape:object-nodes="true" + inkscape:object-paths="false" + objecttolerance="10" + pagecolor="#3a3b39" + inkscape:pageopacity="1" + inkscape:pageshadow="2" + showborder="true" + showgrid="false" + showguides="true" + inkscape:snap-bbox="true" + inkscape:snap-bbox-midpoints="false" + inkscape:snap-global="true" + inkscape:snap-grids="true" + inkscape:snap-nodes="false" + inkscape:snap-others="false" + inkscape:snap-to-guides="true" + inkscape:window-height="1016" + inkscape:window-maximized="1" + inkscape:window-width="1920" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:zoom="22.005438" + inkscape:showpageshadow="false"> + <inkscape:grid + dotted="false" + empspacing="2" + enabled="true" + id="grid4866" + originx="-139.99995" + originy="120" + snapvisiblegridlinesonly="true" + spacingx="1px" + spacingy="1px" + type="xygrid" + visible="true" /> + </sodipodi:namedview> + <title + id="title9167">Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.svg b/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..bac5cd6 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,154 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..eed1f45 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-selectionmode.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.svg b/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-checked.png b/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator-vertical.png b/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator.png b/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected.png b/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/resize-grip.png b/themes/Beam-HiDPI/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark.png new file mode 100644 index 0000000..6add62f Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.png new file mode 100644 index 0000000..d4cb6dd Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.svg b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.svg new file mode 100644 index 0000000..9ac1759 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active-dark@2.svg @@ -0,0 +1,130 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.png new file mode 100644 index 0000000..632113f Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.svg b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.svg new file mode 100644 index 0000000..bf439ce --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-active@2.svg @@ -0,0 +1,145 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark.png new file mode 120000 index 0000000..2ecf5c5 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark.png @@ -0,0 +1 @@ +titlebutton-close-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png new file mode 120000 index 0000000..192233b --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png @@ -0,0 +1 @@ +titlebutton-close-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop.png new file mode 120000 index 0000000..097102e --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop.png @@ -0,0 +1 @@ +titlebutton-close.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop@2.png new file mode 120000 index 0000000..d3b43d1 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-backdrop@2.png @@ -0,0 +1 @@ +titlebutton-close@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark.png new file mode 100644 index 0000000..eb3b181 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.png new file mode 100644 index 0000000..8482385 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.svg b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.svg new file mode 100644 index 0000000..f1e5978 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-dark@2.svg @@ -0,0 +1,123 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark.png new file mode 120000 index 0000000..2ecf5c5 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark.png @@ -0,0 +1 @@ +titlebutton-close-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark@2.png new file mode 120000 index 0000000..192233b --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover-dark@2.png @@ -0,0 +1 @@ +titlebutton-close-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.png new file mode 100644 index 0000000..6b507c0 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.svg b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.svg new file mode 100644 index 0000000..3c44d97 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close-hover@2.svg @@ -0,0 +1,100 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..d11e432 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.png new file mode 100644 index 0000000..deba07e Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.svg b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.svg new file mode 100644 index 0000000..7611763 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-close@2.svg @@ -0,0 +1,100 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark.png new file mode 100644 index 0000000..160ae8d Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png new file mode 100644 index 0000000..407b189 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active@2.png new file mode 100644 index 0000000..a824618 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-active@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png new file mode 120000 index 0000000..79b5468 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png @@ -0,0 +1 @@ +titlebutton-maximize-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png new file mode 120000 index 0000000..a1263c6 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png @@ -0,0 +1 @@ +titlebutton-maximize-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop.png new file mode 120000 index 0000000..020844a --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop.png @@ -0,0 +1 @@ +titlebutton-maximize.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png new file mode 120000 index 0000000..3f6ef94 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png @@ -0,0 +1 @@ +titlebutton-maximize@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark.png new file mode 100644 index 0000000..e7de609 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark@2.png new file mode 100644 index 0000000..655fc30 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark.png new file mode 120000 index 0000000..79b5468 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark.png @@ -0,0 +1 @@ +titlebutton-maximize-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png new file mode 120000 index 0000000..a1263c6 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png @@ -0,0 +1 @@ +titlebutton-maximize-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover@2.png new file mode 100644 index 0000000..239ec52 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize-hover@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..68ada5a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize@2.png new file mode 100644 index 0000000..83f440c Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-maximize@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark.png new file mode 100644 index 0000000..7adaee3 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png new file mode 100644 index 0000000..d118a56 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active@2.png new file mode 100644 index 0000000..9778a9a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-active@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png new file mode 120000 index 0000000..3777af8 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png @@ -0,0 +1 @@ +titlebutton-minimize-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png new file mode 120000 index 0000000..e6c9e75 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png @@ -0,0 +1 @@ +titlebutton-minimize-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop.png new file mode 120000 index 0000000..496fa6a --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop.png @@ -0,0 +1 @@ +titlebutton-minimize.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png new file mode 120000 index 0000000..9eab415 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png @@ -0,0 +1 @@ +titlebutton-minimize@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark.png new file mode 100644 index 0000000..102b6e8 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark@2.png new file mode 100644 index 0000000..60f950e Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-dark@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark.png new file mode 120000 index 0000000..3777af8 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark.png @@ -0,0 +1 @@ +titlebutton-minimize-dark.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png new file mode 120000 index 0000000..e6c9e75 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png @@ -0,0 +1 @@ +titlebutton-minimize-dark@2.png \ No newline at end of file diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover@2.png new file mode 100644 index 0000000..75889dc Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize-hover@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..49b6385 Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize@2.png b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize@2.png new file mode 100644 index 0000000..6740a6c Binary files /dev/null and b/themes/Beam-HiDPI/gtk-3.0/assets/titlebutton-minimize@2.png differ diff --git a/themes/Beam-HiDPI/gtk-3.0/gtk-contained.css b/themes/Beam-HiDPI/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..85eb0bf --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/gtk-contained.css @@ -0,0 +1,4621 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(19, 7, 27, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #74998B; } + +/*************** + * Base States * + ***************/ +.background { + color: #13071B; + background-color: #C8CFCB; } + .background:backdrop { + color: #6e6b73; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #13071B; + background-color: #C8CFCB; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #13071B; + background-color: #e3e7e5; } + .gtkstyle-fallback:active { + color: #13071B; + background-color: #adb7b1; } + .gtkstyle-fallback:disabled { + color: #6e6b73; + background-color: #cbd2ce; } + .gtkstyle-fallback:selected { + color: #000000; + background-color: #74998B; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #13071B; + background-color: #CFD6D2; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #38303f; + background-color: #ccd4cf; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #ccd3cf; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #5c7e71; + background-color: rgba(92, 126, 113, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #13071B; } + label.separator:backdrop { + color: #6e6b73; } +label selection { + background-color: #74998B; + color: #000000; } +label:disabled { + color: #6e6b73; } + label:disabled:backdrop { + color: #9faba4; } +label:backdrop { + color: #6e6b73; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #CFD6D2; + border-top: 1px solid #76887e; } + assistant .sidebar:backdrop { + background-color: #ccd4cf; + border-color: #7e8f86; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #a4a7a8; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + border-color: #76887e; + background-color: #CFD6D2; + box-shadow: inset 0 0 0 1px rgba(116, 153, 139, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #74998B; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #6e6b73; + border-color: #76887e; + background-color: #cbd2ce; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #38303f; + border-color: #7e8f86; + background-color: #ccd4cf; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #9faba4; + border-color: #7e8f86; + background-color: #cbd2ce; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #393040; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #13071B; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #74998B; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #818085; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #74998B; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #74998B; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #74998B; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #74998B; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #74998B; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #b4bfb9; + background-color: #CFD6D2; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #b5bfb9; + background-color: #ccd4cf; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #b4bfb9; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #74998B; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #74998B; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #74998B; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #74998B; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #CFD6D2; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #CFD6D2; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #74998B; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#74998B), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#74998B), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #6e6b73; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #6e6b73; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #9faba4; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #7e8f86; + background-color: #bdc6c1; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #9faba4; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #6e6b73; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: #76887e; + background-image: linear-gradient(to bottom, #c3cbc6, #cbd2ce); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #6e6b73; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #74998B; + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } +row:selected +button { + border-color: #31433c; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #000000; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #ccd4cf; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #74998B; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #e3ebe8; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #5c7e71; + background-color: #5c7e71; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dee5e3; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #9faba4; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #73978a; + background-color: #73978a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #a4bbb3; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(116, 153, 139, 0.8); } + button.suggested-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #6e6b73; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #3c5249; + background-image: linear-gradient(to bottom, #6e9084, #73978a); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: #c7d5d0; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #74998B; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #9faba4; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #e72c2b; + background-color: #e72c2b; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #ef7675; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #6e6b73; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #de2928, #e72c2b); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #f5abaa; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#74998B), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.76923)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .inline-toolbar toolbutton > button:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #6e6b73; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: #76887e; + background-image: linear-gradient(to bottom, #c3cbc6, #cbd2ce); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #9faba4; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #7e8f86; + background-color: #bdc6c1; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #9faba4; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #74998B; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #476057; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #2e3d38; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #0c0f0e; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #171f1c; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #74998B; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #171f1c; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #261c2d; + background-image: none; + border-style: none none none solid; + border-color: rgba(118, 136, 126, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #13071B; + background-color: rgba(19, 7, 27, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(110, 107, 115, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #77767c; + background-color: transparent; + border-color: rgba(126, 143, 134, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(159, 171, 164, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #6e6b73; } +spinbutton.vertical:backdrop:disabled { + color: #9faba4; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #C8CFCB; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: #76887e; + background-color: #afbab4; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: #76887e; + border-radius: 0; + background: #C8CFCB linear-gradient(to bottom, #C8CFCB, shade(#C8CFCB, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #000000; + text-shadow: none; + border-color: #31433c; + background: #74998B linear-gradient(to bottom, #74998B, shade(#74998B, 0.88)); + box-shadow: inset 0 1px rgba(172, 194, 185, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #74998B; + background-image: none; + box-shadow: inset 0 1px rgba(186, 204, 197, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #171f1c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #5c7e71; + background-color: #5c7e71; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #121917; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #82a296; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #556962; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #73978a; + background-color: #73978a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #4b625a; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #3c5249; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #41514b; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #3c5249; + background-image: linear-gradient(to bottom, #6e9084, #73978a); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #2e3c37; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #6e6b73; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #6e6b73; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #9faba4; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(116, 153, 139, 0); + background-color: rgba(116, 153, 139, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: #76887e; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #716f77; + border-top-color: #C8CFCB; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #3a4d46; + border-top-color: rgba(19, 7, 27, 0.1); } + treeview.view:disabled { + color: #6e6b73; } + treeview.view:disabled:selected { + color: #465c53; } + treeview.view:disabled:selected:backdrop { + color: #8eab9f; } + treeview.view:disabled:backdrop { + color: #9faba4; } + treeview.view.separator { + min-height: 2px; + color: #C8CFCB; } + treeview.view.separator:backdrop { + color: rgba(200, 207, 203, 0.1); } + treeview.view:backdrop { + border-left-color: #9b9d9f; + border-top: #C8CFCB; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #31433c; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #4b4552; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #13071B; } + treeview.view.expander:selected { + color: #232e2a; } + treeview.view.expander:selected:hover { + color: #000000; } + treeview.view.expander:selected:backdrop { + color: #b2c2bb; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #8a8b8f; } + treeview.view.progressbar { + color: #CFD6D2; + border: 1px solid #31433c; + border-radius: 4px; + background-color: #74998B; + background-image: linear-gradient(to bottom, #74998B, #5c7e71); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #74998B; + box-shadow: none; + background-image: linear-gradient(to bottom, #CFD6D2, #b3bfb8); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #74998B; + border-color: #31433c; + background-color: #ccd4cf; } + treeview.view.progressbar:backdrop { + color: #ccd4cf; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(19, 7, 27, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #74998B; } + treeview.view header button { + color: #716f77; + background-color: #CFD6D2; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #423b49; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #13071B; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #74998B; + color: #CFD6D2; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #CFD6D2; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #74998B; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #C8CFCB; } + treeview.view header button:disabled { + border-color: #C8CFCB; + background-image: none; } + treeview.view header button:backdrop { + border-color: #C8CFCB; + border-style: none solid solid none; + color: #9b9d9f; + background-image: none; + background-color: #ccd4cf; } + treeview.view header button:backdrop:disabled { + border-color: #C8CFCB; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #C8CFCB; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#74998B, 1.2), shade(#74998B, 1)); + color: #000000; + border-color: shade(#74998B, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #6e6b73; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #dee2e0; + border: 1px solid #76887e; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #ccd4cf; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #000000; + background-image: linear-gradient(to bottom, shade(#74998B, 1.2), shade(#74998B, 1)); + box-shadow: inset 1px 1px shade(#74998B, 0.8), inset -1px -1px shade(#74998B, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #6e6b73; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #9faba4; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #6e6b73; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #dee2e0; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #bcc1c0; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #bcc1c0; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #bcc1c0; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #ccd4cf; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #f9faf9; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #000000; } + .csd popover.background, popover.background { + border: 1px solid #76887e; } + popover.background:backdrop { + background-color: #C8CFCB; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #C8CFCB; } + notebook > header:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#C8CFCB, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #6e6b73; + background-color: #C8CFCB; + border-width: 1px; + border-radius: 3px; + border-color: shade(#C8CFCB, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #413947; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(118, 136, 126, 0.3); + background-color: rgba(200, 207, 203, 0.2); } + notebook > header tab:backdrop { + color: #929396; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #13071B; + background-color: shade(#C8CFCB, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #C8CFCB; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(118, 136, 126, 0.5); + background-color: shade(#C8CFCB, 1.05); } + notebook > header tab:backdrop:checked { + color: #6e6b73; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #7e8f86; + background-color: #C8CFCB; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#C8CFCB, 1.05); + border: 1px solid shade(#C8CFCB, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #C8CFCB; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #c8cfcb, #c8cfcb); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #d6dbd8; } + scrollbar.bottom { + border-top: 1px solid #d6dbd8; } + scrollbar.left { + border-right: 1px solid #d6dbd8; } + scrollbar.right { + border-left: 1px solid #d6dbd8; } + scrollbar:backdrop { + background-color: #c0c8c3; + border-color: #d6dbd8; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid #76887e; + border-radius: 0px; + background-clip: padding-box; + background-color: #658a7c; } + scrollbar slider:hover { + background-color: #58786c; } + scrollbar slider:hover:active { + background-color: #58786c; } + scrollbar slider:backdrop { + background-color: #c9d8d2; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#13071B, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#13071B, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #658a7c; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #58786c; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #58786c; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(101, 138, 124, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #c9d8d2; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(201, 216, 210, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid #76887e; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #a7b3ac; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#31433c, 1.1); + background-image: linear-gradient(to bottom, shade(#74998B, 1.1), #74998B); + text-shadow: 0 1px rgba(49, 67, 60, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: #76887e; + background-color: #cbd2ce; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #C8CFCB; + border-color: #74998B; + background-color: #74998B; + box-shadow: none; } + switch:disabled { + border-color: #7e8f86; + background-image: none; + background-color: #cbd2ce; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #d6dbd8 20%, #C8CFCB 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #cdd4d0, inset 0 -1px #a7b2ac, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#31433c,0.8); } + switch:disabled slider { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #6e6b73; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #6e6b73; } + switch:backdrop:checked slider { + border-color: #74998B; } + switch:backdrop:disabled slider { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #9faba4; } + row:selected switch { + box-shadow: none; + border-color: #31433c; } + row:selected switch:backdrop { + border-color: #31433c; } + row:selected switch.slider:dir(rtl) { + border-left-color: #76887e; } + row:selected switch.slider:dir(ltr) { + border-right-color: #76887e; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #31433c; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #d6dbd8 20%, #C8CFCB 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #cdd4d0, inset 0 -1px #a7b2ac, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #6e6b73; } + check:backdrop, + radio:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #6e6b73; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #9faba4; } + row:selected check, row:selected + radio { + border-color: #31433c; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #13071B; + border-color: #31433c; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #6e6b73; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #9faba4; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #6e6b73; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid #76887e; + border-radius: 3px; + background-color: #abb6b0; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #cbd2ce; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #aeb9b3; + border-color: #7e8f86; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #cbd2ce; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #31433c; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#74998B, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#74998B, 1.1), shade(#74998B, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #74998B; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #31433c; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: #76887e; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.45), shade(#C8CFCB, 1.15)); + border: 1px solid #6f7f76; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #31433c; } + scale slider:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #6e6b73; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #6e6b73; } + scale slider:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #9faba4; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #31433c; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(#76887e); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(19, 7, 27, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#74998B, 0.7), inset -1px -1px shade(#74998B, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #13071B; + border-color: #76887e; + background-color: #CFD6D2; + box-shadow: inset 0 0 0 1px rgba(116, 153, 139, 0); } + levelbar trough:backdrop { + color: #38303f; + border-color: #7e8f86; + background-color: #ccd4cf; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #476057; + background-color: #74998B; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #74998B; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(19, 7, 27, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(110, 107, 115, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #13071B; + border: 1px solid #76887e; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #6e6b73; + border-color: #7e8f86; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid #76887e; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #7e8f86; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid #76887e; } + actionbar > revealer > box:backdrop { + border-color: #7e8f86; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, #76887e 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #658a7c; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #7e8f86 1px, transparent 1px); + background-color: #c0c8c3; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #13071B; + background-color: #CFD6D2; + border-color: #76887e; } + list:backdrop { + background-color: #ccd4cf; + border-color: #7e8f86; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(19, 7, 27, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #6a8a80; } + row.activatable:selected:backdrop { + background-color: #74998B; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: #692795; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #13071B; + border: 1px solid #76887e; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(19, 7, 27, 0.45); } + calendar.button:hover { + color: #13071B; } + calendar.button:backdrop { + color: rgba(110, 107, 115, 0.45); } + calendar.button:disabled { + color: rgba(110, 107, 115, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #13071B; } + calendar:backdrop { + color: #38303f; + border-color: #7e8f86; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #C8CFCB; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid #76887e; } + filechooser .dialog-action-box:backdrop { + border-top-color: #7e8f86; } +filechooser #pathbarbox { + border-bottom: 1px solid #C8CFCB; } + filechooser #pathbarbox stack { + background-color: #C8CFCB; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #CFD6D2; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#CFD6D2, 0.87), shade(#CFD6D2, 0.95) 10%, shade(#CFD6D2, 0.99) 92%, shade(#CFD6D2, 0.92)); + box-shadow: 0 -1px shade(#C8CFCB, 0.85), 0 1px shade(#C8CFCB, 1.12); } + .sidebar row:selected label { + color: #13071B; } + .sidebar row:selected label:backdrop { + color: #6e6b73; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid #76887e; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid #76887e; + border-right-style: none; } + .sidebar:backdrop { + background-color: #cad2cd; + border-color: #7e8f86; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #13071B; } + placessidebar row:disabled { + color: #6e6b73; } + placessidebar row:backdrop { + color: #6e6b73; + background-color: #C8CFCB; } + placessidebar row:backdrop:selected { + color: #6e6b73; } + placessidebar row:backdrop:disabled { + color: #9faba4; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#74998B); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #74998B; } + placessidebar row:drop(active):not(:disabled) { + color: #74998B; + box-shadow: inset 0 1px #74998B, inset 0 -1px #74998B; } + placessidebar row:drop(active):not(:disabled):selected { + color: #000000; + background-image: linear-gradient(to bottom, #b5c9c1, #ccdad5 10%, #d8e3df 92%, #c3d4cd); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(#76887e); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#74998B); } + paned > separator:backdrop { + background-image: image(#7e8f86); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #C8CFCB; + background-image: image(#76887e), image(#76887e); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #C8CFCB; + background-image: image(#7e8f86), image(#7e8f86); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #5c7e71; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #74998B; + border-color: #5c7e71; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #000000; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #476057; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #3c5249; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #41514b; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3c5249; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #171f1c; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #82a296; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3c5249; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #556962; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #5c7e71; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #C8CFCB; + background-clip: padding-box; + border: 1px solid #bac3be; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #13071B; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #000000; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #ccd4cf; } +colorswatch.light overlay { + color: #13071B; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #38303f; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #74998B; + box-shadow: inset 0 0 0 2px #638779, inset 0 0 0 1px #74998B; } + colorswatch:drop(active).dark overlay { + border-color: #74998B; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #74998B; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + colorswatch#add-color-button overlay:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #6e6b73; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #000000; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #b5beb9; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #b5beb9; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(19, 7, 27, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #C8CFCB; + border: solid 1px #7e8f86; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.titlebutton.close, button.titlebutton.maximize, button.titlebutton.minimize { + color: transparent; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; } + button.titlebutton.close:backdrop, button.titlebutton.maximize:backdrop, button.titlebutton.minimize:backdrop { + opacity: 0.5; } + button.titlebutton.close { + background-image: -gtk-scaled(url("assets/titlebutton-close.png"), url("assets/titlebutton-close@2.png")); } + button.titlebutton.close:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-close-backdrop.png"), url("assets/titlebutton-close-backdrop@2.png")); } + button.titlebutton.close:hover { + background-image: -gtk-scaled(url("assets/titlebutton-close-hover.png"), url("assets/titlebutton-close-hover@2.png")); } + button.titlebutton.close:active { + background-image: -gtk-scaled(url("assets/titlebutton-close-active.png"), url("assets/titlebutton-close-active@2.png")); } + button.titlebutton.maximize { + background-image: -gtk-scaled(url("assets/titlebutton-maximize.png"), url("assets/titlebutton-maximize@2.png")); } + button.titlebutton.maximize:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-maximize-backdrop.png"), url("assets/titlebutton-maximize-backdrop@2.png")); } + button.titlebutton.maximize:hover { + background-image: -gtk-scaled(url("assets/titlebutton-maximize-hover.png"), url("assets/titlebutton-maximize-hover@2.png")); } + button.titlebutton.maximize:active { + background-image: -gtk-scaled(url("assets/titlebutton-maximize-active.png"), url("assets/titlebutton-maximize-active@2.png")); } + button.titlebutton.minimize { + background-image: -gtk-scaled(url("assets/titlebutton-minimize.png"), url("assets/titlebutton-minimize@2.png")); } + button.titlebutton.minimize:backdrop { + background-image: -gtk-scaled(url("assets/titlebutton-minimize-backdrop.png"), url("assets/titlebutton-minimize-backdrop@2.png")); } + button.titlebutton.minimize:hover { + background-image: -gtk-scaled(url("assets/titlebutton-minimize-hover.png"), url("assets/titlebutton-minimize-hover@2.png")); } + button.titlebutton.minimize:active { + background-image: -gtk-scaled(url("assets/titlebutton-minimize-active.png"), url("assets/titlebutton-minimize-active@2.png")); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.57804); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.57804); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #74998B; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #3a4d46; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #ccd4cf; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #8eab9f; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #13071B; + background-color: #CFD6D2; + border: 1px solid; + border-color: #9faca5; + border-radius: 5px; + box-shadow: inset 0 -3px #c9d0cc; + font-size: smaller; } + .keycap:backdrop { + background-color: #ccd4cf; + color: #6e6b73; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #13071B; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #13071B; +/* +widget base background color */ +@define-color theme_bg_color #C8CFCB; +/* +text widgets and the like base background color */ +@define-color theme_base_color #CFD6D2; +/* +base background color of selections */ +@define-color theme_selected_bg_color #74998B; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #000000; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #cbd2ce; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #6e6b73; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #CFD6D2; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #6e6b73; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #13071B; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #C8CFCB; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #ccd4cf; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #74998B; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #000000; +/* +widgets main borders color */ +@define-color borders #76887e; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #7e8f86; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#13071B, 1.8); +@define-color wm_unfocused_title #6e6b73; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#C8CFCB, 1.2); +@define-color wm_bg_b #C8CFCB; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#C8CFCB, 1.3); +@define-color wm_button_hover_color_b #C8CFCB; +@define-color wm_button_active_color_a shade(#C8CFCB, 0.85); +@define-color wm_button_active_color_b shade(#C8CFCB, 0.89); +@define-color wm_button_active_color_c shade(#C8CFCB, 0.9); +@define-color content_view_bg #CFD6D2; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#C8CFCB, 1.18); + color: #13071B; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#C8CFCB, 0.35); + color: #13071B; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #13071B; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#C8CFCB, 0.7); + border-color: shade(#C8CFCB, 0.6); + color: #13071B; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#74998B, 0.6); + background-image: linear-gradient(to bottom, shade(#74998B, 0.88), shade(#74998B, 0.85)); + color: #13071B; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#C8CFCB, 0.3); + color: #13071B; + border-color: shade(#C8CFCB, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#13071B, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #13071B; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#C8CFCB, 0.65), shade(#C8CFCB, 1.25)); + border: 1px solid shade(#C8CFCB, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #C8CFCB; + color: #13071B; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #C8CFCB; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #CFD6D2; + color: #13071B; + box-shadow: inset 1px 0 shade(#CFD6D2, 0.6), inset -1px 0 shade(#CFD6D2, 0.6), inset 0 1px shade(#CFD6D2, 0.6), inset 0 -1px shade(#CFD6D2, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#74998B, 0.8); + background-image: linear-gradient(to bottom, shade(#74998B, 1.02), shade(#74998B, 0.95) 90%, shade(#74998B, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#74998B, 0.7); + background-image: linear-gradient(to bottom, shade(#74998B, 1.12), shade(#74998B, 1.05) 90%, shade(#74998B, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #13071B; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #13071B; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#CFD6D2, 0.75), inset -1px 0 shade(#CFD6D2, 0.75), inset 0 1px shade(#CFD6D2, 0.55), inset 0 -1px shade(#CFD6D2, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#CFD6D2, 0.9), shade(#CFD6D2, 0.98) 10%, shade(#CFD6D2, 1) 99%, shade(#CFD6D2, 1)); + box-shadow: inset 0 1px shade(#CFD6D2, 0.8), inset 0 -1px shade(#CFD6D2, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 0.85), shade(#C8CFCB, 0.98) 10%, shade(#C8CFCB, 1) 99%, shade(#C8CFCB, 1)); + box-shadow: inset 1px 0 shade(#CFD6D2, 0.6), inset -1px 0 shade(#CFD6D2, 0.6), inset 0 1px shade(#CFD6D2, 0.6), inset 0 -1px shade(#CFD6D2, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #CFD6D2; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #CFD6D2; } + +/* Floating status bar */ +.floating-bar { + background-color: #CFD6D2; + border-style: solid; + border-color: #76887e; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #C8CFCB; + border-color: #7e8f86; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #C8CFCB; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #CFD6D2; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #74998B; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #74998B; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#C8CFCB, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.07), #C8CFCB); + color: #13071B; + text-shadow: 0 1px shade(#C8CFCB, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#C8CFCB, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.02), #C8CFCB); + color: #13071B; + text-shadow: 0 1px shade(#C8CFCB, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#C8CFCB, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#C8CFCB, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#C8CFCB, 1); + background-color: shade(#C8CFCB, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #13071B; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#C8CFCB, 0.8); + background-color: shade(#C8CFCB, 0.75); + color: #13071B; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #13071B; } diff --git a/themes/Beam-HiDPI/gtk-3.0/gtk-contained.scss b/themes/Beam-HiDPI/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/Beam-HiDPI/gtk-3.0/gtk.css b/themes/Beam-HiDPI/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/Beam-HiDPI/gtk-3.0/gtk.gresource.xml b/themes/Beam-HiDPI/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/Beam-HiDPI/gtk-3.0/parse-sass.sh b/themes/Beam-HiDPI/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/Beam-HiDPI/gtk-3.0/settings.ini b/themes/Beam-HiDPI/gtk-3.0/settings.ini new file mode 100644 index 0000000..6fb8b53 --- /dev/null +++ b/themes/Beam-HiDPI/gtk-3.0/settings.ini @@ -0,0 +1,4 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic +gtk-cursor-theme-size = 48 diff --git a/themes/Beam-HiDPI/index.theme b/themes/Beam-HiDPI/index.theme new file mode 100644 index 0000000..052de0d --- /dev/null +++ b/themes/Beam-HiDPI/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Beam-HiDPI +Comment=Greybird-based HiDPI theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Beam-HiDPI +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/Beam-HiDPI/openbox-3/bullet.xbm b/themes/Beam-HiDPI/openbox-3/bullet.xbm new file mode 100644 index 0000000..5fc6bce --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/bullet.xbm @@ -0,0 +1,5 @@ +#define bullet_width 8 +#define bullet_height 16 +static unsigned char bullet_bits[] = { + 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x1f, + 0x0f, 0x07, 0x03, 0x01 }; diff --git a/themes/Beam-HiDPI/openbox-3/close.xbm b/themes/Beam-HiDPI/openbox-3/close.xbm new file mode 100644 index 0000000..7e11639 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/close.xbm @@ -0,0 +1,6 @@ +#define close_width 16 +#define close_height 16 +static unsigned char close_bits[] = { + 0x00, 0x00, 0x06, 0x60, 0x0e, 0x70, 0x1c, 0x38, 0x38, 0x1c, 0x70, 0x0e, + 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0x70, 0x0e, 0x38, 0x1c, + 0x1c, 0x38, 0x0e, 0x70, 0x06, 0x60, 0x00, 0x00 }; diff --git a/themes/Beam-HiDPI/openbox-3/desk.xbm b/themes/Beam-HiDPI/openbox-3/desk.xbm new file mode 100644 index 0000000..37e99e4 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/desk.xbm @@ -0,0 +1,6 @@ +#define desk_width 16 +#define desk_height 16 +static unsigned char desk_bits[] = { + 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, + 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8 }; diff --git a/themes/Beam-HiDPI/openbox-3/desk_toggled.xbm b/themes/Beam-HiDPI/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..49dd044 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/desk_toggled.xbm @@ -0,0 +1,6 @@ +#define desk_toggled_width 16 +#define desk_toggled_height 16 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0xf0, 0x0f, + 0xf0, 0x0f, 0x70, 0x0f, 0xf0, 0x0e, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam-HiDPI/openbox-3/iconify.xbm b/themes/Beam-HiDPI/openbox-3/iconify.xbm new file mode 100644 index 0000000..35e59ff --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/iconify.xbm @@ -0,0 +1,6 @@ +#define iconify_width 16 +#define iconify_height 16 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; diff --git a/themes/Beam-HiDPI/openbox-3/max.xbm b/themes/Beam-HiDPI/openbox-3/max.xbm new file mode 100644 index 0000000..9fda286 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/max.xbm @@ -0,0 +1,6 @@ +#define max_width 16 +#define max_height 16 +static unsigned char max_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xe0, + 0x07, 0xe0, 0x07, 0xe0, 0x07, 0xe0, 0x07, 0xe0, 0x07, 0xe0, 0x07, 0xe0, + 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; diff --git a/themes/Beam-HiDPI/openbox-3/max_toggled.xbm b/themes/Beam-HiDPI/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..fdd1749 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/max_toggled.xbm @@ -0,0 +1,6 @@ +#define max_toggled_width 16 +#define max_toggled_height 16 +static unsigned char max_toggled_bits[] = { + 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0x70, 0xe0, 0x70, 0xe0, 0xff, 0xe7, + 0xff, 0xe7, 0xff, 0xe7, 0x07, 0xe7, 0x07, 0xff, 0x07, 0xff, 0x07, 0xff, + 0x07, 0x07, 0xff, 0x07, 0xff, 0x07, 0xff, 0x07 }; diff --git a/themes/Beam-HiDPI/openbox-3/shade.xbm b/themes/Beam-HiDPI/openbox-3/shade.xbm new file mode 100644 index 0000000..ac27ed1 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/shade.xbm @@ -0,0 +1,6 @@ +#define shade_width 16 +#define shade_height 16 +static unsigned char shade_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam-HiDPI/openbox-3/shade_toggled.xbm b/themes/Beam-HiDPI/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..494b8cb --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/shade_toggled.xbm @@ -0,0 +1,6 @@ +#define shade_toggled_width 16 +#define shade_toggled_height 16 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam-HiDPI/openbox-3/themerc b/themes/Beam-HiDPI/openbox-3/themerc new file mode 100644 index 0000000..fb58e53 --- /dev/null +++ b/themes/Beam-HiDPI/openbox-3/themerc @@ -0,0 +1,116 @@ +!! Bunsen-Dark +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #C8CFCB +menu.title.bg.colorTo: #C8CFCB +menu.title.text.color: #13071B +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #C8CFCB +menu.items.text.color: #13071B +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #74998B +menu.items.active.bg.colorTo:#74998B +menu.items.active.text.color: #101010 +menu.bullet.selected.image.color: #101010 + +menu.separator.color: #4c4c4c +menu.border.color: #C8CFCB + +menu.border.width: 0 +menu.separator.width: 1 +menu.separator.padding.width: 10 +menu.separator.padding.height: 2 + +menu.overlap.x: 0 +menu.overlap.y: 0 + +!! common window settings + +border.width: 1 + +window.client.padding.width: 0 +window.client.padding.height: 0 +window.handle.width: 0 + +padding.width: 4 +padding.height: 4 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #C8CFCB +window.active.title.bg.colorTo: #C8CFCB +window.active.title.separator.color: #C8CFCB + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #C8CFCB +window.active.handle.bg.colorTo: #C8CFCB + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #13071B + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #13071B +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #666666 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #C8CFCB +window.inactive.title.bg.colorTo: #C8CFCB +window.inactive.title.separator.color: #C8CFCB + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #C8CFCB +window.inactive.handle.bg.colorTo: #C8CFCB + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #101010 +window.inactive.button.*.pressed.image.color: #666666 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings + +window.active.border.color: #74998B +window.inactive.border.color: #74998B + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #C8CFCB +osd.bg.colorTo: #C8CFCB +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #a3a3a3 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #545454 +osd.label.text.color: #13071B +osd.border.width: 1 +osd.border.color: #C8CFCB + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/Beam-HiDPI/xfce-notify-4.0/gtk.css b/themes/Beam-HiDPI/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..8ed4840 --- /dev/null +++ b/themes/Beam-HiDPI/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #C8CFCB; + color: #13071B; + border: 0px solid shade(#C8CFCB, 1.0); + border-radius: 1px; +} + +#XfceNotifyWindow:hover { + background-color: #C8CFCB; + color: #13071B; + border: 1px solid shade(#3c3c3c, 0.0); + border-radius: 1px; +} + +#XfceNotifyWindow button { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.08), + shade(#C8CFCB, 1.02) + ); + color: shade(#13071B, 0.4); + border-color: shade(#cecece, 0.75); + border-radius: 3px; +} + +#XfceNotifyWindow button:hover { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.14), + shade(#C8CFCB, 1.08) + ); +} + +#XfceNotifyWindow button:active { + background-color: shade(#C8CFCB, 0.8); +} + +#XfceNotifyWindow label#summary { + font-weight: bold; +} + +#XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #74998B; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#999999, 1.0), + shade(#999999, 1.0) + ); + border: 1px solid shade(#999999, 1.0); + border-radius: 3px; +} diff --git a/themes/Beam-HiDPI/xfce-notify-4.0/gtkrc b/themes/Beam-HiDPI/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..a16afcc --- /dev/null +++ b/themes/Beam-HiDPI/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#C8CFCB" + XfceNotifyWindow::border-color = "#3c3c3c" + XfceNotifyWindow::border-color-hover = "#74998B" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 4.0 + XfceNotifyWindow::border-width-hover = 4.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#C8CFCB" + bg[PRELIGHT] = "#D4DBD7" + fg[NORMAL] = "#13071B" + fg[PRELIGHT] = "#13071B" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#13071B" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#74998B" + bg[ACTIVE] = "#999999" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/Beam/LICENSE.CC b/themes/Beam/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/Beam/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/Beam/LICENSE.GPL b/themes/Beam/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/Beam/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/Beam/README.md b/themes/Beam/README.md new file mode 100644 index 0000000..b551bf8 --- /dev/null +++ b/themes/Beam/README.md @@ -0,0 +1,19 @@ +SoftWaves + +by hhh (hsumen@bunsenlabs.org) + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. Colors +derived from softWaves, the default wallpaper theme of stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://wiki.debian.org/DebianArt/Themes/softWaves +https://packages.debian.org/stretch/desktop-base (Debian release of softwaves) +https://www.bunsenlabs.org/ \ No newline at end of file diff --git a/themes/Beam/gtk-2.0/apps/chromium.rc b/themes/Beam/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/Beam/gtk-2.0/apps/claws-mail.rc b/themes/Beam/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/Beam/gtk-2.0/apps/gmusicbrowser.rc b/themes/Beam/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/Beam/gtk-2.0/apps/terminal.rc b/themes/Beam/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/Beam/gtk-2.0/apps/thunar.rc b/themes/Beam/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/Beam/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/Beam/gtk-2.0/apps/thunar/sidebar_active.png b/themes/Beam/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/Beam/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/Beam/gtk-2.0/apps/xfce-panel.rc b/themes/Beam/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/Beam/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/Beam/gtk-2.0/gtkrc b/themes/Beam/gtk-2.0/gtkrc new file mode 100644 index 0000000..e6273e3 --- /dev/null +++ b/themes/Beam/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: SoftWaves +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#C8CFCB\nselected_bg_color:#74998B\nbase_color:#CFD6D2" # Background, base. +gtk-color-scheme = "fg_color:#13071B\nselected_fg_color:#000000\ntext_color:#13071B" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#C8CFCB\ntooltip_fg_color:#13071B" # Tooltips. +gtk-color-scheme = "link_color:#2d71b8" # Hyperlinks +gtk-color-scheme = "panel_bg:#C8CFCB" # same as bg_color +gtk-color-scheme = "fm_color:#13071B" # same as fg_color +gtk-color-scheme = "bg_color_dark:#C8CFCB\ntext_color_dark:#13071B" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (0.88, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = shade (0.95, @bg_color) + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + # default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = shade (0.3,@selected_bg_color) + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + # bg[NORMAL] = shade (1.02, @bg_color) + # bg[PRELIGHT] = shade (1.09, @bg_color) + # bg[ACTIVE] = shade (0.85, @bg_color) + # bg[SELECTED] = shade (0.5, @selected_bg_color) + # bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = shade (1.1, @bg_color) + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = shade (1.1, @bg_color) + bg[INSENSITIVE] = shade (1.1, @bg_color) + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = shade (1.1, @bg_color) # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +#include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/Beam/gtk-2.0/resize_grip.png b/themes/Beam/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Beam/gtk-2.0/resize_grip.png differ diff --git a/themes/Beam/gtk-2.0/xfsmlogout.png b/themes/Beam/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/Beam/gtk-2.0/xfsmlogout.png differ diff --git a/themes/Beam/gtk-3.0/Gemfile b/themes/Beam/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/Beam/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/Beam/gtk-3.0/Gemfile.lock b/themes/Beam/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/Beam/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/Beam/gtk-3.0/README b/themes/Beam/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/Beam/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/Beam/gtk-3.0/_colors-public.scss b/themes/Beam/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/Beam/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/Beam/gtk-3.0/_colors.scss b/themes/Beam/gtk-3.0/_colors.scss new file mode 100644 index 0000000..22eba45 --- /dev/null +++ b/themes/Beam/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #CFD6D2, #292929); +$text_color: if($variant == 'light', #13071B, white); +$bg_color: if($variant == 'light', #C8CFCB, #393f3f); +$fg_color: if($variant == 'light', #13071B, #eeeeec); + +$selected_fg_color: #000000; +$selected_bg_color: if($variant == 'light', #74998B, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/Beam/gtk-3.0/_common.scss b/themes/Beam/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/Beam/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/Beam/gtk-3.0/_drawing.scss b/themes/Beam/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/Beam/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/Beam/gtk-3.0/_gnome-apps.scss b/themes/Beam/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/Beam/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/Beam/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/Beam/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/Beam/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/Beam/gtk-3.0/_unity.scss b/themes/Beam/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/Beam/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/Beam/gtk-3.0/_xfce.scss b/themes/Beam/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/Beam/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/Beam/gtk-3.0/apps/granite-widgets.css b/themes/Beam/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/Beam/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/Beam/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/Beam/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/Beam/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/Beam/gtk-3.0/assets/bullet-symbolic.svg b/themes/Beam/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/Beam/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/Beam/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/Beam/gtk-3.0/assets/check-symbolic.svg b/themes/Beam/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/Beam/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/Beam/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Beam/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/Beam/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Beam/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-mixed.png b/themes/Beam/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-selectionmode.png b/themes/Beam/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/Beam/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Beam/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/dash-symbolic.svg b/themes/Beam/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/Beam/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Beam/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/Beam/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/Beam/gtk-3.0/assets/grid-selection-checked.png b/themes/Beam/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/Beam/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Beam/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/Beam/gtk-3.0/assets/pane-separator-vertical.png b/themes/Beam/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/Beam/gtk-3.0/assets/pane-separator.png b/themes/Beam/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-mixed-hover.png b/themes/Beam/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Beam/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-mixed.png b/themes/Beam/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-selected-hover.png b/themes/Beam/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-selected-insensitive.png b/themes/Beam/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-selected.png b/themes/Beam/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/Beam/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/Beam/gtk-3.0/assets/radio-unselected.png b/themes/Beam/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/Beam/gtk-3.0/assets/resize-grip.png b/themes/Beam/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-close-active.png b/themes/Beam/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-close-hover.png b/themes/Beam/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-close.png b/themes/Beam/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/Beam/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/Beam/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-maximize.png b/themes/Beam/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/Beam/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/Beam/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/Beam/gtk-3.0/assets/titlebutton-minimize.png b/themes/Beam/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/Beam/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/Beam/gtk-3.0/gtk-contained.css b/themes/Beam/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..16ee5e4 --- /dev/null +++ b/themes/Beam/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(19, 7, 27, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #74998B; } + +/*************** + * Base States * + ***************/ +.background { + color: #13071B; + background-color: #C8CFCB; } + .background:backdrop { + color: #6e6b73; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #13071B; + background-color: #C8CFCB; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #13071B; + background-color: #e3e7e5; } + .gtkstyle-fallback:active { + color: #13071B; + background-color: #adb7b1; } + .gtkstyle-fallback:disabled { + color: #6e6b73; + background-color: #cbd2ce; } + .gtkstyle-fallback:selected { + color: #000000; + background-color: #74998B; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #13071B; + background-color: #CFD6D2; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #38303f; + background-color: #ccd4cf; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #ccd3cf; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #5c7e71; + background-color: rgba(92, 126, 113, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #13071B; } + label.separator:backdrop { + color: #6e6b73; } +label selection { + background-color: #74998B; + color: #000000; } +label:disabled { + color: #6e6b73; } + label:disabled:backdrop { + color: #9faba4; } +label:backdrop { + color: #6e6b73; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #CFD6D2; + border-top: 1px solid #76887e; } + assistant .sidebar:backdrop { + background-color: #ccd4cf; + border-color: #7e8f86; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #a4a7a8; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + border-color: #76887e; + background-color: #CFD6D2; + box-shadow: inset 0 0 0 1px rgba(116, 153, 139, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #74998B; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #6e6b73; + border-color: #76887e; + background-color: #cbd2ce; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #38303f; + border-color: #7e8f86; + background-color: #ccd4cf; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #9faba4; + border-color: #7e8f86; + background-color: #cbd2ce; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #393040; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #13071B; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #74998B; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #818085; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #74998B; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #74998B; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #74998B; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #74998B; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #74998B; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #b4bfb9; + background-color: #CFD6D2; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #b5bfb9; + background-color: #ccd4cf; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #b4bfb9; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #74998B; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #74998B; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #74998B; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #74998B; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #CFD6D2; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #CFD6D2; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #74998B; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#74998B), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#74998B), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #6e6b73; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #6e6b73; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #9faba4; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #7e8f86; + background-color: #bdc6c1; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #9faba4; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #6e6b73; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: #76887e; + background-image: linear-gradient(to bottom, #c3cbc6, #cbd2ce); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #6e6b73; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #74998B; + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } +row:selected +button { + border-color: #31433c; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #000000; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #ccd4cf; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #74998B; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #e3ebe8; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #5c7e71; + background-color: #5c7e71; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dee5e3; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #9faba4; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #73978a; + background-color: #73978a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #a4bbb3; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(116, 153, 139, 0.8); } + button.suggested-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #6e6b73; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #3c5249; + background-image: linear-gradient(to bottom, #6e9084, #73978a); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: #c7d5d0; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #74998B; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(116, 153, 139, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #9faba4; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #e72c2b; + background-color: #e72c2b; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #ef7675; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #6e6b73; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #de2928, #e72c2b); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #f5abaa; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#74998B), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.76923)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .inline-toolbar toolbutton > button:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #6e6b73; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: #76887e; + background-image: linear-gradient(to bottom, #c3cbc6, #cbd2ce); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #6e6b73; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #9faba4; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #7e8f86; + background-color: #bdc6c1; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #9faba4; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #74998B; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #476057; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #2e3d38; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #0c0f0e; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #171f1c; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #74998B; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #171f1c; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #261c2d; + background-image: none; + border-style: none none none solid; + border-color: rgba(118, 136, 126, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #13071B; + background-color: rgba(19, 7, 27, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(110, 107, 115, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #77767c; + background-color: transparent; + border-color: rgba(126, 143, 134, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(159, 171, 164, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #6e6b73; } +spinbutton.vertical:backdrop:disabled { + color: #9faba4; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #C8CFCB; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: #76887e; + background-color: #afbab4; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: #76887e; + border-radius: 0; + background: #C8CFCB linear-gradient(to bottom, #C8CFCB, shade(#C8CFCB, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #000000; + text-shadow: none; + border-color: #31433c; + background: #74998B linear-gradient(to bottom, #74998B, shade(#74998B, 0.88)); + box-shadow: inset 0 1px rgba(172, 194, 185, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #74998B; + background-image: none; + box-shadow: inset 0 1px rgba(186, 204, 197, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #171f1c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #5c7e71; + background-color: #5c7e71; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #121917; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #82a296; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #556962; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #73978a; + background-color: #73978a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #4b625a; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #3c5249; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #41514b; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #3c5249; + background-image: linear-gradient(to bottom, #6e9084, #73978a); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #2e3c37; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #6e6b73; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #6e6b73; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #31433c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #9faba4; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(116, 153, 139, 0); + background-color: rgba(116, 153, 139, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: #76887e; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #716f77; + border-top-color: #C8CFCB; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #3a4d46; + border-top-color: rgba(19, 7, 27, 0.1); } + treeview.view:disabled { + color: #6e6b73; } + treeview.view:disabled:selected { + color: #465c53; } + treeview.view:disabled:selected:backdrop { + color: #8eab9f; } + treeview.view:disabled:backdrop { + color: #9faba4; } + treeview.view.separator { + min-height: 2px; + color: #C8CFCB; } + treeview.view.separator:backdrop { + color: rgba(200, 207, 203, 0.1); } + treeview.view:backdrop { + border-left-color: #9b9d9f; + border-top: #C8CFCB; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #31433c; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #4b4552; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #13071B; } + treeview.view.expander:selected { + color: #232e2a; } + treeview.view.expander:selected:hover { + color: #000000; } + treeview.view.expander:selected:backdrop { + color: #b2c2bb; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #8a8b8f; } + treeview.view.progressbar { + color: #CFD6D2; + border: 1px solid #31433c; + border-radius: 4px; + background-color: #74998B; + background-image: linear-gradient(to bottom, #74998B, #5c7e71); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #74998B; + box-shadow: none; + background-image: linear-gradient(to bottom, #CFD6D2, #b3bfb8); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #74998B; + border-color: #31433c; + background-color: #ccd4cf; } + treeview.view.progressbar:backdrop { + color: #ccd4cf; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(19, 7, 27, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #74998B; } + treeview.view header button { + color: #716f77; + background-color: #CFD6D2; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #423b49; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #13071B; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #74998B; + color: #CFD6D2; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #CFD6D2; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #74998B; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #C8CFCB; } + treeview.view header button:disabled { + border-color: #C8CFCB; + background-image: none; } + treeview.view header button:backdrop { + border-color: #C8CFCB; + border-style: none solid solid none; + color: #9b9d9f; + background-image: none; + background-color: #ccd4cf; } + treeview.view header button:backdrop:disabled { + border-color: #C8CFCB; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #C8CFCB; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#74998B, 1.2), shade(#74998B, 1)); + color: #000000; + border-color: shade(#74998B, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #6e6b73; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #dee2e0; + border: 1px solid #76887e; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #ccd4cf; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #000000; + background-image: linear-gradient(to bottom, shade(#74998B, 1.2), shade(#74998B, 1)); + box-shadow: inset 1px 1px shade(#74998B, 0.8), inset -1px -1px shade(#74998B, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #6e6b73; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #9faba4; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #6e6b73; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #dee2e0; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #bcc1c0; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #bcc1c0; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #bcc1c0; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #ccd4cf; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #f9faf9; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #000000; } + .csd popover.background, popover.background { + border: 1px solid #76887e; } + popover.background:backdrop { + background-color: #C8CFCB; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #C8CFCB; } + notebook > header:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#C8CFCB, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #6e6b73; + background-color: #C8CFCB; + border-width: 1px; + border-radius: 3px; + border-color: shade(#C8CFCB, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #413947; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(118, 136, 126, 0.3); + background-color: rgba(200, 207, 203, 0.2); } + notebook > header tab:backdrop { + color: #929396; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #13071B; + background-color: shade(#C8CFCB, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #C8CFCB; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(118, 136, 126, 0.5); + background-color: shade(#C8CFCB, 1.05); } + notebook > header tab:backdrop:checked { + color: #6e6b73; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #7e8f86; + background-color: #C8CFCB; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#C8CFCB, 1.05); + border: 1px solid shade(#C8CFCB, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #C8CFCB; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #c8cfcb, #c8cfcb); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #d6dbd8; } + scrollbar.bottom { + border-top: 1px solid #d6dbd8; } + scrollbar.left { + border-right: 1px solid #d6dbd8; } + scrollbar.right { + border-left: 1px solid #d6dbd8; } + scrollbar:backdrop { + background-color: #c0c8c3; + border-color: #d6dbd8; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid #76887e; + border-radius: 0px; + background-clip: padding-box; + background-color: #658a7c; } + scrollbar slider:hover { + background-color: #58786c; } + scrollbar slider:hover:active { + background-color: #58786c; } + scrollbar slider:backdrop { + background-color: #c9d8d2; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#13071B, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#13071B, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #658a7c; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #58786c; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #58786c; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(101, 138, 124, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #c9d8d2; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(201, 216, 210, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid #76887e; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #a7b3ac; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#31433c, 1.1); + background-image: linear-gradient(to bottom, shade(#74998B, 1.1), #74998B); + text-shadow: 0 1px rgba(49, 67, 60, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: #76887e; + background-color: #cbd2ce; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #7e8f86; + background-color: #aeb9b3; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #C8CFCB; + border-color: #74998B; + background-color: #74998B; + box-shadow: none; } + switch:disabled { + border-color: #7e8f86; + background-image: none; + background-color: #cbd2ce; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #d6dbd8 20%, #C8CFCB 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #cdd4d0, inset 0 -1px #a7b2ac, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#31433c,0.8); } + switch:disabled slider { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #6e6b73; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #6e6b73; } + switch:backdrop:checked slider { + border-color: #74998B; } + switch:backdrop:disabled slider { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #9faba4; } + row:selected switch { + box-shadow: none; + border-color: #31433c; } + row:selected switch:backdrop { + border-color: #31433c; } + row:selected switch.slider:dir(rtl) { + border-left-color: #76887e; } + row:selected switch.slider:dir(ltr) { + border-right-color: #76887e; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #31433c; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #d6dbd8 20%, #C8CFCB 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #cdd4d0, inset 0 -1px #a7b2ac, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 0.85), 1.05), shade(shade(#C8CFCB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #6e6b73; } + check:backdrop, + radio:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #6e6b73; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #9faba4; } + row:selected check, row:selected + radio { + border-color: #31433c; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #13071B; + border-color: #31433c; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #6e6b73; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #9faba4; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #6e6b73; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid #76887e; + border-radius: 3px; + background-color: #abb6b0; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #cbd2ce; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #aeb9b3; + border-color: #7e8f86; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #cbd2ce; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #31433c; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#74998B, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#74998B, 1.1), shade(#74998B, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #74998B; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #31433c; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: #76887e; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.45), shade(#C8CFCB, 1.15)); + border: 1px solid #6f7f76; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, #e1e4e2 10%, #d3d9d5 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #d6dbd8, inset 0 -1px #adb7b1, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #31433c; } + scale slider:disabled { + border-color: #76887e; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #6e6b73; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #6e6b73; } + scale slider:backdrop:disabled { + border-color: #7e8f86; + background-color: #cbd2ce; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #9faba4; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #31433c; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(#76887e); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(19, 7, 27, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#74998B, 0.7), inset -1px -1px shade(#74998B, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #13071B; + border-color: #76887e; + background-color: #CFD6D2; + box-shadow: inset 0 0 0 1px rgba(116, 153, 139, 0); } + levelbar trough:backdrop { + color: #38303f; + border-color: #7e8f86; + background-color: #ccd4cf; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #476057; + background-color: #74998B; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #74998B; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(19, 7, 27, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(110, 107, 115, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #13071B; + border: 1px solid #76887e; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #6e6b73; + border-color: #7e8f86; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid #76887e; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #7e8f86; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid #76887e; } + actionbar > revealer > box:backdrop { + border-color: #7e8f86; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#5f6c65), to(rgba(95, 108, 101, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(19, 7, 27, 0.07)), to(rgba(19, 7, 27, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#7e8f86), to(rgba(126, 143, 134, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, #76887e 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #658a7c; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #7e8f86 1px, transparent 1px); + background-color: #c0c8c3; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #13071B; + background-color: #CFD6D2; + border-color: #76887e; } + list:backdrop { + background-color: #ccd4cf; + border-color: #7e8f86; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(19, 7, 27, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #6a8a80; } + row.activatable:selected:backdrop { + background-color: #74998B; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: #692795; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #13071B; + border: 1px solid #76887e; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(19, 7, 27, 0.45); } + calendar.button:hover { + color: #13071B; } + calendar.button:backdrop { + color: rgba(110, 107, 115, 0.45); } + calendar.button:disabled { + color: rgba(110, 107, 115, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #13071B; } + calendar:backdrop { + color: #38303f; + border-color: #7e8f86; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #C8CFCB; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid #76887e; } + filechooser .dialog-action-box:backdrop { + border-top-color: #7e8f86; } +filechooser #pathbarbox { + border-bottom: 1px solid #C8CFCB; } + filechooser #pathbarbox stack { + background-color: #C8CFCB; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #CFD6D2; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#CFD6D2, 0.87), shade(#CFD6D2, 0.95) 10%, shade(#CFD6D2, 0.99) 92%, shade(#CFD6D2, 0.92)); + box-shadow: 0 -1px shade(#C8CFCB, 0.85), 0 1px shade(#C8CFCB, 1.12); } + .sidebar row:selected label { + color: #13071B; } + .sidebar row:selected label:backdrop { + color: #6e6b73; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid #76887e; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid #76887e; + border-right-style: none; } + .sidebar:backdrop { + background-color: #cad2cd; + border-color: #7e8f86; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #13071B; } + placessidebar row:disabled { + color: #6e6b73; } + placessidebar row:backdrop { + color: #6e6b73; + background-color: #C8CFCB; } + placessidebar row:backdrop:selected { + color: #6e6b73; } + placessidebar row:backdrop:disabled { + color: #9faba4; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#74998B); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #74998B; } + placessidebar row:drop(active):not(:disabled) { + color: #74998B; + box-shadow: inset 0 1px #74998B, inset 0 -1px #74998B; } + placessidebar row:drop(active):not(:disabled):selected { + color: #000000; + background-image: linear-gradient(to bottom, #b5c9c1, #ccdad5 10%, #d8e3df 92%, #c3d4cd); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(#76887e); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#74998B); } + paned > separator:backdrop { + background-image: image(#7e8f86); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #C8CFCB; + background-image: image(#76887e), image(#76887e); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #C8CFCB; + background-image: image(#7e8f86), image(#7e8f86); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #5c7e71; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #74998B; + border-color: #5c7e71; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #000000; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#74998B, 1.02), 1.05), shade(shade(#74998B, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #476057; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(#74998B, 1.15), shade(#74998B, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3c5249; + background-image: linear-gradient(to bottom, shade(shade(#74998B, 0.85), 1.05), shade(shade(#74998B, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #3c5249; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #41514b; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #74998B; + background-color: #74998B; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3c5249; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #171f1c; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #82a296; + background-color: #82a296; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3c5249; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #556962; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #5c7e71; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #C8CFCB; + background-clip: padding-box; + border: 1px solid #bac3be; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #13071B; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #000000; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #ccd4cf; } +colorswatch.light overlay { + color: #13071B; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #38303f; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #74998B; + box-shadow: inset 0 0 0 2px #638779, inset 0 0 0 1px #74998B; } + colorswatch:drop(active).dark overlay { + border-color: #74998B; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #74998B; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-top-color: shade(#C8CFCB, 0.8); + border-right-color: shade(#C8CFCB, 0.72); + border-left-color: shade(#C8CFCB, 0.72); + border-bottom-color: shade(#C8CFCB, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#C8CFCB, 1.02), 1.05), shade(shade(#C8CFCB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + colorswatch#add-color-button overlay:hover { + color: #13071B; + outline-color: rgba(19, 7, 27, 0.3); + border-color: #76887e; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.15), shade(#C8CFCB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:backdrop { + border-color: #7e8f86; + background-color: #C8CFCB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #6e6b73; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #000000; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #b5beb9; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #b5beb9; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(19, 7, 27, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #C8CFCB; + border: solid 1px #7e8f86; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.57804); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.57804); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #74998B; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #3a4d46; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #ccd4cf; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #8eab9f; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #13071B; + background-color: #CFD6D2; + border: 1px solid; + border-color: #9faca5; + border-radius: 5px; + box-shadow: inset 0 -3px #c9d0cc; + font-size: smaller; } + .keycap:backdrop { + background-color: #ccd4cf; + color: #6e6b73; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #74998B; + box-shadow: inset 0 0 0 1px #74998B; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #13071B; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #13071B; +/* +widget base background color */ +@define-color theme_bg_color #C8CFCB; +/* +text widgets and the like base background color */ +@define-color theme_base_color #CFD6D2; +/* +base background color of selections */ +@define-color theme_selected_bg_color #74998B; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #000000; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #cbd2ce; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #6e6b73; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #CFD6D2; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #6e6b73; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #13071B; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #C8CFCB; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #ccd4cf; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #74998B; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #000000; +/* +widgets main borders color */ +@define-color borders #76887e; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #7e8f86; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#13071B, 1.8); +@define-color wm_unfocused_title #6e6b73; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#C8CFCB, 1.2); +@define-color wm_bg_b #C8CFCB; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#C8CFCB, 1.3); +@define-color wm_button_hover_color_b #C8CFCB; +@define-color wm_button_active_color_a shade(#C8CFCB, 0.85); +@define-color wm_button_active_color_b shade(#C8CFCB, 0.89); +@define-color wm_button_active_color_c shade(#C8CFCB, 0.9); +@define-color content_view_bg #CFD6D2; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#C8CFCB, 1.18); + color: #13071B; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#C8CFCB, 0.35); + color: #13071B; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #13071B; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#C8CFCB, 0.7); + border-color: shade(#C8CFCB, 0.6); + color: #13071B; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#74998B, 0.6); + background-image: linear-gradient(to bottom, shade(#74998B, 0.88), shade(#74998B, 0.85)); + color: #13071B; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#C8CFCB, 0.3); + color: #13071B; + border-color: shade(#C8CFCB, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#13071B, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #13071B; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#C8CFCB, 0.65), shade(#C8CFCB, 1.25)); + border: 1px solid shade(#C8CFCB, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #C8CFCB; + color: #13071B; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #C8CFCB; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #CFD6D2; + color: #13071B; + box-shadow: inset 1px 0 shade(#CFD6D2, 0.6), inset -1px 0 shade(#CFD6D2, 0.6), inset 0 1px shade(#CFD6D2, 0.6), inset 0 -1px shade(#CFD6D2, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#74998B, 0.8); + background-image: linear-gradient(to bottom, shade(#74998B, 1.02), shade(#74998B, 0.95) 90%, shade(#74998B, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#74998B, 0.7); + background-image: linear-gradient(to bottom, shade(#74998B, 1.12), shade(#74998B, 1.05) 90%, shade(#74998B, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #13071B; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #13071B; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#CFD6D2, 0.75), inset -1px 0 shade(#CFD6D2, 0.75), inset 0 1px shade(#CFD6D2, 0.55), inset 0 -1px shade(#CFD6D2, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#CFD6D2, 0.9), shade(#CFD6D2, 0.98) 10%, shade(#CFD6D2, 1) 99%, shade(#CFD6D2, 1)); + box-shadow: inset 0 1px shade(#CFD6D2, 0.8), inset 0 -1px shade(#CFD6D2, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 0.85), shade(#C8CFCB, 0.98) 10%, shade(#C8CFCB, 1) 99%, shade(#C8CFCB, 1)); + box-shadow: inset 1px 0 shade(#CFD6D2, 0.6), inset -1px 0 shade(#CFD6D2, 0.6), inset 0 1px shade(#CFD6D2, 0.6), inset 0 -1px shade(#CFD6D2, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #CFD6D2; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #CFD6D2; } + +/* Floating status bar */ +.floating-bar { + background-color: #CFD6D2; + border-style: solid; + border-color: #76887e; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #C8CFCB; + border-color: #7e8f86; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #C8CFCB; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #CFD6D2; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #74998B; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #74998B; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#C8CFCB, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.07), #C8CFCB); + color: #13071B; + text-shadow: 0 1px shade(#C8CFCB, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#C8CFCB, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#C8CFCB, 1.02), #C8CFCB); + color: #13071B; + text-shadow: 0 1px shade(#C8CFCB, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#C8CFCB, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#C8CFCB, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#C8CFCB, 1); + background-color: shade(#C8CFCB, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #13071B; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#C8CFCB, 0.8); + background-color: shade(#C8CFCB, 0.75); + color: #13071B; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #13071B; } diff --git a/themes/Beam/gtk-3.0/gtk-contained.scss b/themes/Beam/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/Beam/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/Beam/gtk-3.0/gtk.css b/themes/Beam/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/Beam/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/Beam/gtk-3.0/gtk.gresource.xml b/themes/Beam/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/Beam/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/Beam/gtk-3.0/parse-sass.sh b/themes/Beam/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/Beam/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/Beam/gtk-3.0/settings.ini b/themes/Beam/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/Beam/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/Beam/index.theme b/themes/Beam/index.theme new file mode 100644 index 0000000..eafd4a6 --- /dev/null +++ b/themes/Beam/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Beam +Comment=Greybird-based theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Beam +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/Beam/openbox-3/bullet.xbm b/themes/Beam/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/Beam/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/Beam/openbox-3/close.xbm b/themes/Beam/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/Beam/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/Beam/openbox-3/desk.xbm b/themes/Beam/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/Beam/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/Beam/openbox-3/desk_toggled.xbm b/themes/Beam/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/Beam/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/Beam/openbox-3/iconify.xbm b/themes/Beam/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/Beam/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam/openbox-3/max.xbm b/themes/Beam/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/Beam/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/Beam/openbox-3/max_toggled.xbm b/themes/Beam/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/Beam/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/Beam/openbox-3/shade.xbm b/themes/Beam/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/Beam/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam/openbox-3/shade_toggled.xbm b/themes/Beam/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/Beam/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Beam/openbox-3/themerc b/themes/Beam/openbox-3/themerc new file mode 100644 index 0000000..20bd1ca --- /dev/null +++ b/themes/Beam/openbox-3/themerc @@ -0,0 +1,95 @@ +!! Bunsen-Dark +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #C8CFCB +menu.title.bg.colorTo: #C8CFCB +menu.title.text.color: #13071B +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #C8CFCB +menu.items.text.color: #13071B +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #74998B +menu.items.active.bg.colorTo:#74998B +menu.items.active.text.color: #101010 +menu.bullet.selected.image.color: #101010 + +menu.separator.color: #4c4c4c +menu.border.color: #C8CFCB + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #C8CFCB +window.active.title.bg.colorTo: #C8CFCB +window.active.title.separator.color: #C8CFCB + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #C8CFCB +window.active.handle.bg.colorTo: #C8CFCB + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #13071B + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #13071B +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #666666 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #C8CFCB +window.inactive.title.bg.colorTo: #C8CFCB +window.inactive.title.separator.color: #C8CFCB + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #C8CFCB +window.inactive.handle.bg.colorTo: #C8CFCB + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #101010 +window.inactive.button.*.pressed.image.color: #666666 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings + +window.active.border.color: #74998B +window.inactive.border.color: #74998B + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #C8CFCB +osd.bg.colorTo: #C8CFCB +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #a3a3a3 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #545454 +osd.label.text.color: #13071B + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/Beam/xfce-notify-4.0/gtk.css b/themes/Beam/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..8ed4840 --- /dev/null +++ b/themes/Beam/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #C8CFCB; + color: #13071B; + border: 0px solid shade(#C8CFCB, 1.0); + border-radius: 1px; +} + +#XfceNotifyWindow:hover { + background-color: #C8CFCB; + color: #13071B; + border: 1px solid shade(#3c3c3c, 0.0); + border-radius: 1px; +} + +#XfceNotifyWindow button { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.08), + shade(#C8CFCB, 1.02) + ); + color: shade(#13071B, 0.4); + border-color: shade(#cecece, 0.75); + border-radius: 3px; +} + +#XfceNotifyWindow button:hover { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.14), + shade(#C8CFCB, 1.08) + ); +} + +#XfceNotifyWindow button:active { + background-color: shade(#C8CFCB, 0.8); +} + +#XfceNotifyWindow label#summary { + font-weight: bold; +} + +#XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #74998B; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#999999, 1.0), + shade(#999999, 1.0) + ); + border: 1px solid shade(#999999, 1.0); + border-radius: 3px; +} diff --git a/themes/Beam/xfce-notify-4.0/gtkrc b/themes/Beam/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..21163a7 --- /dev/null +++ b/themes/Beam/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#C8CFCB" + XfceNotifyWindow::border-color = "#3c3c3c" + XfceNotifyWindow::border-color-hover = "#74998B" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 2.0 + XfceNotifyWindow::border-width-hover = 2.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#C8CFCB" + bg[PRELIGHT] = "#D4DBD7" + fg[NORMAL] = "#13071B" + fg[PRELIGHT] = "#13071B" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#13071B" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#74998B" + bg[ACTIVE] = "#999999" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/Bunsen-Blackish-Remix/LICENSE.CC b/themes/Bunsen-Blackish-Remix/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/Bunsen-Blackish-Remix/LICENSE.GPL b/themes/Bunsen-Blackish-Remix/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/Bunsen-Blackish-Remix/README.md b/themes/Bunsen-Blackish-Remix/README.md new file mode 100644 index 0000000..5b06fbf --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/README.md @@ -0,0 +1,38 @@ +Bunsen-Blackish-Remix + +by hhh (hsumen@bunsenlabs.org) + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://www.bunsenlabs.org/ + +Light text on a dark background will not work with some programs, for +example input fields in Iceweasel/Firefox. + +In order to fix this, navigate to + + ~/.mozilla/firefox/${your_profile_folder} + +and create the folder and file chrome/userContent.css containing the +following CSS content: + +input { + -moz-appearance: none !important; + background-color: white; + color: black; +} + +textarea { + -moz-appearance: none !important; + background-color: white; + color: black; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/chromium.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/claws-mail.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/gmusicbrowser.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/terminal.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/sidebar_active.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/xfce-panel.rc b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/gtkrc b/themes/Bunsen-Blackish-Remix/gtk-2.0/gtkrc new file mode 100644 index 0000000..90a5a6d --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: Bunsen-Blackish-Remix +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#292929\nselected_bg_color:#787878\nbase_color:#333333" # Background, base. +gtk-color-scheme = "fg_color:#d9d9d9\nselected_fg_color:#ffffff\ntext_color:#d9d9d9" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#292929\ntooltip_fg_color:#e6e6e6" # Tooltips. +gtk-color-scheme = "link_color:#4a90d9" # Hyperlinks +gtk-color-scheme = "panel_bg:#292929" # same as bg_color +gtk-color-scheme = "fm_color:#d9d9d9" # same as fg_color +gtk-color-scheme = "bg_color_dark:#292929\ntext_color_dark:#d9d9d9" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.02, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = @bg_color + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = @selected_bg_color + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + bg[NORMAL] = shade (1.02, @bg_color) + bg[PRELIGHT] = shade (1.09, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = shade (0.5, @selected_bg_color) + bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = @bg_color + bg[INSENSITIVE] = @bg_color + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = @bg_color # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/resize_grip.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/resize_grip.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-2.0/xfsmlogout.png b/themes/Bunsen-Blackish-Remix/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-2.0/xfsmlogout.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile b/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile.lock b/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/README b/themes/Bunsen-Blackish-Remix/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors-public.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors.scss new file mode 100644 index 0000000..3a63d65 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #333333, #292929); +$text_color: if($variant == 'light', #d9d9d9, white); +$bg_color: if($variant == 'light', #292929, #393f3f); +$fg_color: if($variant == 'light', #d9d9d9, #eeeeec); + +$selected_fg_color: #ffffff; +$selected_bg_color: if($variant == 'light', #787878, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_common.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_drawing.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_gnome-apps.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_unity.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/_xfce.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/granite-widgets.css b/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.svg b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.svg b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-selectionmode.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.svg b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-checked.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator-vertical.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/resize-grip.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-active.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize.png b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/Bunsen-Blackish-Remix/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.css b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..af36a68 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(217, 217, 217, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #787878; } + +/*************** + * Base States * + ***************/ +.background { + color: #d9d9d9; + background-color: #292929; } + .background:backdrop { + color: #818181; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #d9d9d9; + background-color: #292929; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #d9d9d9; + background-color: #434343; } + .gtkstyle-fallback:active { + color: #d9d9d9; + background-color: #101010; } + .gtkstyle-fallback:disabled { + color: #818181; + background-color: #2d2d2d; } + .gtkstyle-fallback:selected { + color: #ffffff; + background-color: #787878; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #d9d9d9; + background-color: #333333; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #b7b7b7; + background-color: #303030; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #2e2e2e; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #5f5f5f; + background-color: rgba(95, 95, 95, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #d9d9d9; } + label.separator:backdrop { + color: #818181; } +label selection { + background-color: #787878; + color: #ffffff; } +label:disabled { + color: #818181; } + label:disabled:backdrop { + color: #030303; } +label:backdrop { + color: #818181; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #333333; + border-top: 1px solid black; } + assistant .sidebar:backdrop { + background-color: #303030; + border-color: #040404; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #4c4c4c; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #d9d9d9; + border-color: black; + background-color: #333333; + box-shadow: inset 0 0 0 1px rgba(120, 120, 120, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #787878; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #818181; + border-color: black; + background-color: #2d2d2d; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #b7b7b7; + border-color: #040404; + background-color: #303030; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #030303; + border-color: #040404; + background-color: #2d2d2d; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #b8b8b8; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #d9d9d9; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #787878; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #717171; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #787878; + box-shadow: inset 0 0 0 1px #787878; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #787878; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #787878; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #787878; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #787878; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #787878; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #242424; + background-color: #333333; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #232323; + background-color: #303030; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #242424; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #787878; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #787878; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #787878; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #787878; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #333333; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #333333; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #787878; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#787878), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#787878), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#292929, 1.02), 1.05), shade(shade(#292929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#292929, 1.15), shade(#292929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#292929, 0.85), 1.05), shade(shade(#292929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #818181; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #040404; + background-color: #1c1c1c; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #818181; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #030303; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #040404; + background-color: #202020; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #030303; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #818181; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: black; + background-image: linear-gradient(to bottom, #292929, #2d2d2d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #818181; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #787878; + border-color: #787878; + box-shadow: inset 0 0 0 1px #787878; } +row:selected +button { + border-color: #2c2c2c; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #ffffff; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #303030; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#787878, 1.02), 1.05), shade(shade(#787878, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #787878; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(#787878, 1.15), shade(#787878, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(shade(#787878, 0.85), 1.05), shade(shade(#787878, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #787878; + background-color: #787878; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #e4e4e4; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #5f5f5f; + background-color: #5f5f5f; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dfdfdf; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #030303; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #616161; + background-color: #616161; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #989898; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(120, 120, 120, 0.8); } + button.suggested-action:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #818181; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #383838; + background-image: linear-gradient(to bottom, #5d5d5d, #616161); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: silver; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(120, 120, 120, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(120, 120, 120, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #787878; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(120, 120, 120, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #030303; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #be2727; + background-color: #be2727; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #d57373; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #818181; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #b92424, #be2727); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #e5a9a9; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#787878), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(0, 0, 0, 0.87137)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#292929, 1.02), 1.05), shade(shade(#292929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + .inline-toolbar toolbutton > button:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#292929, 1.15), shade(#292929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#292929, 0.85), 1.05), shade(shade(#292929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #818181; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: black; + background-image: linear-gradient(to bottom, #292929, #2d2d2d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #818181; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #818181; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #040404; + background-color: #1c1c1c; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #818181; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #030303; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #040404; + background-color: #202020; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #030303; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #787878; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(0, 0, 0, 0.87137); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #454545; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #c9c9c9; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #f2f2f2; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #e4e4e4; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #787878; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #e4e4e4; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #c8c8c8; + background-image: none; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #d9d9d9; + background-color: rgba(217, 217, 217, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(129, 129, 129, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #797979; + background-color: transparent; + border-color: rgba(4, 4, 4, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(3, 3, 3, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #818181; } +spinbutton.vertical:backdrop:disabled { + color: #030303; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #292929; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: black; + background-color: #1d1d1d; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #040404; + background-color: #1c1c1c; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: black; + border-radius: 0; + background: #292929 linear-gradient(to bottom, #292929, shade(#292929, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #040404; + background-color: #292929; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #ffffff; + text-shadow: none; + border-color: #2c2c2c; + background: #787878 linear-gradient(to bottom, #787878, shade(#787878, 0.88)); + box-shadow: inset 0 1px rgba(174, 174, 174, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #787878; + background-image: none; + box-shadow: inset 0 1px rgba(188, 188, 188, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#787878, 1.02), 1.05), shade(shade(#787878, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(#787878, 1.15), shade(#787878, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(shade(#787878, 0.85), 1.05), shade(shade(#787878, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #787878; + background-color: #787878; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #e4e4e4; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #5f5f5f; + background-color: #5f5f5f; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #dfdfdf; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #6e6e6e; + background-color: #6e6e6e; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #a1a1a1; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #616161; + background-color: #616161; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #989898; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #383838; + background-color: #6e6e6e; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #b7b7b7; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #383838; + background-image: linear-gradient(to bottom, #5d5d5d, #616161); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: silver; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#292929, 1.02), 1.05), shade(shade(#292929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#292929, 1.15), shade(#292929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#292929, 0.85), 1.05), shade(shade(#292929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #818181; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #818181; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #2c2c2c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #030303; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(120, 120, 120, 0); + background-color: rgba(120, 120, 120, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(255, 255, 255, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: black; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #868686; + border-top-color: #292929; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #bcbcbc; + border-top-color: rgba(217, 217, 217, 0.1); } + treeview.view:disabled { + color: #818181; } + treeview.view:disabled:selected { + color: #aeaeae; } + treeview.view:disabled:selected:backdrop { + color: #626262; } + treeview.view:disabled:backdrop { + color: #030303; } + treeview.view.separator { + min-height: 2px; + color: #292929; } + treeview.view.separator:backdrop { + color: rgba(41, 41, 41, 0.1); } + treeview.view:backdrop { + border-left-color: #555555; + border-top: #292929; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #2c2c2c; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #a7a7a7; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #d9d9d9; } + treeview.view.expander:selected { + color: #d7d7d7; } + treeview.view.expander:selected:hover { + color: #ffffff; } + treeview.view.expander:selected:backdrop { + color: #464646; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: dimgray; } + treeview.view.progressbar { + color: #333333; + border: 1px solid #2c2c2c; + border-radius: 4px; + background-color: #787878; + background-image: linear-gradient(to bottom, #787878, #5f5f5f); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #787878; + box-shadow: none; + background-image: linear-gradient(to bottom, #333333, #1a1a1a); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #787878; + border-color: #2c2c2c; + background-color: #303030; } + treeview.view.progressbar:backdrop { + color: #303030; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(217, 217, 217, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(255, 255, 255, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #787878; } + treeview.view header button { + color: #868686; + background-color: #333333; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #b0b0b0; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #d9d9d9; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #787878; + color: #333333; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #333333; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #787878; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #292929; } + treeview.view header button:disabled { + border-color: #292929; + background-image: none; } + treeview.view header button:backdrop { + border-color: #292929; + border-style: none solid solid none; + color: #555555; + background-image: none; + background-color: #303030; } + treeview.view header button:backdrop:disabled { + border-color: #292929; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #292929; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#787878, 1.2), shade(#787878, 1)); + color: #ffffff; + border-color: shade(#787878, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #818181; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #3d3d3d; + border: 1px solid black; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #303030; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #ffffff; + background-image: linear-gradient(to bottom, shade(#787878, 1.2), shade(#787878, 1)); + box-shadow: inset 1px 1px shade(#787878, 0.8), inset -1px -1px shade(#787878, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #818181; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #030303; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #818181; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #3d3d3d; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #444444; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #444444; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #444444; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #303030; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #575757; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #ffffff; } + .csd popover.background, popover.background { + border: 1px solid black; } + popover.background:backdrop { + background-color: #292929; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #292929; } + notebook > header:backdrop { + border-color: #040404; + background-color: #292929; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#292929, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #818181; + background-color: #292929; + border-width: 1px; + border-radius: 3px; + border-color: shade(#292929, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #adadad; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(0, 0, 0, 0.3); + background-color: rgba(41, 41, 41, 0.2); } + notebook > header tab:backdrop { + color: #5e5e5e; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #d9d9d9; + background-color: shade(#292929, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #292929; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(0, 0, 0, 0.5); + background-color: shade(#292929, 1.05); } + notebook > header tab:backdrop:checked { + color: #818181; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #040404; + background-color: #292929; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#292929, 1.05); + border: 1px solid shade(#292929, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #292929; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #292929, #292929); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #363636; } + scrollbar.bottom { + border-top: 1px solid #363636; } + scrollbar.left { + border-right: 1px solid #363636; } + scrollbar.right { + border-left: 1px solid #363636; } + scrollbar:backdrop { + background-color: #212121; + border-color: #363636; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid black; + border-radius: 0px; + background-clip: padding-box; + background-color: dimgray; } + scrollbar slider:hover { + background-color: #595959; } + scrollbar slider:hover:active { + background-color: #595959; } + scrollbar slider:backdrop { + background-color: #c2c2c2; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#d9d9d9, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#d9d9d9, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: dimgray; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #595959; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #595959; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(105, 105, 105, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #c2c2c2; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(194, 194, 194, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid black; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #191919; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#2c2c2c, 1.1); + background-image: linear-gradient(to bottom, shade(#787878, 1.1), #787878); + text-shadow: 0 1px rgba(44, 44, 44, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: black; + background-color: #2d2d2d; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #040404; + background-color: #1c1c1c; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #292929; + border-color: #787878; + background-color: #787878; + box-shadow: none; } + switch:disabled { + border-color: #040404; + background-image: none; + background-color: #2d2d2d; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #363636 20%, #292929 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #2e2e2e, inset 0 -1px #0a0a0a, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #404040 10%, #333333 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #363636, inset 0 -1px #101010, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#2c2c2c,0.8); } + switch:disabled slider { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #818181; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #818181; } + switch:backdrop:checked slider { + border-color: #787878; } + switch:backdrop:disabled slider { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #030303; } + row:selected switch { + box-shadow: none; + border-color: #2c2c2c; } + row:selected switch:backdrop { + border-color: #2c2c2c; } + row:selected switch.slider:dir(rtl) { + border-left-color: black; } + row:selected switch.slider:dir(ltr) { + border-right-color: black; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #2c2c2c; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #363636 20%, #292929 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #2e2e2e, inset 0 -1px #0a0a0a, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #404040 10%, #333333 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #363636, inset 0 -1px #101010, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#292929, 0.85), 1.05), shade(shade(#292929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #818181; } + check:backdrop, + radio:backdrop { + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #818181; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #030303; } + row:selected check, row:selected + radio { + border-color: #2c2c2c; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #d9d9d9; + border-color: #2c2c2c; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #818181; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #030303; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #818181; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid black; + border-radius: 3px; + background-color: #1b1b1b; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #2d2d2d; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #1c1c1c; + border-color: #040404; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #2d2d2d; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #2c2c2c; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#787878, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#787878, 1.1), shade(#787878, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #787878; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #2c2c2c; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: black; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#292929, 1.02), 1.05), shade(shade(#292929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + background-image: linear-gradient(to bottom, shade(#292929, 1.45), shade(#292929, 1.15)); + border: 1px solid black; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #404040 10%, #333333 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #363636, inset 0 -1px #101010, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #2c2c2c; } + scale slider:disabled { + border-color: black; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #818181; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #818181; } + scale slider:backdrop:disabled { + border-color: #040404; + background-color: #2d2d2d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #030303; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #2c2c2c; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(black); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(217, 217, 217, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#787878, 0.7), inset -1px -1px shade(#787878, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #d9d9d9; + border-color: black; + background-color: #333333; + box-shadow: inset 0 0 0 1px rgba(120, 120, 120, 0); } + levelbar trough:backdrop { + color: #b7b7b7; + border-color: #040404; + background-color: #303030; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #454545; + background-color: #787878; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #787878; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(217, 217, 217, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(129, 129, 129, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #d9d9d9; + border: 1px solid black; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #818181; + border-color: #040404; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid black; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #040404; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid black; } + actionbar > revealer > box:backdrop { + border-color: #040404; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(black), to(transparent)), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(217, 217, 217, 0.07)), to(rgba(217, 217, 217, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#040404), to(rgba(4, 4, 4, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(black), to(transparent)), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(217, 217, 217, 0.07)), to(rgba(217, 217, 217, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#040404), to(rgba(4, 4, 4, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(black), to(transparent)), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(217, 217, 217, 0.07)), to(rgba(217, 217, 217, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#040404), to(rgba(4, 4, 4, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(black), to(transparent)), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(217, 217, 217, 0.07)), to(rgba(217, 217, 217, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#040404), to(rgba(4, 4, 4, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, black 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: dimgray; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #040404 1px, transparent 1px); + background-color: #212121; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #d9d9d9; + background-color: #333333; + border-color: black; } + list:backdrop { + background-color: #303030; + border-color: #040404; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(217, 217, 217, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #828282; } + row.activatable:selected:backdrop { + background-color: #787878; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: white; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #d9d9d9; + border: 1px solid black; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(217, 217, 217, 0.45); } + calendar.button:hover { + color: #d9d9d9; } + calendar.button:backdrop { + color: rgba(129, 129, 129, 0.45); } + calendar.button:disabled { + color: rgba(129, 129, 129, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #d9d9d9; } + calendar:backdrop { + color: #b7b7b7; + border-color: #040404; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #292929; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid black; } + filechooser .dialog-action-box:backdrop { + border-top-color: #040404; } +filechooser #pathbarbox { + border-bottom: 1px solid #292929; } + filechooser #pathbarbox stack { + background-color: #292929; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #333333; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#333333, 0.87), shade(#333333, 0.95) 10%, shade(#333333, 0.99) 92%, shade(#333333, 0.92)); + box-shadow: 0 -1px shade(#292929, 0.85), 0 1px shade(#292929, 1.12); } + .sidebar row:selected label { + color: #d9d9d9; } + .sidebar row:selected label:backdrop { + color: #818181; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid black; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid black; + border-right-style: none; } + .sidebar:backdrop { + background-color: #2d2d2d; + border-color: #040404; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #d9d9d9; } + placessidebar row:disabled { + color: #818181; } + placessidebar row:backdrop { + color: #818181; + background-color: #292929; } + placessidebar row:backdrop:selected { + color: #818181; } + placessidebar row:backdrop:disabled { + color: #030303; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#787878); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #787878; } + placessidebar row:drop(active):not(:disabled) { + color: #787878; + box-shadow: inset 0 1px #787878, inset 0 -1px #787878; } + placessidebar row:drop(active):not(:disabled):selected { + color: #ffffff; + background-image: linear-gradient(to bottom, #b0b0b0, #c4c4c4 10%, #cecece 92%, #bdbdbd); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(black); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#787878); } + paned > separator:backdrop { + background-image: image(#040404); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #292929; + background-image: image(black), image(black); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #292929; + background-image: image(#040404), image(#040404); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #5f5f5f; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #787878; + border-color: #5f5f5f; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #ffffff; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#787878, 1.02), 1.05), shade(shade(#787878, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); + border-color: #454545; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(#787878, 1.15), shade(#787878, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #383838; + background-image: linear-gradient(to bottom, shade(shade(#787878, 0.85), 1.05), shade(shade(#787878, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #383838; + background-color: #6e6e6e; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #b7b7b7; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #787878; + background-color: #787878; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #383838; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #e4e4e4; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #6e6e6e; + background-color: #6e6e6e; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #383838; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #a1a1a1; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #5f5f5f; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #292929; + background-clip: padding-box; + border: 1px solid #1c1c1c; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #d9d9d9; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #ffffff; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #303030; } +colorswatch.light overlay { + color: #d9d9d9; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #b7b7b7; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #787878; + box-shadow: inset 0 0 0 2px #666666, inset 0 0 0 1px #787878; } + colorswatch:drop(active).dark overlay { + border-color: #787878; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #787878; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-top-color: shade(#292929, 0.8); + border-right-color: shade(#292929, 0.72); + border-left-color: shade(#292929, 0.72); + border-bottom-color: shade(#292929, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#292929, 1.02), 1.05), shade(shade(#292929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + colorswatch#add-color-button overlay:hover { + color: #d9d9d9; + outline-color: rgba(217, 217, 217, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#292929, 1.15), shade(#292929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + colorswatch#add-color-button overlay:backdrop { + border-color: #040404; + background-color: #292929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #818181; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #ffffff; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #171717; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #171717; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(217, 217, 217, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #292929; + border: solid 1px #040404; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.87137); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.87137); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.62353); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.62353); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #787878; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #bcbcbc; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #303030; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #626262; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #d9d9d9; + background-color: #333333; + border: 1px solid; + border-color: #151515; + border-radius: 5px; + box-shadow: inset 0 -3px #2b2b2b; + font-size: smaller; } + .keycap:backdrop { + background-color: #303030; + color: #818181; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #787878; + box-shadow: inset 0 0 0 1px #787878; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #d9d9d9; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #d9d9d9; +/* +widget base background color */ +@define-color theme_bg_color #292929; +/* +text widgets and the like base background color */ +@define-color theme_base_color #333333; +/* +base background color of selections */ +@define-color theme_selected_bg_color #787878; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #ffffff; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #2d2d2d; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #818181; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #333333; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #818181; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #d9d9d9; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #292929; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #303030; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #787878; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #ffffff; +/* +widgets main borders color */ +@define-color borders black; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #040404; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#d9d9d9, 1.8); +@define-color wm_unfocused_title #818181; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#292929, 1.2); +@define-color wm_bg_b #292929; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#292929, 1.3); +@define-color wm_button_hover_color_b #292929; +@define-color wm_button_active_color_a shade(#292929, 0.85); +@define-color wm_button_active_color_b shade(#292929, 0.89); +@define-color wm_button_active_color_c shade(#292929, 0.9); +@define-color content_view_bg #333333; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#292929, 1.18); + color: #d9d9d9; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#292929, 0.35); + color: #d9d9d9; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #d9d9d9; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#292929, 0.7); + border-color: shade(#292929, 0.6); + color: #d9d9d9; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#787878, 0.6); + background-image: linear-gradient(to bottom, shade(#787878, 0.88), shade(#787878, 0.85)); + color: #d9d9d9; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#292929, 0.3); + color: #d9d9d9; + border-color: shade(#292929, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#d9d9d9, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #d9d9d9; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#292929, 0.65), shade(#292929, 1.25)); + border: 1px solid shade(#292929, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #292929; + color: #d9d9d9; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #292929; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #333333; + color: #d9d9d9; + box-shadow: inset 1px 0 shade(#333333, 0.6), inset -1px 0 shade(#333333, 0.6), inset 0 1px shade(#333333, 0.6), inset 0 -1px shade(#333333, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#787878, 0.8); + background-image: linear-gradient(to bottom, shade(#787878, 1.02), shade(#787878, 0.95) 90%, shade(#787878, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#787878, 0.7); + background-image: linear-gradient(to bottom, shade(#787878, 1.12), shade(#787878, 1.05) 90%, shade(#787878, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #d9d9d9; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #d9d9d9; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#333333, 0.75), inset -1px 0 shade(#333333, 0.75), inset 0 1px shade(#333333, 0.55), inset 0 -1px shade(#333333, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#333333, 0.9), shade(#333333, 0.98) 10%, shade(#333333, 1) 99%, shade(#333333, 1)); + box-shadow: inset 0 1px shade(#333333, 0.8), inset 0 -1px shade(#333333, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#292929, 0.85), shade(#292929, 0.98) 10%, shade(#292929, 1) 99%, shade(#292929, 1)); + box-shadow: inset 1px 0 shade(#333333, 0.6), inset -1px 0 shade(#333333, 0.6), inset 0 1px shade(#333333, 0.6), inset 0 -1px shade(#333333, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #333333; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #333333; } + +/* Floating status bar */ +.floating-bar { + background-color: #333333; + border-style: solid; + border-color: black; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #292929; + border-color: #040404; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #292929; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #333333; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #787878; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #787878; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#292929, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#292929, 1.07), #292929); + color: #d9d9d9; + text-shadow: 0 1px shade(#292929, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#292929, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#292929, 1.02), #292929); + color: #d9d9d9; + text-shadow: 0 1px shade(#292929, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#292929, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#292929, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#292929, 1); + background-color: shade(#292929, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #d9d9d9; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#292929, 0.8); + background-color: shade(#292929, 0.75); + color: #d9d9d9; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #d9d9d9; } diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.scss b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.css b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.gresource.xml b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/parse-sass.sh b/themes/Bunsen-Blackish-Remix/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/Bunsen-Blackish-Remix/gtk-3.0/settings.ini b/themes/Bunsen-Blackish-Remix/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/Bunsen-Blackish-Remix/index.theme b/themes/Bunsen-Blackish-Remix/index.theme new file mode 100644 index 0000000..beaa073 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Bunsen-Blackish-Remix +Comment=Greybird-based theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Bunsen-Blackish-Remix +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/bullet.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/close.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/desk.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/desk_toggled.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/iconify.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/max.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/max_toggled.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/shade.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/shade_toggled.xbm b/themes/Bunsen-Blackish-Remix/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-Blackish-Remix/openbox-3/themerc b/themes/Bunsen-Blackish-Remix/openbox-3/themerc new file mode 100644 index 0000000..bb54e0c --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/openbox-3/themerc @@ -0,0 +1,93 @@ +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #292929 +menu.title.bg.colorTo: #292929 +menu.title.text.color: #cbcbcb +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #292929 +menu.items.text.color: #cbcbcb +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #787878 +menu.items.active.bg.colorTo:#787878 +menu.items.active.text.color: #ffffff +menu.bullet.selected.image.color: #ffffff + +menu.separator.color: #a6a6a6 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #292929 +window.active.title.bg.colorTo: #292929 +window.active.title.separator.color: #292929 + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #292929 +window.active.handle.bg.colorTo: #292929 + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #cbcbcb + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #cbcbcb +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #666666 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #333333 +window.inactive.title.bg.colorTo: #333333 +window.inactive.title.separator.color: #333333 + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #333333 +window.inactive.handle.bg.colorTo: #333333 + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #ffffff +window.inactive.button.*.pressed.image.color: #666666 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings + +window.active.border.color: #292929 +window.inactive.border.color: #333333 + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #292929 +osd.bg.colorTo: #292929 +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #787878 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #4C4C4C +osd.label.text.color: #cbcbcb + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtk.css b/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..eade09c --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtk.css @@ -0,0 +1,54 @@ +#XfceNotifyWindow { + background-color: #292929; + border-radius: 1px; + border: 1px solid #292929; + padding: 20px; +} + +#XfceNotifyWindow:hover { + background-color: shade(#292929, 1.0); + border: 1px solid #bfbfbf; +} + +#XfceNotifyWindow label, +#XfceNotifyWindow image { + color: #d9d9d9; +} + +#XfceNotifyWindow label#summary { + font-weight: Bold; +} + +#XfceNotifyWindow button { + font-weight: Bold; + border: 1px solid shade(#292929, .80); + box-shadow: none; + background-image: none; + background-color: shade(#292929, 1.2); + color: #d9d9d9; +} + +#XfceNotifyWindow button:hover { + box-shadow: none; + background-image: none; + background-color: shade(#292929, 1.4); + color: #ffffff; +} + +#XfceNotifyWindow progressbar { + min-height: 10px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #4a4a4a; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#808080, 1.0), + shade(#808080, 1.0) + ); + border: 1px solid shade(#808080, 0.8); + border-radius: 3px; +} diff --git a/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtkrc b/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..e567314 --- /dev/null +++ b/themes/Bunsen-Blackish-Remix/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#292929" + XfceNotifyWindow::border-color = "#292929" + XfceNotifyWindow::border-color-hover = "#bfbfbf" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 2.0 + XfceNotifyWindow::border-width-hover = 2.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#2a2a2a" + bg[PRELIGHT] = "#303030" + fg[NORMAL] = "#d9d9d9" + fg[PRELIGHT] = "#ffffff" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#d9d9d9" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#808080" + bg[ACTIVE] = "#4a4a4a" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/Bunsen-He/LICENSE.CC b/themes/Bunsen-He/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/Bunsen-He/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/Bunsen-He/LICENSE.GPL b/themes/Bunsen-He/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/Bunsen-He/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/Bunsen-He/README b/themes/Bunsen-He/README new file mode 100644 index 0000000..4e7432d --- /dev/null +++ b/themes/Bunsen-He/README @@ -0,0 +1,2 @@ +# Bunsen-He by hhh (hsumen@bunsenlabs.org) + diff --git a/themes/Bunsen-He/gtk-2.0/apps/chromium.rc b/themes/Bunsen-He/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/Bunsen-He/gtk-2.0/apps/claws-mail.rc b/themes/Bunsen-He/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/Bunsen-He/gtk-2.0/apps/gmusicbrowser.rc b/themes/Bunsen-He/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/Bunsen-He/gtk-2.0/apps/terminal.rc b/themes/Bunsen-He/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/Bunsen-He/gtk-2.0/apps/thunar.rc b/themes/Bunsen-He/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/Bunsen-He/gtk-2.0/apps/thunar/sidebar_active.png b/themes/Bunsen-He/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/Bunsen-He/gtk-2.0/apps/xfce-panel.rc b/themes/Bunsen-He/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/Bunsen-He/gtk-2.0/gtkrc b/themes/Bunsen-He/gtk-2.0/gtkrc new file mode 100644 index 0000000..c2f51b5 --- /dev/null +++ b/themes/Bunsen-He/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: Bunsen-He +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#CECECE\nselected_bg_color:#ABABAB\nbase_color:#e6e6e6" # Background, base. +gtk-color-scheme = "fg_color:#101010\nselected_fg_color:#000000\ntext_color:#101010" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#CECECE\ntooltip_fg_color:#101010" # Tooltips. +gtk-color-scheme = "link_color:#4a90d9" # Hyperlinks +gtk-color-scheme = "panel_bg:#CECECE" # same as bg_color +gtk-color-scheme = "fm_color:#101010" # same as fg_color +gtk-color-scheme = "bg_color_dark:#CECECE\ntext_color_dark:#101010" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.1, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = @bg_color + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + # default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = shade (0.3,@selected_bg_color) + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 1 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + # bg[NORMAL] = shade (1.02, @bg_color) + # bg[PRELIGHT] = shade (1.09, @bg_color) + # bg[ACTIVE] = shade (0.85, @bg_color) + # bg[SELECTED] = shade (0.5, @selected_bg_color) + # bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = @bg_color + bg[INSENSITIVE] = @bg_color + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = @bg_color # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/Bunsen-He/gtk-2.0/resize_grip.png b/themes/Bunsen-He/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/resize_grip.png differ diff --git a/themes/Bunsen-He/gtk-2.0/xfsmlogout.png b/themes/Bunsen-He/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/Bunsen-He/gtk-2.0/xfsmlogout.png differ diff --git a/themes/Bunsen-He/gtk-3.0/Gemfile b/themes/Bunsen-He/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/Bunsen-He/gtk-3.0/Gemfile.lock b/themes/Bunsen-He/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/Bunsen-He/gtk-3.0/README b/themes/Bunsen-He/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/Bunsen-He/gtk-3.0/_colors-public.scss b/themes/Bunsen-He/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/Bunsen-He/gtk-3.0/_colors.scss b/themes/Bunsen-He/gtk-3.0/_colors.scss new file mode 100644 index 0000000..d0f220e --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #e6e6e6, #292929); +$text_color: if($variant == 'light', #101010, white); +$bg_color: if($variant == 'light', #CECECE, #393f3f); +$fg_color: if($variant == 'light', #101010, #eeeeec); + +$selected_fg_color: #000000; +$selected_bg_color: if($variant == 'light', #ABABAB, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', $bg_color, mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/Bunsen-He/gtk-3.0/_common.scss b/themes/Bunsen-He/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/Bunsen-He/gtk-3.0/_drawing.scss b/themes/Bunsen-He/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/Bunsen-He/gtk-3.0/_gnome-apps.scss b/themes/Bunsen-He/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/Bunsen-He/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/Bunsen-He/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/Bunsen-He/gtk-3.0/_unity.scss b/themes/Bunsen-He/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/Bunsen-He/gtk-3.0/_xfce.scss b/themes/Bunsen-He/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/Bunsen-He/gtk-3.0/apps/granite-widgets.css b/themes/Bunsen-He/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/Bunsen-He/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/Bunsen-He/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.svg b/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.svg b/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-selectionmode.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.svg b/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/grid-selection-checked.png b/themes/Bunsen-He/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Bunsen-He/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/pane-separator-vertical.png b/themes/Bunsen-He/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/pane-separator.png b/themes/Bunsen-He/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-hover.png b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-mixed.png b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-selected-hover.png b/themes/Bunsen-He/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-selected-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-selected.png b/themes/Bunsen-He/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/Bunsen-He/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/radio-unselected.png b/themes/Bunsen-He/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/resize-grip.png b/themes/Bunsen-He/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-active.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-hover.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize.png b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/Bunsen-He/gtk-3.0/gtk-contained.css b/themes/Bunsen-He/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..cafac85 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(16, 16, 16, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #ABABAB; } + +/*************** + * Base States * + ***************/ +.background { + color: #101010; + background-color: #CECECE; } + .background:backdrop { + color: #6f6f6f; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #101010; + background-color: #CECECE; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #101010; + background-color: #e8e8e8; } + .gtkstyle-fallback:active { + color: #101010; + background-color: #b5b5b5; } + .gtkstyle-fallback:disabled { + color: #6f6f6f; + background-color: #d8d8d8; } + .gtkstyle-fallback:selected { + color: #000000; + background-color: #ABABAB; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #101010; + background-color: #e6e6e6; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #3a3a3a; + background-color: #e3e3e3; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #dadada; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #929292; + background-color: rgba(146, 146, 146, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #101010; } + label.separator:backdrop { + color: #6f6f6f; } +label selection { + background-color: #ABABAB; + color: #000000; } +label:disabled { + color: #6f6f6f; } + label:disabled:backdrop { + color: #a8a8a8; } +label:backdrop { + color: #6f6f6f; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #e6e6e6; + border-top: 1px solid #828282; } + assistant .sidebar:backdrop { + background-color: #e3e3e3; + border-color: #8a8a8a; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #a8a8a8; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #101010; + border-color: #828282; + background-color: #e6e6e6; + box-shadow: inset 0 0 0 1px rgba(171, 171, 171, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #ABABAB; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #6f6f6f; + border-color: #828282; + background-color: #d8d8d8; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #3a3a3a; + border-color: #8a8a8a; + background-color: #e3e3e3; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #a8a8a8; + border-color: #8a8a8a; + background-color: #d8d8d8; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #3b3b3b; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #101010; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #ABABAB; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #868686; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #ABABAB; + box-shadow: inset 0 0 0 1px #ABABAB; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #ABABAB; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #ABABAB; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #ABABAB; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #ABABAB; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #ABABAB; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #c8c8c8; + background-color: #e6e6e6; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #c8c8c8; + background-color: #e3e3e3; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #c8c8c8; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #ABABAB; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #ABABAB; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #ABABAB; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #ABABAB; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #e6e6e6; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #e6e6e6; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #ABABAB; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#ABABAB), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#ABABAB), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #6f6f6f; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #6f6f6f; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #a8a8a8; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #8a8a8a; + background-color: #cbcbcb; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #a8a8a8; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #6f6f6f; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: #828282; + background-image: linear-gradient(to bottom, #cfcfcf, #d8d8d8); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #6f6f6f; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #ABABAB; + border-color: #ABABAB; + box-shadow: inset 0 0 0 1px #ABABAB; } +row:selected +button { + border-color: #5f5f5f; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #000000; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #e3e3e3; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 1.02), 1.05), shade(shade(#ABABAB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ABABAB; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.15), shade(#ABABAB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 0.85), 1.05), shade(shade(#ABABAB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #ABABAB; + background-color: #ABABAB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #eeeeee; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #929292; + background-color: #929292; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #e9e9e9; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #a8a8a8; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #a7a7a7; + background-color: #a7a7a7; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #c6c6c6; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(171, 171, 171, 0.8); } + button.suggested-action:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #6f6f6f; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, #a1a1a1, #a7a7a7); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: gainsboro; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(171, 171, 171, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(171, 171, 171, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ABABAB; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(171, 171, 171, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #a8a8a8; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #ec2e2e; + background-color: #ec2e2e; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #f37777; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #6f6f6f; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #e32b2b, #ec2e2e); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #f7abab; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#ABABAB), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.76923)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #6f6f6f; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: #828282; + background-image: linear-gradient(to bottom, #cfcfcf, #d8d8d8); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #6f6f6f; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #6f6f6f; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #6f6f6f; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #a8a8a8; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #8a8a8a; + background-color: #cbcbcb; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #a8a8a8; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #ABABAB; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #787878; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #444444; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #111111; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #222222; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #ABABAB; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #222222; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #252525; + background-image: none; + border-style: none none none solid; + border-color: rgba(130, 130, 130, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #101010; + background-color: rgba(16, 16, 16, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(111, 111, 111, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #7b7b7b; + background-color: transparent; + border-color: rgba(138, 138, 138, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(168, 168, 168, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #6f6f6f; } +spinbutton.vertical:backdrop:disabled { + color: #a8a8a8; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #CECECE; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: #828282; + background-color: #b7b7b7; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: #828282; + border-radius: 0; + background: #CECECE linear-gradient(to bottom, #CECECE, shade(#CECECE, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #000000; + text-shadow: none; + border-color: #5f5f5f; + background: #ABABAB linear-gradient(to bottom, #ABABAB, shade(#ABABAB, 0.88)); + box-shadow: inset 0 1px rgba(205, 205, 205, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #ABABAB; + background-image: none; + box-shadow: inset 0 1px rgba(213, 213, 213, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 1.02), 1.05), shade(shade(#ABABAB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.15), shade(#ABABAB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 0.85), 1.05), shade(shade(#ABABAB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #ABABAB; + background-color: #ABABAB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #222222; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #929292; + background-color: #929292; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #1d1d1d; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #b4b4b4; + background-color: #b4b4b4; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #757575; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #a7a7a7; + background-color: #a7a7a7; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #6d6d6d; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #6b6b6b; + background-color: #b4b4b4; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #5a5a5a; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, #a1a1a1, #a7a7a7); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #434343; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #6f6f6f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #6f6f6f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #5f5f5f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #a8a8a8; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(171, 171, 171, 0); + background-color: rgba(171, 171, 171, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: #828282; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #7b7b7b; + border-top-color: #CECECE; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #565656; + border-top-color: rgba(16, 16, 16, 0.1); } + treeview.view:disabled { + color: #6f6f6f; } + treeview.view:disabled:selected { + color: #676767; } + treeview.view:disabled:selected:backdrop { + color: #bcbcbc; } + treeview.view:disabled:backdrop { + color: #a8a8a8; } + treeview.view.separator { + min-height: 2px; + color: #CECECE; } + treeview.view.separator:backdrop { + color: rgba(206, 206, 206, 0.1); } + treeview.view:backdrop { + border-left-color: #9f9f9f; + border-top: #CECECE; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #5f5f5f; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #505050; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #101010; } + treeview.view.expander:selected { + color: #333333; } + treeview.view.expander:selected:hover { + color: #000000; } + treeview.view.expander:selected:backdrop { + color: #d2d2d2; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #929292; } + treeview.view.progressbar { + color: #e6e6e6; + border: 1px solid #5f5f5f; + border-radius: 4px; + background-color: #ABABAB; + background-image: linear-gradient(to bottom, #ABABAB, #929292); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #ABABAB; + box-shadow: none; + background-image: linear-gradient(to bottom, #e6e6e6, #cdcdcd); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #ABABAB; + border-color: #5f5f5f; + background-color: #e3e3e3; } + treeview.view.progressbar:backdrop { + color: #e3e3e3; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(16, 16, 16, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #ABABAB; } + treeview.view header button { + color: #7b7b7b; + background-color: #e6e6e6; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #464646; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #101010; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #ABABAB; + color: #e6e6e6; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #e6e6e6; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #ABABAB; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #CECECE; } + treeview.view header button:disabled { + border-color: #CECECE; + background-image: none; } + treeview.view header button:backdrop { + border-color: #CECECE; + border-style: none solid solid none; + color: #9f9f9f; + background-image: none; + background-color: #e3e3e3; } + treeview.view header button:backdrop:disabled { + border-color: #CECECE; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #CECECE; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.2), shade(#ABABAB, 1)); + color: #000000; + border-color: shade(#ABABAB, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #6f6f6f; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #CECECE; + border: 1px solid #828282; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #e3e3e3; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #000000; + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.2), shade(#ABABAB, 1)); + box-shadow: inset 1px 1px shade(#ABABAB, 0.8), inset -1px -1px shade(#ABABAB, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #6f6f6f; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #a8a8a8; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #6f6f6f; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #CECECE; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #d1d1d1; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #d1d1d1; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #d1d1d1; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #e3e3e3; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #fcfcfc; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #000000; } + .csd popover.background, popover.background { + border: 1px solid #828282; } + popover.background:backdrop { + background-color: #CECECE; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #CECECE; } + notebook > header:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#CECECE, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #6f6f6f; + background-color: #CECECE; + border-width: 1px; + border-radius: 3px; + border-color: shade(#CECECE, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #404040; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(130, 130, 130, 0.3); + background-color: rgba(206, 206, 206, 0.2); } + notebook > header tab:backdrop { + color: #959595; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #101010; + background-color: shade(#CECECE, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #CECECE; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(130, 130, 130, 0.5); + background-color: shade(#CECECE, 1.05); } + notebook > header tab:backdrop:checked { + color: #6f6f6f; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #8a8a8a; + background-color: #CECECE; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#CECECE, 1.05); + border: 1px solid shade(#CECECE, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #CECECE; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #cecece, #cecece); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #dbdbdb; } + scrollbar.bottom { + border-top: 1px solid #dbdbdb; } + scrollbar.left { + border-right: 1px solid #dbdbdb; } + scrollbar.right { + border-left: 1px solid #dbdbdb; } + scrollbar:backdrop { + background-color: #c6c6c6; + border-color: #dbdbdb; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid #828282; + border-radius: 0px; + background-clip: padding-box; + background-color: #9c9c9c; } + scrollbar slider:hover { + background-color: #8c8c8c; } + scrollbar slider:hover:active { + background-color: #8c8c8c; } + scrollbar slider:backdrop { + background-color: whitesmoke; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#101010, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#101010, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #9c9c9c; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #8c8c8c; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #8c8c8c; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(156, 156, 156, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: whitesmoke; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(245, 245, 245, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid #828282; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #b0b0b0; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#5f5f5f, 1.1); + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.1), #ABABAB); + text-shadow: 0 1px rgba(95, 95, 95, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: #828282; + background-color: #d8d8d8; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #CECECE; + border-color: #ABABAB; + background-color: #ABABAB; + box-shadow: none; } + switch:disabled { + border-color: #8a8a8a; + background-image: none; + background-color: #d8d8d8; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #dbdbdb 20%, #CECECE 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px lightgray, inset 0 -1px #afafaf, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#5f5f5f,0.8); } + switch:disabled slider { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #6f6f6f; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #6f6f6f; } + switch:backdrop:checked slider { + border-color: #ABABAB; } + switch:backdrop:disabled slider { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #a8a8a8; } + row:selected switch { + box-shadow: none; + border-color: #5f5f5f; } + row:selected switch:backdrop { + border-color: #5f5f5f; } + row:selected switch.slider:dir(rtl) { + border-left-color: #828282; } + row:selected switch.slider:dir(ltr) { + border-right-color: #828282; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #5f5f5f; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #dbdbdb 20%, #CECECE 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px lightgray, inset 0 -1px #afafaf, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #6f6f6f; } + check:backdrop, + radio:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #6f6f6f; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #a8a8a8; } + row:selected check, row:selected + radio { + border-color: #5f5f5f; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #101010; + border-color: #5f5f5f; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #6f6f6f; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #a8a8a8; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #6f6f6f; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid #828282; + border-radius: 3px; + background-color: #b3b3b3; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #d8d8d8; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #b6b6b6; + border-color: #8a8a8a; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #d8d8d8; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #5f5f5f; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#ABABAB, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.1), shade(#ABABAB, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #ABABAB; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #5f5f5f; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: #828282; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + background-image: linear-gradient(to bottom, shade(#CECECE, 1.45), shade(#CECECE, 1.15)); + border: 1px solid #7a7a7a; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #5f5f5f; } + scale slider:disabled { + border-color: #828282; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #6f6f6f; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #6f6f6f; } + scale slider:backdrop:disabled { + border-color: #8a8a8a; + background-color: #d8d8d8; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #a8a8a8; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #5f5f5f; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(#828282); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(16, 16, 16, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#ABABAB, 0.7), inset -1px -1px shade(#ABABAB, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #101010; + border-color: #828282; + background-color: #e6e6e6; + box-shadow: inset 0 0 0 1px rgba(171, 171, 171, 0); } + levelbar trough:backdrop { + color: #3a3a3a; + border-color: #8a8a8a; + background-color: #e3e3e3; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #787878; + background-color: #ABABAB; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #ABABAB; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(16, 16, 16, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(111, 111, 111, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #101010; + border: 1px solid #828282; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #6f6f6f; + border-color: #8a8a8a; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid #828282; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #8a8a8a; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid #828282; } + actionbar > revealer > box:backdrop { + border-color: #8a8a8a; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(16, 16, 16, 0.07)), to(rgba(16, 16, 16, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(16, 16, 16, 0.07)), to(rgba(16, 16, 16, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(16, 16, 16, 0.07)), to(rgba(16, 16, 16, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(16, 16, 16, 0.07)), to(rgba(16, 16, 16, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, #828282 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #9c9c9c; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #8a8a8a 1px, transparent 1px); + background-color: #c6c6c6; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #101010; + background-color: #e6e6e6; + border-color: #828282; } + list:backdrop { + background-color: #e3e3e3; + border-color: #8a8a8a; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(16, 16, 16, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #9c9c9c; } + row.activatable:selected:backdrop { + background-color: #ABABAB; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: #5d5d5d; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #101010; + border: 1px solid #828282; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(16, 16, 16, 0.45); } + calendar.button:hover { + color: #101010; } + calendar.button:backdrop { + color: rgba(111, 111, 111, 0.45); } + calendar.button:disabled { + color: rgba(111, 111, 111, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #101010; } + calendar:backdrop { + color: #3a3a3a; + border-color: #8a8a8a; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #CECECE; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid #828282; } + filechooser .dialog-action-box:backdrop { + border-top-color: #8a8a8a; } +filechooser #pathbarbox { + border-bottom: 1px solid #CECECE; } + filechooser #pathbarbox stack { + background-color: #CECECE; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #e6e6e6; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#e6e6e6, 0.87), shade(#e6e6e6, 0.95) 10%, shade(#e6e6e6, 0.99) 92%, shade(#e6e6e6, 0.92)); + box-shadow: 0 -1px shade(#CECECE, 0.85), 0 1px shade(#CECECE, 1.12); } + .sidebar row:selected label { + color: #101010; } + .sidebar row:selected label:backdrop { + color: #6f6f6f; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid #828282; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid #828282; + border-right-style: none; } + .sidebar:backdrop { + background-color: #d9d9d9; + border-color: #8a8a8a; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #101010; } + placessidebar row:disabled { + color: #6f6f6f; } + placessidebar row:backdrop { + color: #6f6f6f; + background-color: #CECECE; } + placessidebar row:backdrop:selected { + color: #6f6f6f; } + placessidebar row:backdrop:disabled { + color: #a8a8a8; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#ABABAB); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #ABABAB; } + placessidebar row:drop(active):not(:disabled) { + color: #ABABAB; + box-shadow: inset 0 1px #ABABAB, inset 0 -1px #ABABAB; } + placessidebar row:drop(active):not(:disabled):selected { + color: #000000; + background-image: linear-gradient(to bottom, #dedede, #f2f2f2 10%, #fcfcfc 92%, #ebebeb); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(#828282); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#ABABAB); } + paned > separator:backdrop { + background-image: image(#8a8a8a); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #CECECE; + background-image: image(#828282), image(#828282); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #CECECE; + background-image: image(#8a8a8a), image(#8a8a8a); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #929292; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #ABABAB; + border-color: #929292; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #000000; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 1.02), 1.05), shade(shade(#ABABAB, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #787878; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.15), shade(#ABABAB, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #6b6b6b; + background-image: linear-gradient(to bottom, shade(shade(#ABABAB, 0.85), 1.05), shade(shade(#ABABAB, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #6b6b6b; + background-color: #b4b4b4; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #5a5a5a; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #ABABAB; + background-color: #ABABAB; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #6b6b6b; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #222222; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #b4b4b4; + background-color: #b4b4b4; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #6b6b6b; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #757575; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #929292; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #CECECE; + background-clip: padding-box; + border: 1px solid #c1c1c1; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #101010; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #000000; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #e3e3e3; } +colorswatch.light overlay { + color: #101010; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #3a3a3a; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #ABABAB; + box-shadow: inset 0 0 0 2px #999999, inset 0 0 0 1px #ABABAB; } + colorswatch:drop(active).dark overlay { + border-color: #ABABAB; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #ABABAB; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:hover { + color: #101010; + outline-color: rgba(16, 16, 16, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #6f6f6f; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #000000; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #bcbcbc; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #bcbcbc; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(16, 16, 16, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #CECECE; + border: solid 1px #8a8a8a; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.46353); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.46353); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #ABABAB; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #565656; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #e3e3e3; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #bcbcbc; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #101010; + background-color: #e6e6e6; + border: 1px solid; + border-color: #a8a8a8; + border-radius: 5px; + box-shadow: inset 0 -3px lightgray; + font-size: smaller; } + .keycap:backdrop { + background-color: #e3e3e3; + color: #6f6f6f; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #ABABAB; + box-shadow: inset 0 0 0 1px #ABABAB; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #101010; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #101010; +/* +widget base background color */ +@define-color theme_bg_color #CECECE; +/* +text widgets and the like base background color */ +@define-color theme_base_color #e6e6e6; +/* +base background color of selections */ +@define-color theme_selected_bg_color #ABABAB; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #000000; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #d8d8d8; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #6f6f6f; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #e6e6e6; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #6f6f6f; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #101010; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #CECECE; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #e3e3e3; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #ABABAB; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #000000; +/* +widgets main borders color */ +@define-color borders #828282; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #8a8a8a; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#101010, 1.8); +@define-color wm_unfocused_title #6f6f6f; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#CECECE, 1.2); +@define-color wm_bg_b #CECECE; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#CECECE, 1.3); +@define-color wm_button_hover_color_b #CECECE; +@define-color wm_button_active_color_a shade(#CECECE, 0.85); +@define-color wm_button_active_color_b shade(#CECECE, 0.89); +@define-color wm_button_active_color_c shade(#CECECE, 0.9); +@define-color content_view_bg #e6e6e6; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#CECECE, 1.18); + color: #101010; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#CECECE, 0.35); + color: #101010; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #101010; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#CECECE, 0.7); + border-color: shade(#CECECE, 0.6); + color: #101010; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#ABABAB, 0.6); + background-image: linear-gradient(to bottom, shade(#ABABAB, 0.88), shade(#ABABAB, 0.85)); + color: #101010; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#CECECE, 0.3); + color: #101010; + border-color: shade(#CECECE, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#101010, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #101010; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#CECECE, 0.65), shade(#CECECE, 1.25)); + border: 1px solid shade(#CECECE, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #CECECE; + color: #101010; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #CECECE; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #e6e6e6; + color: #101010; + box-shadow: inset 1px 0 shade(#e6e6e6, 0.6), inset -1px 0 shade(#e6e6e6, 0.6), inset 0 1px shade(#e6e6e6, 0.6), inset 0 -1px shade(#e6e6e6, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#ABABAB, 0.8); + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.02), shade(#ABABAB, 0.95) 90%, shade(#ABABAB, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#ABABAB, 0.7); + background-image: linear-gradient(to bottom, shade(#ABABAB, 1.12), shade(#ABABAB, 1.05) 90%, shade(#ABABAB, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #101010; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #101010; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#e6e6e6, 0.75), inset -1px 0 shade(#e6e6e6, 0.75), inset 0 1px shade(#e6e6e6, 0.55), inset 0 -1px shade(#e6e6e6, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#e6e6e6, 0.9), shade(#e6e6e6, 0.98) 10%, shade(#e6e6e6, 1) 99%, shade(#e6e6e6, 1)); + box-shadow: inset 0 1px shade(#e6e6e6, 0.8), inset 0 -1px shade(#e6e6e6, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#CECECE, 0.85), shade(#CECECE, 0.98) 10%, shade(#CECECE, 1) 99%, shade(#CECECE, 1)); + box-shadow: inset 1px 0 shade(#e6e6e6, 0.6), inset -1px 0 shade(#e6e6e6, 0.6), inset 0 1px shade(#e6e6e6, 0.6), inset 0 -1px shade(#e6e6e6, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #e6e6e6; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #e6e6e6; } + +/* Floating status bar */ +.floating-bar { + background-color: #e6e6e6; + border-style: solid; + border-color: #828282; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #CECECE; + border-color: #8a8a8a; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #CECECE; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #e6e6e6; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #ABABAB; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #ABABAB; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#CECECE, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.07), #CECECE); + color: #101010; + text-shadow: 0 1px shade(#CECECE, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#CECECE, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.02), #CECECE); + color: #101010; + text-shadow: 0 1px shade(#CECECE, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#CECECE, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#CECECE, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#CECECE, 1); + background-color: shade(#CECECE, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #101010; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#CECECE, 0.8); + background-color: shade(#CECECE, 0.75); + color: #101010; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #101010; } diff --git a/themes/Bunsen-He/gtk-3.0/gtk-contained.scss b/themes/Bunsen-He/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/Bunsen-He/gtk-3.0/gtk.css b/themes/Bunsen-He/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/Bunsen-He/gtk-3.0/gtk.gresource.xml b/themes/Bunsen-He/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/Bunsen-He/gtk-3.0/parse-sass.sh b/themes/Bunsen-He/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/Bunsen-He/gtk-3.0/settings.ini b/themes/Bunsen-He/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/Bunsen-He/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/Bunsen-He/index.theme b/themes/Bunsen-He/index.theme new file mode 100644 index 0000000..5d36083 --- /dev/null +++ b/themes/Bunsen-He/index.theme @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Bunsen-He +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Bunsen-He +MetacityTheme= +IconTheme= +CursorTheme= diff --git a/themes/Bunsen-He/openbox-3/bullet.xbm b/themes/Bunsen-He/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/Bunsen-He/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/close.xbm b/themes/Bunsen-He/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/Bunsen-He/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/desk.xbm b/themes/Bunsen-He/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/Bunsen-He/openbox-3/desk_toggled.xbm b/themes/Bunsen-He/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/iconify.xbm b/themes/Bunsen-He/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/Bunsen-He/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/max.xbm b/themes/Bunsen-He/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/max_toggled.xbm b/themes/Bunsen-He/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/Bunsen-He/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/Bunsen-He/openbox-3/shade.xbm b/themes/Bunsen-He/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/shade_toggled.xbm b/themes/Bunsen-He/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Bunsen-He/openbox-3/themerc b/themes/Bunsen-He/openbox-3/themerc new file mode 100644 index 0000000..e0cde02 --- /dev/null +++ b/themes/Bunsen-He/openbox-3/themerc @@ -0,0 +1,100 @@ +!! Bunsen by hhh (hsumen@bunsenlabs.org) +!! based on... +!! Theme: waldorf +!! Description: A default theme for CrunchBang Waldorf +!! Author: Philip Newborough +!! Web: http://crunchbang.org/ +!! ------------------------------------------------------- + +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #3a3a3a +menu.title.bg.colorTo: #3a3a3a +menu.title.text.color: #E6E6E6 +menu.title.text.justify: right + +menu.separator.color: #535353 + +menu.items.bg: flat solid +menu.items.bg.color: #3a3a3a +menu.items.text.color: #E6E6E6 +menu.items.disabled.text.color: #8A8A8A + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #9c9c9c +menu.items.active.bg.colorTo:#6b6b6b +menu.items.active.text.color: #FFFFFF +menu.bullet.selected.image.color: #FFFFFF + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #DBDBDB +window.active.title.bg.colorTo: #B5B5B5 +window.active.title.separator.color: #B5B5B5 + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #cecece +window.active.handle.bg.colorTo: #cecece + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #101010 + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #101010 +window.active.button.*.hover.image.color: #999999 +window.active.button.*.pressed.image.color: #000000 +window.active.button.disabled.image.color: #cecece + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #DBDBDB +window.inactive.title.bg.colorTo: #B5B5B5 +window.inactive.title.separator.color: #B5B5B5 + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #cecece +window.inactive.handle.bg.colorTo: #cecece + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #999999 +window.inactive.button.*.pressed.image.color: #000000 +window.inactive.button.disabled.image.color: #cecece + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings +border.color: #B7B4B2 +menu.border.color: #3C3D3E + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #cecece +osd.bg.colorTo: #cecece +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #101010 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #101010 +osd.label.text.color: #101010 + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=y:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=y:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/Bunsen-He/xfce-notify-4.0/gtk.css b/themes/Bunsen-He/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..8ed4840 --- /dev/null +++ b/themes/Bunsen-He/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #C8CFCB; + color: #13071B; + border: 0px solid shade(#C8CFCB, 1.0); + border-radius: 1px; +} + +#XfceNotifyWindow:hover { + background-color: #C8CFCB; + color: #13071B; + border: 1px solid shade(#3c3c3c, 0.0); + border-radius: 1px; +} + +#XfceNotifyWindow button { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.08), + shade(#C8CFCB, 1.02) + ); + color: shade(#13071B, 0.4); + border-color: shade(#cecece, 0.75); + border-radius: 3px; +} + +#XfceNotifyWindow button:hover { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.14), + shade(#C8CFCB, 1.08) + ); +} + +#XfceNotifyWindow button:active { + background-color: shade(#C8CFCB, 0.8); +} + +#XfceNotifyWindow label#summary { + font-weight: bold; +} + +#XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #74998B; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#999999, 1.0), + shade(#999999, 1.0) + ); + border: 1px solid shade(#999999, 1.0); + border-radius: 3px; +} diff --git a/themes/Bunsen-He/xfce-notify-4.0/gtkrc b/themes/Bunsen-He/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..c04110a --- /dev/null +++ b/themes/Bunsen-He/xfce-notify-4.0/gtkrc @@ -0,0 +1,64 @@ +# Bunsen by hhh (hsumen@bunsenlabs.org) +# based on +# Theme: waldorf Xfce4 notification theme +# Description: A default theme for CrunchBang Waldorf +# Author: Philip Newborough +# Web: http://crunchbang.org/ +# ------------------------------------------------------- +style "bunsen-notify-window" +{ + bg[NORMAL] = "#3a3a3a" + XfceNotifyWindow::border-color = "#3a3a3a" + XfceNotifyWindow::border-color-hover = "#e6e6e6" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 4.0 + XfceNotifyWindow::border-width-hover = 4.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#3a3a3a" + bg[PRELIGHT] = "#545454" + fg[NORMAL] = "#e6e6e6" + fg[PRELIGHT] = "#e6e6e6" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#e6e6e6" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#808080" + bg[ACTIVE] = "#4a4a4a" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/Crocus-Remix/LICENSE.CC b/themes/Crocus-Remix/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/Crocus-Remix/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/Crocus-Remix/LICENSE.GPL b/themes/Crocus-Remix/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/Crocus-Remix/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/Crocus-Remix/README.md b/themes/Crocus-Remix/README.md new file mode 100644 index 0000000..5b06fbf --- /dev/null +++ b/themes/Crocus-Remix/README.md @@ -0,0 +1,38 @@ +Bunsen-Blackish-Remix + +by hhh (hsumen@bunsenlabs.org) + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://www.bunsenlabs.org/ + +Light text on a dark background will not work with some programs, for +example input fields in Iceweasel/Firefox. + +In order to fix this, navigate to + + ~/.mozilla/firefox/${your_profile_folder} + +and create the folder and file chrome/userContent.css containing the +following CSS content: + +input { + -moz-appearance: none !important; + background-color: white; + color: black; +} + +textarea { + -moz-appearance: none !important; + background-color: white; + color: black; +} diff --git a/themes/Crocus-Remix/gtk-2.0/apps/chromium.rc b/themes/Crocus-Remix/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/Crocus-Remix/gtk-2.0/apps/claws-mail.rc b/themes/Crocus-Remix/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/Crocus-Remix/gtk-2.0/apps/gmusicbrowser.rc b/themes/Crocus-Remix/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/Crocus-Remix/gtk-2.0/apps/terminal.rc b/themes/Crocus-Remix/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/Crocus-Remix/gtk-2.0/apps/thunar.rc b/themes/Crocus-Remix/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/Crocus-Remix/gtk-2.0/apps/thunar/sidebar_active.png b/themes/Crocus-Remix/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/Crocus-Remix/gtk-2.0/apps/xfce-panel.rc b/themes/Crocus-Remix/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/Crocus-Remix/gtk-2.0/gtkrc b/themes/Crocus-Remix/gtk-2.0/gtkrc new file mode 100644 index 0000000..5b56ede --- /dev/null +++ b/themes/Crocus-Remix/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: Crocus-Remix +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#1A2833\nselected_bg_color:#587289\nbase_color:#1E2E3B" # Background, base. +gtk-color-scheme = "fg_color:#DDDEE1\nselected_fg_color:#ffffff\ntext_color:#DDDEE1" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#1A2833\ntooltip_fg_color:#DDDEE1" # Tooltips. +gtk-color-scheme = "link_color:#4a90d9" # Hyperlinks +gtk-color-scheme = "panel_bg:#1A2833" # same as bg_color +gtk-color-scheme = "fm_color:#DDDEE1" # same as fg_color +gtk-color-scheme = "bg_color_dark:#1A2833\ntext_color_dark:#DDDEE1" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.02, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = @bg_color + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = @selected_bg_color + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + bg[NORMAL] = shade (1.02, @bg_color) + bg[PRELIGHT] = shade (1.09, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = shade (0.5, @selected_bg_color) + bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = @bg_color + bg[INSENSITIVE] = @bg_color + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = @bg_color # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/Crocus-Remix/gtk-2.0/resize_grip.png b/themes/Crocus-Remix/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/resize_grip.png differ diff --git a/themes/Crocus-Remix/gtk-2.0/xfsmlogout.png b/themes/Crocus-Remix/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/Crocus-Remix/gtk-2.0/xfsmlogout.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/Gemfile b/themes/Crocus-Remix/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/Crocus-Remix/gtk-3.0/Gemfile.lock b/themes/Crocus-Remix/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/Crocus-Remix/gtk-3.0/README b/themes/Crocus-Remix/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/Crocus-Remix/gtk-3.0/_colors-public.scss b/themes/Crocus-Remix/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/Crocus-Remix/gtk-3.0/_colors.scss b/themes/Crocus-Remix/gtk-3.0/_colors.scss new file mode 100644 index 0000000..3973a44 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #1E2E3B, #292929); +$text_color: if($variant == 'light', #DDDEE1, white); +$bg_color: if($variant == 'light', #1A2833, #393f3f); +$fg_color: if($variant == 'light', #DDDEE1, #eeeeec); + +$selected_fg_color: #ffffff; +$selected_bg_color: if($variant == 'light', #587289, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/Crocus-Remix/gtk-3.0/_common.scss b/themes/Crocus-Remix/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/Crocus-Remix/gtk-3.0/_drawing.scss b/themes/Crocus-Remix/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/Crocus-Remix/gtk-3.0/_gnome-apps.scss b/themes/Crocus-Remix/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/Crocus-Remix/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/Crocus-Remix/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/Crocus-Remix/gtk-3.0/_unity.scss b/themes/Crocus-Remix/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/Crocus-Remix/gtk-3.0/_xfce.scss b/themes/Crocus-Remix/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/Crocus-Remix/gtk-3.0/apps/granite-widgets.css b/themes/Crocus-Remix/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/Crocus-Remix/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/Crocus-Remix/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.svg b/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.svg b/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-selectionmode.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.svg b/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-checked.png b/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/pane-separator-vertical.png b/themes/Crocus-Remix/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/pane-separator.png b/themes/Crocus-Remix/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-selected.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected.png b/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/resize-grip.png b/themes/Crocus-Remix/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-active.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize.png b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/Crocus-Remix/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/Crocus-Remix/gtk-3.0/gtk-contained.css b/themes/Crocus-Remix/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..a1eb782 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(221, 222, 225, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #587289; } + +/*************** + * Base States * + ***************/ +.background { + color: #DDDEE1; + background-color: #1A2833; } + .background:backdrop { + color: #7c838a; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #DDDEE1; + background-color: #1A2833; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #DDDEE1; + background-color: #2b4255; } + .gtkstyle-fallback:active { + color: #DDDEE1; + background-color: #090e11; } + .gtkstyle-fallback:disabled { + color: #7c838a; + background-color: #1c2a36; } + .gtkstyle-fallback:selected { + color: #ffffff; + background-color: #587289; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #DDDEE1; + background-color: #1E2E3B; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #b6babf; + background-color: #1c2b38; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #1c2b37; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #44586a; + background-color: rgba(68, 88, 106, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #DDDEE1; } + label.separator:backdrop { + color: #7c838a; } +label selection { + background-color: #587289; + color: #ffffff; } +label:disabled { + color: #7c838a; } + label:disabled:backdrop { + color: black; } +label:backdrop { + color: #7c838a; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #1E2E3B; + border-top: 1px solid black; } + assistant .sidebar:backdrop { + background-color: #1c2b38; + border-color: #030405; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #414c56; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #DDDEE1; + border-color: black; + background-color: #1E2E3B; + box-shadow: inset 0 0 0 1px rgba(88, 114, 137, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #587289; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #7c838a; + border-color: black; + background-color: #1c2a36; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #b6babf; + border-color: #030405; + background-color: #1c2b38; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: black; + border-color: #030405; + background-color: #1c2a36; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #b7bbc0; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #DDDEE1; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #587289; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #69717a; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #587289; + box-shadow: inset 0 0 0 1px #587289; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #587289; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #587289; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #587289; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #587289; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #587289; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #152029; + background-color: #1E2E3B; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #151f29; + background-color: #1c2b38; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #152029; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #587289; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #587289; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #587289; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #587289; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #1E2E3B; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #1E2E3B; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #587289; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#587289), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#587289), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 1.02), 1.05), shade(shade(#1A2833, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.15), shade(#1A2833, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 0.85), 1.05), shade(shade(#1A2833, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #7c838a; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #030405; + background-color: #121b23; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #7c838a; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: black; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #030405; + background-color: #131d25; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: black; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #7c838a; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: black; + background-image: linear-gradient(to bottom, #192631, #1c2a36); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #7c838a; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #587289; + border-color: #587289; + box-shadow: inset 0 0 0 1px #587289; } +row:selected +button { + border-color: #1c242c; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #ffffff; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #1c2b38; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#587289, 1.02), 1.05), shade(shade(#587289, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #587289; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(#587289, 1.15), shade(#587289, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(shade(#587289, 0.85), 1.05), shade(shade(#587289, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #587289; + background-color: #587289; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #dee3e7; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #44586a; + background-color: #44586a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dadee1; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: black; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #455b6d; + background-color: #455b6d; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #8694a0; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(88, 114, 137, 0.8); } + button.suggested-action:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #7c838a; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #26313b; + background-image: linear-gradient(to bottom, #425768, #455b6d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: #b5bdc5; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(88, 114, 137, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(88, 114, 137, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #587289; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(88, 114, 137, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: black; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #bb2628; + background-color: #bb2628; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #d37273; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #7c838a; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #b72325, #bb2628); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #e4a8a9; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#587289), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(0, 0, 0, 0.87922)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 1.02), 1.05), shade(shade(#1A2833, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + .inline-toolbar toolbutton > button:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.15), shade(#1A2833, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 0.85), 1.05), shade(shade(#1A2833, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #7c838a; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: black; + background-image: linear-gradient(to bottom, #192631, #1c2a36); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #7c838a; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #7c838a; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #030405; + background-color: #121b23; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #7c838a; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: black; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #030405; + background-color: #131d25; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: black; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #587289; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(0, 0, 0, 0.87922); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #303e4b; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #bcc7d0; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #eef1f3; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #dee3e7; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #587289; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #dee3e7; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #caccd0; + background-image: none; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #DDDEE1; + background-color: rgba(221, 222, 225, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(124, 131, 138, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #727a82; + background-color: transparent; + border-color: rgba(3, 4, 5, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(0, 0, 0, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #7c838a; } +spinbutton.vertical:backdrop:disabled { + color: black; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #1A2833; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: black; + background-color: #121c24; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #030405; + background-color: #121b23; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: black; + border-radius: 0; + background: #1A2833 linear-gradient(to bottom, #1A2833, shade(#1A2833, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #030405; + background-color: #1A2833; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #ffffff; + text-shadow: none; + border-color: #1c242c; + background: #587289 linear-gradient(to bottom, #587289, shade(#587289, 0.88)); + box-shadow: inset 0 1px rgba(155, 170, 184, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #587289; + background-image: none; + box-shadow: inset 0 1px rgba(172, 185, 196, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#587289, 1.02), 1.05), shade(shade(#587289, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(#587289, 1.15), shade(#587289, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(shade(#587289, 0.85), 1.05), shade(shade(#587289, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #587289; + background-color: #587289; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #dee3e7; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #44586a; + background-color: #44586a; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #dadee1; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #4f687d; + background-color: #4f687d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #8d9dab; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #455b6d; + background-color: #455b6d; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #8694a0; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #26313b; + background-color: #4f687d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #a7b4be; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #26313b; + background-image: linear-gradient(to bottom, #425768, #455b6d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #b5bdc5; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 1.02), 1.05), shade(shade(#1A2833, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.15), shade(#1A2833, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 0.85), 1.05), shade(shade(#1A2833, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #7c838a; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #7c838a; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #1c242c; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: black; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(88, 114, 137, 0); + background-color: rgba(88, 114, 137, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(255, 255, 255, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: black; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #7e868e; + border-top-color: #1A2833; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #acb9c4; + border-top-color: rgba(221, 222, 225, 0.1); } + treeview.view:disabled { + color: #7c838a; } + treeview.view:disabled:selected { + color: #9baab8; } + treeview.view:disabled:selected:backdrop { + color: #465d71; } + treeview.view:disabled:backdrop { + color: black; } + treeview.view.separator { + min-height: 2px; + color: #1A2833; } + treeview.view.separator:backdrop { + color: rgba(26, 40, 51, 0.1); } + treeview.view:backdrop { + border-left-color: #4b565f; + border-top: #1A2833; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #1c242c; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #a4a9af; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #DDDEE1; } + treeview.view.expander:selected { + color: #cdd5dc; } + treeview.view.expander:selected:hover { + color: #ffffff; } + treeview.view.expander:selected:backdrop { + color: #2e4050; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #5f6971; } + treeview.view.progressbar { + color: #1E2E3B; + border: 1px solid #1c242c; + border-radius: 4px; + background-color: #587289; + background-image: linear-gradient(to bottom, #587289, #44586a); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #587289; + box-shadow: none; + background-image: linear-gradient(to bottom, #1E2E3B, #0d1419); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #587289; + border-color: #1c242c; + background-color: #1c2b38; } + treeview.view.progressbar:backdrop { + color: #1c2b38; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(221, 222, 225, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(255, 255, 255, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #587289; } + treeview.view header button { + color: #7e868e; + background-color: #1E2E3B; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #aeb2b8; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #DDDEE1; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #587289; + color: #1E2E3B; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #1E2E3B; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #587289; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #1A2833; } + treeview.view header button:disabled { + border-color: #1A2833; + background-image: none; } + treeview.view header button:backdrop { + border-color: #1A2833; + border-style: none solid solid none; + color: #4b565f; + background-image: none; + background-color: #1c2b38; } + treeview.view header button:backdrop:disabled { + border-color: #1A2833; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #1A2833; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#587289, 1.2), shade(#587289, 1)); + color: #ffffff; + border-color: shade(#587289, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #7c838a; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #283d4e; + border: 1px solid black; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #1c2b38; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #ffffff; + background-image: linear-gradient(to bottom, shade(#587289, 1.2), shade(#587289, 1)); + box-shadow: inset 1px 1px shade(#587289, 0.8), inset -1px -1px shade(#587289, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #7c838a; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: black; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #7c838a; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #283d4e; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #31404c; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #31404c; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #31404c; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #1c2b38; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #395870; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #ffffff; } + .csd popover.background, popover.background { + border: 1px solid black; } + popover.background:backdrop { + background-color: #1A2833; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #1A2833; } + notebook > header:backdrop { + border-color: #030405; + background-color: #1A2833; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#1A2833, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #7c838a; + background-color: #1A2833; + border-width: 1px; + border-radius: 3px; + border-color: shade(#1A2833, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #adb1b6; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(0, 0, 0, 0.3); + background-color: rgba(26, 40, 51, 0.2); } + notebook > header tab:backdrop { + color: #555f67; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #DDDEE1; + background-color: shade(#1A2833, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #1A2833; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(0, 0, 0, 0.5); + background-color: shade(#1A2833, 1.05); } + notebook > header tab:backdrop:checked { + color: #7c838a; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #030405; + background-color: #1A2833; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#1A2833, 1.05); + border: 1px solid shade(#1A2833, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #1A2833; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #1a2833, #1a2833); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #233544; } + scrollbar.bottom { + border-top: 1px solid #233544; } + scrollbar.left { + border-right: 1px solid #233544; } + scrollbar.right { + border-left: 1px solid #233544; } + scrollbar:backdrop { + background-color: #152029; + border-color: #233544; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid black; + border-radius: 0px; + background-clip: padding-box; + background-color: #4c6276; } + scrollbar slider:hover { + background-color: #405364; } + scrollbar slider:hover:active { + background-color: #405364; } + scrollbar slider:backdrop { + background-color: #acbbc9; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#DDDEE1, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#DDDEE1, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #4c6276; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #405364; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #405364; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(76, 98, 118, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #acbbc9; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(172, 187, 201, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid black; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #10181f; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#1c242c, 1.1); + background-image: linear-gradient(to bottom, shade(#587289, 1.1), #587289); + text-shadow: 0 1px rgba(28, 36, 44, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: black; + background-color: #1c2a36; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #030405; + background-color: #121b23; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #1A2833; + border-color: #587289; + background-color: #587289; + box-shadow: none; } + switch:disabled { + border-color: #030405; + background-image: none; + background-color: #1c2a36; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #233544 20%, #1A2833 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #1d2d3a, inset 0 -1px #05080a, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #294051 10%, #213341 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #233544, inset 0 -1px #090e11, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#1c242c,0.8); } + switch:disabled slider { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #7c838a; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #7c838a; } + switch:backdrop:checked slider { + border-color: #587289; } + switch:backdrop:disabled slider { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: black; } + row:selected switch { + box-shadow: none; + border-color: #1c242c; } + row:selected switch:backdrop { + border-color: #1c242c; } + row:selected switch.slider:dir(rtl) { + border-left-color: black; } + row:selected switch.slider:dir(ltr) { + border-right-color: black; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #1c242c; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #233544 20%, #1A2833 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #1d2d3a, inset 0 -1px #05080a, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #294051 10%, #213341 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #233544, inset 0 -1px #090e11, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 0.85), 1.05), shade(shade(#1A2833, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #7c838a; } + check:backdrop, + radio:backdrop { + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #7c838a; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: black; } + row:selected check, row:selected + radio { + border-color: #1c242c; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #DDDEE1; + border-color: #1c242c; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #7c838a; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: black; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #7c838a; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid black; + border-radius: 3px; + background-color: #111a21; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #1c2a36; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #121b23; + border-color: #030405; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #1c2a36; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #1c242c; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#587289, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#587289, 1.1), shade(#587289, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #587289; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #1c242c; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: black; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 1.02), 1.05), shade(shade(#1A2833, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); + background-image: linear-gradient(to bottom, shade(#1A2833, 1.45), shade(#1A2833, 1.15)); + border: 1px solid black; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, #294051 10%, #213341 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), inset 0 -2px #233544, inset 0 -1px #090e11, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #1c242c; } + scale slider:disabled { + border-color: black; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #7c838a; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #7c838a; } + scale slider:backdrop:disabled { + border-color: #030405; + background-color: #1c2a36; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: black; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #1c242c; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(black); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(221, 222, 225, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#587289, 0.7), inset -1px -1px shade(#587289, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #DDDEE1; + border-color: black; + background-color: #1E2E3B; + box-shadow: inset 0 0 0 1px rgba(88, 114, 137, 0); } + levelbar trough:backdrop { + color: #b6babf; + border-color: #030405; + background-color: #1c2b38; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #303e4b; + background-color: #587289; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #587289; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(221, 222, 225, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(124, 131, 138, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #DDDEE1; + border: 1px solid black; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #7c838a; + border-color: #030405; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid black; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #030405; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid black; } + actionbar > revealer > box:backdrop { + border-color: #030405; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(black), to(transparent)), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(221, 222, 225, 0.07)), to(rgba(221, 222, 225, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#030405), to(rgba(3, 4, 5, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(black), to(transparent)), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(221, 222, 225, 0.07)), to(rgba(221, 222, 225, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#030405), to(rgba(3, 4, 5, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(black), to(transparent)), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(221, 222, 225, 0.07)), to(rgba(221, 222, 225, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#030405), to(rgba(3, 4, 5, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(black), to(transparent)), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(221, 222, 225, 0.07)), to(rgba(221, 222, 225, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#030405), to(rgba(3, 4, 5, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, black 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #4c6276; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #030405 1px, transparent 1px); + background-color: #152029; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #DDDEE1; + background-color: #1E2E3B; + border-color: black; } + list:backdrop { + background-color: #1c2b38; + border-color: #030405; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(221, 222, 225, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #657d92; } + row.activatable:selected:backdrop { + background-color: #587289; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: white; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #DDDEE1; + border: 1px solid black; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(221, 222, 225, 0.45); } + calendar.button:hover { + color: #DDDEE1; } + calendar.button:backdrop { + color: rgba(124, 131, 138, 0.45); } + calendar.button:disabled { + color: rgba(124, 131, 138, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #DDDEE1; } + calendar:backdrop { + color: #b6babf; + border-color: #030405; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #1A2833; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid black; } + filechooser .dialog-action-box:backdrop { + border-top-color: #030405; } +filechooser #pathbarbox { + border-bottom: 1px solid #1A2833; } + filechooser #pathbarbox stack { + background-color: #1A2833; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #1E2E3B; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#1E2E3B, 0.87), shade(#1E2E3B, 0.95) 10%, shade(#1E2E3B, 0.99) 92%, shade(#1E2E3B, 0.92)); + box-shadow: 0 -1px shade(#1A2833, 0.85), 0 1px shade(#1A2833, 1.12); } + .sidebar row:selected label { + color: #DDDEE1; } + .sidebar row:selected label:backdrop { + color: #7c838a; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid black; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid black; + border-right-style: none; } + .sidebar:backdrop { + background-color: #1b2a36; + border-color: #030405; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #DDDEE1; } + placessidebar row:disabled { + color: #7c838a; } + placessidebar row:backdrop { + color: #7c838a; + background-color: #1A2833; } + placessidebar row:backdrop:selected { + color: #7c838a; } + placessidebar row:backdrop:disabled { + color: black; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#587289); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #587289; } + placessidebar row:drop(active):not(:disabled) { + color: #587289; + box-shadow: inset 0 1px #587289, inset 0 -1px #587289; } + placessidebar row:drop(active):not(:disabled):selected { + color: #ffffff; + background-image: linear-gradient(to bottom, #96a9bb, #afbdcb 10%, #bbc7d3 92%, #a5b6c5); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(black); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#587289); } + paned > separator:backdrop { + background-image: image(#030405); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #1A2833; + background-image: image(black), image(black); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #1A2833; + background-image: image(#030405), image(#030405); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #44586a; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #587289; + border-color: #44586a; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #ffffff; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#587289, 1.02), 1.05), shade(shade(#587289, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); + border-color: #303e4b; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(#587289, 1.15), shade(#587289, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #26313b; + background-image: linear-gradient(to bottom, shade(shade(#587289, 0.85), 1.05), shade(shade(#587289, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #26313b; + background-color: #4f687d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #a7b4be; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #587289; + background-color: #587289; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #26313b; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #dee3e7; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #4f687d; + background-color: #4f687d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #26313b; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #8d9dab; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #44586a; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #1A2833; + background-clip: padding-box; + border: 1px solid #111b22; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #DDDEE1; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #ffffff; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #1c2b38; } +colorswatch.light overlay { + color: #DDDEE1; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #b6babf; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #587289; + box-shadow: inset 0 0 0 2px #4a6073, inset 0 0 0 1px #587289; } + colorswatch:drop(active).dark overlay { + border-color: #587289; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #587289; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-top-color: shade(#1A2833, 0.8); + border-right-color: shade(#1A2833, 0.72); + border-left-color: shade(#1A2833, 0.72); + border-bottom-color: shade(#1A2833, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#1A2833, 1.02), 1.05), shade(shade(#1A2833, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + colorswatch#add-color-button overlay:hover { + color: #DDDEE1; + outline-color: rgba(221, 222, 225, 0.3); + border-color: black; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.15), shade(#1A2833, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); } + colorswatch#add-color-button overlay:backdrop { + border-color: #030405; + background-color: #1A2833; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #7c838a; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #ffffff; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #0e151b; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #0e151b; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(221, 222, 225, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #1A2833; + border: solid 1px #030405; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.87922); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.87922); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.64706); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.64706); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #587289; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #ffffff; + outline-color: rgba(255, 255, 255, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #acb9c4; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #1c2b38; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #465d71; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #DDDEE1; + background-color: #1E2E3B; + border: 1px solid; + border-color: #0d141a; + border-radius: 5px; + box-shadow: inset 0 -3px #1b2935; + font-size: smaller; } + .keycap:backdrop { + background-color: #1c2b38; + color: #7c838a; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #587289; + box-shadow: inset 0 0 0 1px #587289; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #DDDEE1; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #DDDEE1; +/* +widget base background color */ +@define-color theme_bg_color #1A2833; +/* +text widgets and the like base background color */ +@define-color theme_base_color #1E2E3B; +/* +base background color of selections */ +@define-color theme_selected_bg_color #587289; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #ffffff; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #1c2a36; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #7c838a; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #1E2E3B; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #7c838a; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #DDDEE1; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #1A2833; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #1c2b38; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #587289; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #ffffff; +/* +widgets main borders color */ +@define-color borders black; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #030405; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#DDDEE1, 1.8); +@define-color wm_unfocused_title #7c838a; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#1A2833, 1.2); +@define-color wm_bg_b #1A2833; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#1A2833, 1.3); +@define-color wm_button_hover_color_b #1A2833; +@define-color wm_button_active_color_a shade(#1A2833, 0.85); +@define-color wm_button_active_color_b shade(#1A2833, 0.89); +@define-color wm_button_active_color_c shade(#1A2833, 0.9); +@define-color content_view_bg #1E2E3B; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#1A2833, 1.18); + color: #DDDEE1; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#1A2833, 0.35); + color: #DDDEE1; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #DDDEE1; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#1A2833, 0.7); + border-color: shade(#1A2833, 0.6); + color: #DDDEE1; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#587289, 0.6); + background-image: linear-gradient(to bottom, shade(#587289, 0.88), shade(#587289, 0.85)); + color: #DDDEE1; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#1A2833, 0.3); + color: #DDDEE1; + border-color: shade(#1A2833, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#DDDEE1, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #DDDEE1; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#1A2833, 0.65), shade(#1A2833, 1.25)); + border: 1px solid shade(#1A2833, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #1A2833; + color: #DDDEE1; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #1A2833; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #1E2E3B; + color: #DDDEE1; + box-shadow: inset 1px 0 shade(#1E2E3B, 0.6), inset -1px 0 shade(#1E2E3B, 0.6), inset 0 1px shade(#1E2E3B, 0.6), inset 0 -1px shade(#1E2E3B, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#587289, 0.8); + background-image: linear-gradient(to bottom, shade(#587289, 1.02), shade(#587289, 0.95) 90%, shade(#587289, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#587289, 0.7); + background-image: linear-gradient(to bottom, shade(#587289, 1.12), shade(#587289, 1.05) 90%, shade(#587289, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #ffffff; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #DDDEE1; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #DDDEE1; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#1E2E3B, 0.75), inset -1px 0 shade(#1E2E3B, 0.75), inset 0 1px shade(#1E2E3B, 0.55), inset 0 -1px shade(#1E2E3B, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#1E2E3B, 0.9), shade(#1E2E3B, 0.98) 10%, shade(#1E2E3B, 1) 99%, shade(#1E2E3B, 1)); + box-shadow: inset 0 1px shade(#1E2E3B, 0.8), inset 0 -1px shade(#1E2E3B, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#1A2833, 0.85), shade(#1A2833, 0.98) 10%, shade(#1A2833, 1) 99%, shade(#1A2833, 1)); + box-shadow: inset 1px 0 shade(#1E2E3B, 0.6), inset -1px 0 shade(#1E2E3B, 0.6), inset 0 1px shade(#1E2E3B, 0.6), inset 0 -1px shade(#1E2E3B, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #1E2E3B; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #1E2E3B; } + +/* Floating status bar */ +.floating-bar { + background-color: #1E2E3B; + border-style: solid; + border-color: black; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #1A2833; + border-color: #030405; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #1A2833; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #1E2E3B; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #587289; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #587289; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#1A2833, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.07), #1A2833); + color: #DDDEE1; + text-shadow: 0 1px shade(#1A2833, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#1A2833, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#1A2833, 1.02), #1A2833); + color: #DDDEE1; + text-shadow: 0 1px shade(#1A2833, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#1A2833, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#1A2833, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#1A2833, 1); + background-color: shade(#1A2833, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #DDDEE1; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#1A2833, 0.8); + background-color: shade(#1A2833, 0.75); + color: #DDDEE1; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #DDDEE1; } diff --git a/themes/Crocus-Remix/gtk-3.0/gtk-contained.scss b/themes/Crocus-Remix/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/Crocus-Remix/gtk-3.0/gtk.css b/themes/Crocus-Remix/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/Crocus-Remix/gtk-3.0/gtk.gresource.xml b/themes/Crocus-Remix/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/Crocus-Remix/gtk-3.0/parse-sass.sh b/themes/Crocus-Remix/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/Crocus-Remix/gtk-3.0/settings.ini b/themes/Crocus-Remix/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/Crocus-Remix/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/Crocus-Remix/index.theme b/themes/Crocus-Remix/index.theme new file mode 100644 index 0000000..8a1a554 --- /dev/null +++ b/themes/Crocus-Remix/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Crocus-Remix +Comment=Greybird-based theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Crocus-Remix +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/Crocus-Remix/openbox-3/bullet.xbm b/themes/Crocus-Remix/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/close.xbm b/themes/Crocus-Remix/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/desk.xbm b/themes/Crocus-Remix/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/Crocus-Remix/openbox-3/desk_toggled.xbm b/themes/Crocus-Remix/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/iconify.xbm b/themes/Crocus-Remix/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/max.xbm b/themes/Crocus-Remix/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/max_toggled.xbm b/themes/Crocus-Remix/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/Crocus-Remix/openbox-3/shade.xbm b/themes/Crocus-Remix/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/shade_toggled.xbm b/themes/Crocus-Remix/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/Crocus-Remix/openbox-3/themerc b/themes/Crocus-Remix/openbox-3/themerc new file mode 100644 index 0000000..7cd8645 --- /dev/null +++ b/themes/Crocus-Remix/openbox-3/themerc @@ -0,0 +1,93 @@ +!! Bunsen-Blackish by hhh (hsumen@bunsenlabs.org) + +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #1A2833 +menu.title.bg.colorTo: #1A2833 +menu.title.text.color: #d9d9d9 +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #1A2833 +menu.items.text.color: #d9d9d9 +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #587289 +menu.items.active.bg.colorTo:#587289 +menu.items.active.text.color: #d9d9d9 +menu.bullet.selected.image.color: #d9d9d9 + +menu.separator.color: #535353 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #1A2833 +window.active.title.bg.colorTo: #1A2833 +window.active.title.separator.color: #1A2833 + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #1A2833 +window.active.handle.bg.colorTo: #1A2833 + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #d9d9d9 + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #d9d9d9 +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #000000 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #1A2833 +window.inactive.title.bg.colorTo: #1A2833 +window.inactive.title.separator.color: #1A2833 + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #1A2833 +window.inactive.handle.bg.colorTo: #1A2833 + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #999999 + +window.inactive.button.*.image.color: #999999 +window.inactive.button.*.hover.image.color: #FFFFFF +window.inactive.button.*.pressed.image.color: #000000 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings +border.color: #1A2833 + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #1A2833 +osd.bg.colorTo: #1A2833 +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #587289 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #1A2833 +osd.label.text.color: #e8e8e8 + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/Crocus-Remix/xfce-notify-4.0/gtk.css b/themes/Crocus-Remix/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..c034499 --- /dev/null +++ b/themes/Crocus-Remix/xfce-notify-4.0/gtk.css @@ -0,0 +1,54 @@ +#XfceNotifyWindow { + background-color: #1A2833; + border-radius: 1px; + border: 1px solid #1A2833; + padding: 20px; +} + +#XfceNotifyWindow:hover { + background-color: shade(#1A2833, 1.0); + border: 1px solid #587289; +} + +#XfceNotifyWindow label, +#XfceNotifyWindow image { + color: #DDDEE1; +} + +#XfceNotifyWindow label#summary { + font-weight: Bold; +} + +#XfceNotifyWindow button { + font-weight: Bold; + border: 1px solid shade(#1A2833, .80); + box-shadow: none; + background-image: none; + background-color: shade(#1A2833, 1.2); + color: #DDDEE1; +} + +#XfceNotifyWindow button:hover { + box-shadow: none; + background-image: none; + background-color: shade(#1A2833, 1.4); + color: #ffffff; +} + +#XfceNotifyWindow progressbar { + min-height: 10px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #283E4F; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#808080, 1.0), + shade(#808080, 1.0) + ); + border: 1px solid shade(#808080, 0.8); + border-radius: 3px; +} diff --git a/themes/Crocus-Remix/xfce-notify-4.0/gtkrc b/themes/Crocus-Remix/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..4f0f65c --- /dev/null +++ b/themes/Crocus-Remix/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#1A2833" + XfceNotifyWindow::border-color = "#1A2833" + XfceNotifyWindow::border-color-hover = "#587289" + XfceNotifyWindow::border-radius =0.0 + XfceNotifyWindow::border-width = 2.0 + XfceNotifyWindow::border-width-hover = 2.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#1A2833" + fg[NORMAL] = "#DDDEE1" + fg[PRELIGHT] = "#DDDEE1" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#DDDEE1" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[PRELIGHT] = "#283E4F" + bg[SELECTED] = "#587289" + bg[ACTIVE] = "#283E4F" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/RainForest/LICENSE.CC b/themes/RainForest/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/RainForest/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/RainForest/LICENSE.GPL b/themes/RainForest/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/RainForest/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/RainForest/README.md b/themes/RainForest/README.md new file mode 100644 index 0000000..b551bf8 --- /dev/null +++ b/themes/RainForest/README.md @@ -0,0 +1,19 @@ +SoftWaves + +by hhh (hsumen@bunsenlabs.org) + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. Colors +derived from softWaves, the default wallpaper theme of stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://wiki.debian.org/DebianArt/Themes/softWaves +https://packages.debian.org/stretch/desktop-base (Debian release of softwaves) +https://www.bunsenlabs.org/ \ No newline at end of file diff --git a/themes/RainForest/gtk-2.0/apps/chromium.rc b/themes/RainForest/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/RainForest/gtk-2.0/apps/claws-mail.rc b/themes/RainForest/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/RainForest/gtk-2.0/apps/gmusicbrowser.rc b/themes/RainForest/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/RainForest/gtk-2.0/apps/terminal.rc b/themes/RainForest/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/RainForest/gtk-2.0/apps/thunar.rc b/themes/RainForest/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/RainForest/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/RainForest/gtk-2.0/apps/thunar/sidebar_active.png b/themes/RainForest/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/RainForest/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/RainForest/gtk-2.0/apps/xfce-panel.rc b/themes/RainForest/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/RainForest/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/RainForest/gtk-2.0/gtkrc b/themes/RainForest/gtk-2.0/gtkrc new file mode 100644 index 0000000..c456735 --- /dev/null +++ b/themes/RainForest/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: RainForest +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#BAC8B0\nselected_bg_color:#5F8A45\nbase_color:#C0CFB6" # Background, base. +gtk-color-scheme = "fg_color:#2E2824\nselected_fg_color:#000000\ntext_color:#2E2824" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#BAC8B0\ntooltip_fg_color:#2E2824" # Tooltips. +gtk-color-scheme = "link_color:#2d71b8" # Hyperlinks +gtk-color-scheme = "panel_bg:#BAC8B0" # same as bg_color +gtk-color-scheme = "fm_color:#2E2824" # same as fg_color +gtk-color-scheme = "bg_color_dark:#BAC8B0\ntext_color_dark:#2E2824" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (0.88, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = shade (0.95, @bg_color) + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + # default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = shade (0.3,@selected_bg_color) + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 1 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + # bg[NORMAL] = shade (1.02, @bg_color) + # bg[PRELIGHT] = shade (1.09, @bg_color) + # bg[ACTIVE] = shade (0.85, @bg_color) + # bg[SELECTED] = shade (0.5, @selected_bg_color) + # bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = shade (1.1, @bg_color) + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = shade (1.1, @bg_color) + bg[INSENSITIVE] = shade (1.1, @bg_color) + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = shade (1.1, @bg_color) # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.0,1.0,1.0,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,1.0,1.0,1.0} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +#include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/RainForest/gtk-2.0/resize_grip.png b/themes/RainForest/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/RainForest/gtk-2.0/resize_grip.png differ diff --git a/themes/RainForest/gtk-2.0/xfsmlogout.png b/themes/RainForest/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/RainForest/gtk-2.0/xfsmlogout.png differ diff --git a/themes/RainForest/gtk-3.0/Gemfile b/themes/RainForest/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/RainForest/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/RainForest/gtk-3.0/Gemfile.lock b/themes/RainForest/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/RainForest/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/RainForest/gtk-3.0/README b/themes/RainForest/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/RainForest/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/RainForest/gtk-3.0/_colors-public.scss b/themes/RainForest/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/RainForest/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/RainForest/gtk-3.0/_colors.scss b/themes/RainForest/gtk-3.0/_colors.scss new file mode 100644 index 0000000..bc264f2 --- /dev/null +++ b/themes/RainForest/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #C0CFB6, #292929); +$text_color: if($variant == 'light', #2E2824, white); +$bg_color: if($variant == 'light', #BAC8B0, #393f3f); +$fg_color: if($variant == 'light', #2E2824, #eeeeec); + +$selected_fg_color: #000000; +$selected_bg_color: if($variant == 'light', #5F8A45, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/RainForest/gtk-3.0/_common.scss b/themes/RainForest/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/RainForest/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/RainForest/gtk-3.0/_drawing.scss b/themes/RainForest/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/RainForest/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/RainForest/gtk-3.0/_gnome-apps.scss b/themes/RainForest/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/RainForest/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/RainForest/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/RainForest/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/RainForest/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/RainForest/gtk-3.0/_unity.scss b/themes/RainForest/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/RainForest/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/RainForest/gtk-3.0/_xfce.scss b/themes/RainForest/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/RainForest/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/RainForest/gtk-3.0/apps/granite-widgets.css b/themes/RainForest/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/RainForest/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/RainForest/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/RainForest/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/RainForest/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/RainForest/gtk-3.0/assets/bullet-symbolic.svg b/themes/RainForest/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/RainForest/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/RainForest/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/RainForest/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/RainForest/gtk-3.0/assets/check-symbolic.svg b/themes/RainForest/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/RainForest/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/RainForest/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/RainForest/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/RainForest/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/RainForest/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/RainForest/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-mixed.png b/themes/RainForest/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-selectionmode.png b/themes/RainForest/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/RainForest/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/RainForest/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/dash-symbolic.svg b/themes/RainForest/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/RainForest/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/RainForest/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/RainForest/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/RainForest/gtk-3.0/assets/grid-selection-checked.png b/themes/RainForest/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/RainForest/gtk-3.0/assets/grid-selection-unchecked.png b/themes/RainForest/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked.png b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/RainForest/gtk-3.0/assets/pane-separator-vertical.png b/themes/RainForest/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/RainForest/gtk-3.0/assets/pane-separator.png b/themes/RainForest/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-mixed-hover.png b/themes/RainForest/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/RainForest/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-mixed.png b/themes/RainForest/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-selected-hover.png b/themes/RainForest/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-selected-insensitive.png b/themes/RainForest/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-selected.png b/themes/RainForest/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/RainForest/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/RainForest/gtk-3.0/assets/radio-unselected.png b/themes/RainForest/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/RainForest/gtk-3.0/assets/resize-grip.png b/themes/RainForest/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-close-active.png b/themes/RainForest/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-close-hover.png b/themes/RainForest/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-close.png b/themes/RainForest/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-maximize.png b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/RainForest/gtk-3.0/assets/titlebutton-minimize.png b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/RainForest/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/RainForest/gtk-3.0/gtk-contained.css b/themes/RainForest/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..7ea9e50 --- /dev/null +++ b/themes/RainForest/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(46, 40, 36, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #5F8A45; } + +/*************** + * Base States * + ***************/ +.background { + color: #2E2824; + background-color: #BAC8B0; } + .background:backdrop { + color: #74786a; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #2E2824; + background-color: #BAC8B0; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #2E2824; + background-color: #d4ddce; } + .gtkstyle-fallback:active { + color: #2E2824; + background-color: #a0b392; } + .gtkstyle-fallback:disabled { + color: #74786a; + background-color: #bccbb2; } + .gtkstyle-fallback:selected { + color: #000000; + background-color: #5F8A45; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #2E2824; + background-color: #C0CFB6; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #4b4941; + background-color: #bdcdb3; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #bdccb3; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #486834; + background-color: rgba(72, 104, 52, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #2E2824; } + label.separator:backdrop { + color: #74786a; } +label selection { + background-color: #5F8A45; + color: #000000; } +label:disabled { + color: #74786a; } + label:disabled:backdrop { + color: #93a983; } +label:backdrop { + color: #74786a; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #C0CFB6; + border-top: 1px solid #6c835c; } + assistant .sidebar:backdrop { + background-color: #bdcdb3; + border-color: #748a64; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #9ea894; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #2E2824; + border-color: #6c835c; + background-color: #C0CFB6; + box-shadow: inset 0 0 0 1px rgba(95, 138, 69, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #5F8A45; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #74786a; + border-color: #6c835c; + background-color: #bccbb2; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #4b4941; + border-color: #748a64; + background-color: #bdcdb3; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #93a983; + border-color: #748a64; + background-color: #bccbb2; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #4b4941; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #2E2824; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #5F8A45; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #838979; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #5F8A45; + box-shadow: inset 0 0 0 1px #5F8A45; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #5F8A45; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #5F8A45; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #5F8A45; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #5F8A45; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #5F8A45; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: #a7b89b; + background-color: #C0CFB6; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #a7b99b; + background-color: #bdcdb3; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: #a7b89b; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #5F8A45; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #5F8A45; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #5F8A45; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #5F8A45; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #C0CFB6; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #C0CFB6; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #5F8A45; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#5F8A45), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#5F8A45), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 1.02), 1.05), shade(shade(#BAC8B0, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.15), shade(#BAC8B0, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 0.85), 1.05), shade(shade(#BAC8B0, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #74786a; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #748a64; + background-color: #a2b295; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #74786a; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #93a983; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #748a64; + background-color: #afc1a3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #93a983; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #74786a; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: #6c835c; + background-image: linear-gradient(to bottom, #b4c4a9, #bccbb2); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #74786a; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #5F8A45; + border-color: #5F8A45; + box-shadow: inset 0 0 0 1px #5F8A45; } +row:selected +button { + border-color: #192412; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #000000; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #bdcdb3; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 1.02), 1.05), shade(shade(#5F8A45, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #5F8A45; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.15), shade(#5F8A45, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 0.85), 1.05), shade(shade(#5F8A45, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #5F8A45; + background-color: #5F8A45; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #dfe8da; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #486834; + background-color: #486834; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dae1d6; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #93a983; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #62844d; + background-color: #62844d; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #99af8b; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(95, 138, 69, 0.8); } + button.suggested-action:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #74786a; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #24351b; + background-image: linear-gradient(to bottom, #5c7c48, #62844d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: #c0ceb8; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(95, 138, 69, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(95, 138, 69, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #5F8A45; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(95, 138, 69, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #93a983; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #e52c27; + background-color: #e52c27; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #ee7673; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #74786a; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #dc2924, #e52c27); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #f5aba9; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#5F8A45), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.76923)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 1.02), 1.05), shade(shade(#BAC8B0, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .inline-toolbar toolbutton > button:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.15), shade(#BAC8B0, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 0.85), 1.05), shade(shade(#BAC8B0, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #74786a; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: #6c835c; + background-image: linear-gradient(to bottom, #b4c4a9, #bccbb2); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #74786a; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #74786a; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #748a64; + background-color: #a2b295; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #74786a; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #93a983; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #748a64; + background-color: #afc1a3; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #93a983; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #5F8A45; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #304623; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #26371c; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #0a0e07; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #131c0e; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #5F8A45; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #131c0e; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #3d3933; + background-image: none; + border-style: none none none solid; + border-color: rgba(108, 131, 92, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #2E2824; + background-color: rgba(46, 40, 36, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(116, 120, 106, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #7b8171; + background-color: transparent; + border-color: rgba(116, 138, 100, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(147, 169, 131, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #74786a; } +spinbutton.vertical:backdrop:disabled { + color: #93a983; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #BAC8B0; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: #6c835c; + background-color: #a3b397; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #748a64; + background-color: #a2b295; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: #6c835c; + border-radius: 0; + background: #BAC8B0 linear-gradient(to bottom, #BAC8B0, shade(#BAC8B0, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #000000; + text-shadow: none; + border-color: #192412; + background: #5F8A45 linear-gradient(to bottom, #5F8A45, shade(#5F8A45, 0.88)); + box-shadow: inset 0 1px rgba(159, 185, 143, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #5F8A45; + background-image: none; + box-shadow: inset 0 1px rgba(175, 197, 162, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 1.02), 1.05), shade(shade(#5F8A45, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.15), shade(#5F8A45, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 0.85), 1.05), shade(shade(#5F8A45, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #5F8A45; + background-color: #5F8A45; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #131c0e; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #486834; + background-color: #486834; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #0e150a; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #6e9456; + background-color: #6e9456; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #486038; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #62844d; + background-color: #62844d; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #405632; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #24351b; + background-color: #6e9456; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #374a2b; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #24351b; + background-image: linear-gradient(to bottom, #5c7c48, #62844d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #27351f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 1.02), 1.05), shade(shade(#BAC8B0, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.15), shade(#BAC8B0, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 0.85), 1.05), shade(shade(#BAC8B0, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #74786a; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #74786a; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #192412; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #93a983; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(95, 138, 69, 0); + background-color: rgba(95, 138, 69, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: #6c835c; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #777c6d; + border-top-color: #BAC8B0; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #304523; + border-top-color: rgba(46, 40, 36, 0.1); } + treeview.view:disabled { + color: #74786a; } + treeview.view:disabled:selected { + color: #395329; } + treeview.view:disabled:selected:backdrop { + color: #7b9e66; } + treeview.view:disabled:backdrop { + color: #93a983; } + treeview.view.separator { + min-height: 2px; + color: #BAC8B0; } + treeview.view.separator:backdrop { + color: rgba(186, 200, 176, 0.1); } + treeview.view:backdrop { + border-left-color: #97a08d; + border-top: #BAC8B0; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #192412; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #5a5a50; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #2E2824; } + treeview.view.expander:selected { + color: #1d2915; } + treeview.view.expander:selected:hover { + color: #000000; } + treeview.view.expander:selected:backdrop { + color: #a1b992; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #8a9280; } + treeview.view.progressbar { + color: #C0CFB6; + border: 1px solid #192412; + border-radius: 4px; + background-color: #5F8A45; + background-image: linear-gradient(to bottom, #5F8A45, #486834); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #5F8A45; + box-shadow: none; + background-image: linear-gradient(to bottom, #C0CFB6, #a5bb97); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #5F8A45; + border-color: #192412; + background-color: #bdcdb3; } + treeview.view.progressbar:backdrop { + color: #bdcdb3; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(46, 40, 36, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #5F8A45; } + treeview.view header button { + color: #777c6d; + background-color: #C0CFB6; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #535249; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #2E2824; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #5F8A45; + color: #C0CFB6; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #C0CFB6; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #5F8A45; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #BAC8B0; } + treeview.view header button:disabled { + border-color: #BAC8B0; + background-image: none; } + treeview.view header button:backdrop { + border-color: #BAC8B0; + border-style: none solid solid none; + color: #97a08d; + background-image: none; + background-color: #bdcdb3; } + treeview.view header button:backdrop:disabled { + border-color: #BAC8B0; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #BAC8B0; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.2), shade(#5F8A45, 1)); + color: #000000; + border-color: shade(#5F8A45, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #74786a; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #cfd9c8; + border: 1px solid #6c835c; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #bdcdb3; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #000000; + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.2), shade(#5F8A45, 1)); + box-shadow: inset 1px 1px shade(#5F8A45, 0.8), inset -1px -1px shade(#5F8A45, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #74786a; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #93a983; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #74786a; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #cfd9c8; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #b1bea7; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #b1bea7; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #b1bea7; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #bdcdb3; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #e9eee6; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #000000; } + .csd popover.background, popover.background { + border: 1px solid #6c835c; } + popover.background:backdrop { + background-color: #BAC8B0; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #BAC8B0; } + notebook > header:backdrop { + border-color: #748a64; + background-color: #BAC8B0; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#BAC8B0, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #74786a; + background-color: #BAC8B0; + border-width: 1px; + border-radius: 3px; + border-color: shade(#BAC8B0, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #515047; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(108, 131, 92, 0.3); + background-color: rgba(186, 200, 176, 0.2); } + notebook > header tab:backdrop { + color: #909886; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #2E2824; + background-color: shade(#BAC8B0, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #BAC8B0; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(108, 131, 92, 0.5); + background-color: shade(#BAC8B0, 1.05); } + notebook > header tab:backdrop:checked { + color: #74786a; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #748a64; + background-color: #BAC8B0; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#BAC8B0, 1.05); + border: 1px solid shade(#BAC8B0, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #BAC8B0; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #bac8b0, #bac8b0); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #c7d2bf; } + scrollbar.bottom { + border-top: 1px solid #c7d2bf; } + scrollbar.left { + border-right: 1px solid #c7d2bf; } + scrollbar.right { + border-left: 1px solid #c7d2bf; } + scrollbar:backdrop { + background-color: #b2c2a7; + border-color: #c7d2bf; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid #6c835c; + border-radius: 0px; + background-clip: padding-box; + background-color: #51763b; } + scrollbar slider:hover { + background-color: #436131; } + scrollbar slider:hover:active { + background-color: #436131; } + scrollbar slider:backdrop { + background-color: #abcb98; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#2E2824, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#2E2824, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #51763b; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #436131; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #436131; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(81, 118, 59, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #abcb98; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(171, 203, 152, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid #6c835c; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #9bac8e; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#192412, 1.1); + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.1), #5F8A45); + text-shadow: 0 1px rgba(25, 36, 18, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: #6c835c; + background-color: #bccbb2; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #748a64; + background-color: #a2b295; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #BAC8B0; + border-color: #5F8A45; + background-color: #5F8A45; + box-shadow: none; } + switch:disabled { + border-color: #748a64; + background-image: none; + background-color: #bccbb2; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, #c7d2bf 20%, #BAC8B0 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -2px #bfccb6, inset 0 -1px #9aaf8c, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, #d2dbcb 10%, #c5d0bc 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -2px #c7d2bf, inset 0 -1px #a0b392, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#192412,0.8); } + switch:disabled slider { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #74786a; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #74786a; } + switch:backdrop:checked slider { + border-color: #5F8A45; } + switch:backdrop:disabled slider { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #93a983; } + row:selected switch { + box-shadow: none; + border-color: #192412; } + row:selected switch:backdrop { + border-color: #192412; } + row:selected switch.slider:dir(rtl) { + border-left-color: #6c835c; } + row:selected switch.slider:dir(ltr) { + border-right-color: #6c835c; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #192412; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, #c7d2bf 20%, #BAC8B0 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -2px #bfccb6, inset 0 -1px #9aaf8c, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, #d2dbcb 10%, #c5d0bc 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -2px #c7d2bf, inset 0 -1px #a0b392, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 0.85), 1.05), shade(shade(#BAC8B0, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #74786a; } + check:backdrop, + radio:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #74786a; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #93a983; } + row:selected check, row:selected + radio { + border-color: #192412; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #2E2824; + border-color: #192412; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #74786a; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #93a983; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #74786a; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid #6c835c; + border-radius: 3px; + background-color: #9fb093; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: #bccbb2; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #a2b295; + border-color: #748a64; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: #bccbb2; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #192412; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#5F8A45, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.1), shade(#5F8A45, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #5F8A45; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #192412; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: #6c835c; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 1.02), 1.05), shade(shade(#BAC8B0, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.45), shade(#BAC8B0, 1.15)); + border: 1px solid #657a55; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, #d2dbcb 10%, #c5d0bc 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -2px #c7d2bf, inset 0 -1px #a0b392, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #192412; } + scale slider:disabled { + border-color: #6c835c; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #74786a; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #74786a; } + scale slider:backdrop:disabled { + border-color: #748a64; + background-color: #bccbb2; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #93a983; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #192412; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(#6c835c); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(46, 40, 36, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#5F8A45, 0.7), inset -1px -1px shade(#5F8A45, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #2E2824; + border-color: #6c835c; + background-color: #C0CFB6; + box-shadow: inset 0 0 0 1px rgba(95, 138, 69, 0); } + levelbar trough:backdrop { + color: #4b4941; + border-color: #748a64; + background-color: #bdcdb3; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #304623; + background-color: #5F8A45; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #5F8A45; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(46, 40, 36, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(116, 120, 106, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #2E2824; + border: 1px solid #6c835c; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #74786a; + border-color: #748a64; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid #6c835c; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #748a64; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid #6c835c; } + actionbar > revealer > box:backdrop { + border-color: #748a64; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#536547), to(rgba(83, 101, 71, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(46, 40, 36, 0.07)), to(rgba(46, 40, 36, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#748a64), to(rgba(116, 138, 100, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#536547), to(rgba(83, 101, 71, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(46, 40, 36, 0.07)), to(rgba(46, 40, 36, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#748a64), to(rgba(116, 138, 100, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#536547), to(rgba(83, 101, 71, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(46, 40, 36, 0.07)), to(rgba(46, 40, 36, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#748a64), to(rgba(116, 138, 100, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#536547), to(rgba(83, 101, 71, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(46, 40, 36, 0.07)), to(rgba(46, 40, 36, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#748a64), to(rgba(116, 138, 100, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, #6c835c 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #51763b; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #748a64 1px, transparent 1px); + background-color: #b2c2a7; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #2E2824; + background-color: #C0CFB6; + border-color: #6c835c; } + list:backdrop { + background-color: #bdcdb3; + border-color: #748a64; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(46, 40, 36, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #5a8042; } + row.activatable:selected:backdrop { + background-color: #5F8A45; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: #847367; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #2E2824; + border: 1px solid #6c835c; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(46, 40, 36, 0.45); } + calendar.button:hover { + color: #2E2824; } + calendar.button:backdrop { + color: rgba(116, 120, 106, 0.45); } + calendar.button:disabled { + color: rgba(116, 120, 106, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #2E2824; } + calendar:backdrop { + color: #4b4941; + border-color: #748a64; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #BAC8B0; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid #6c835c; } + filechooser .dialog-action-box:backdrop { + border-top-color: #748a64; } +filechooser #pathbarbox { + border-bottom: 1px solid #BAC8B0; } + filechooser #pathbarbox stack { + background-color: #BAC8B0; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #C0CFB6; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#C0CFB6, 0.87), shade(#C0CFB6, 0.95) 10%, shade(#C0CFB6, 0.99) 92%, shade(#C0CFB6, 0.92)); + box-shadow: 0 -1px shade(#BAC8B0, 0.85), 0 1px shade(#BAC8B0, 1.12); } + .sidebar row:selected label { + color: #2E2824; } + .sidebar row:selected label:backdrop { + color: #74786a; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid #6c835c; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid #6c835c; + border-right-style: none; } + .sidebar:backdrop { + background-color: #bccbb2; + border-color: #748a64; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #2E2824; } + placessidebar row:disabled { + color: #74786a; } + placessidebar row:backdrop { + color: #74786a; + background-color: #BAC8B0; } + placessidebar row:backdrop:selected { + color: #74786a; } + placessidebar row:backdrop:disabled { + color: #93a983; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#5F8A45); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #5F8A45; } + placessidebar row:drop(active):not(:disabled) { + color: #5F8A45; + box-shadow: inset 0 1px #5F8A45, inset 0 -1px #5F8A45; } + placessidebar row:drop(active):not(:disabled):selected { + color: #000000; + background-image: linear-gradient(to bottom, #98c080, #aece9b 10%, #b9d4a9 92%, #a6c991); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(#6c835c); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#5F8A45); } + paned > separator:backdrop { + background-image: image(#748a64); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #BAC8B0; + background-image: image(#6c835c), image(#6c835c); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #BAC8B0; + background-image: image(#748a64), image(#748a64); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #486834; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #5F8A45; + border-color: #486834; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #000000; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 1.02), 1.05), shade(shade(#5F8A45, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); + border-color: #304623; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.15), shade(#5F8A45, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.2); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #24351b; + background-image: linear-gradient(to bottom, shade(shade(#5F8A45, 0.85), 1.05), shade(shade(#5F8A45, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #24351b; + background-color: #6e9456; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #374a2b; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #5F8A45; + background-color: #5F8A45; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #24351b; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #131c0e; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #6e9456; + background-color: #6e9456; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #24351b; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #486038; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #486834; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #BAC8B0; + background-clip: padding-box; + border: 1px solid #adbea1; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #2E2824; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #000000; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #bdcdb3; } +colorswatch.light overlay { + color: #2E2824; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #4b4941; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #5F8A45; + box-shadow: inset 0 0 0 2px #4f7239, inset 0 0 0 1px #5F8A45; } + colorswatch:drop(active).dark overlay { + border-color: #5F8A45; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #5F8A45; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-top-color: shade(#BAC8B0, 0.8); + border-right-color: shade(#BAC8B0, 0.72); + border-left-color: shade(#BAC8B0, 0.72); + border-bottom-color: shade(#BAC8B0, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#BAC8B0, 1.02), 1.05), shade(shade(#BAC8B0, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + colorswatch#add-color-button overlay:hover { + color: #2E2824; + outline-color: rgba(46, 40, 36, 0.3); + border-color: #6c835c; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.15), shade(#BAC8B0, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + colorswatch#add-color-button overlay:backdrop { + border-color: #748a64; + background-color: #BAC8B0; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #74786a; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #000000; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #a8b99b; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #a8b99b; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(46, 40, 36, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #BAC8B0; + border: solid 1px #748a64; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.67529); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.67529); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #5F8A45; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #304523; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #bdcdb3; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #7b9e66; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #2E2824; + background-color: #C0CFB6; + border: 1px solid; + border-color: #93a686; + border-radius: 5px; + box-shadow: inset 0 -3px #bbc9b1; + font-size: smaller; } + .keycap:backdrop { + background-color: #bdcdb3; + color: #74786a; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #5F8A45; + box-shadow: inset 0 0 0 1px #5F8A45; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #2E2824; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #2E2824; +/* +widget base background color */ +@define-color theme_bg_color #BAC8B0; +/* +text widgets and the like base background color */ +@define-color theme_base_color #C0CFB6; +/* +base background color of selections */ +@define-color theme_selected_bg_color #5F8A45; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #000000; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #bccbb2; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #74786a; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #C0CFB6; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #74786a; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #2E2824; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #BAC8B0; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #bdcdb3; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #5F8A45; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #000000; +/* +widgets main borders color */ +@define-color borders #6c835c; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #748a64; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#2E2824, 1.8); +@define-color wm_unfocused_title #74786a; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#BAC8B0, 1.2); +@define-color wm_bg_b #BAC8B0; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#BAC8B0, 1.3); +@define-color wm_button_hover_color_b #BAC8B0; +@define-color wm_button_active_color_a shade(#BAC8B0, 0.85); +@define-color wm_button_active_color_b shade(#BAC8B0, 0.89); +@define-color wm_button_active_color_c shade(#BAC8B0, 0.9); +@define-color content_view_bg #C0CFB6; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#BAC8B0, 1.18); + color: #2E2824; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#BAC8B0, 0.35); + color: #2E2824; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #2E2824; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#BAC8B0, 0.7); + border-color: shade(#BAC8B0, 0.6); + color: #2E2824; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#5F8A45, 0.6); + background-image: linear-gradient(to bottom, shade(#5F8A45, 0.88), shade(#5F8A45, 0.85)); + color: #2E2824; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#BAC8B0, 0.3); + color: #2E2824; + border-color: shade(#BAC8B0, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#2E2824, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #2E2824; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#BAC8B0, 0.65), shade(#BAC8B0, 1.25)); + border: 1px solid shade(#BAC8B0, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #BAC8B0; + color: #2E2824; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #BAC8B0; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #C0CFB6; + color: #2E2824; + box-shadow: inset 1px 0 shade(#C0CFB6, 0.6), inset -1px 0 shade(#C0CFB6, 0.6), inset 0 1px shade(#C0CFB6, 0.6), inset 0 -1px shade(#C0CFB6, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#5F8A45, 0.8); + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.02), shade(#5F8A45, 0.95) 90%, shade(#5F8A45, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#5F8A45, 0.7); + background-image: linear-gradient(to bottom, shade(#5F8A45, 1.12), shade(#5F8A45, 1.05) 90%, shade(#5F8A45, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #2E2824; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #2E2824; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#C0CFB6, 0.75), inset -1px 0 shade(#C0CFB6, 0.75), inset 0 1px shade(#C0CFB6, 0.55), inset 0 -1px shade(#C0CFB6, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#C0CFB6, 0.9), shade(#C0CFB6, 0.98) 10%, shade(#C0CFB6, 1) 99%, shade(#C0CFB6, 1)); + box-shadow: inset 0 1px shade(#C0CFB6, 0.8), inset 0 -1px shade(#C0CFB6, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 0.85), shade(#BAC8B0, 0.98) 10%, shade(#BAC8B0, 1) 99%, shade(#BAC8B0, 1)); + box-shadow: inset 1px 0 shade(#C0CFB6, 0.6), inset -1px 0 shade(#C0CFB6, 0.6), inset 0 1px shade(#C0CFB6, 0.6), inset 0 -1px shade(#C0CFB6, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #C0CFB6; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #C0CFB6; } + +/* Floating status bar */ +.floating-bar { + background-color: #C0CFB6; + border-style: solid; + border-color: #6c835c; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #BAC8B0; + border-color: #748a64; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #BAC8B0; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #C0CFB6; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #5F8A45; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #5F8A45; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#BAC8B0, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.07), #BAC8B0); + color: #2E2824; + text-shadow: 0 1px shade(#BAC8B0, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#BAC8B0, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#BAC8B0, 1.02), #BAC8B0); + color: #2E2824; + text-shadow: 0 1px shade(#BAC8B0, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#BAC8B0, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#BAC8B0, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#BAC8B0, 1); + background-color: shade(#BAC8B0, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #2E2824; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#BAC8B0, 0.8); + background-color: shade(#BAC8B0, 0.75); + color: #2E2824; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #2E2824; } diff --git a/themes/RainForest/gtk-3.0/gtk-contained.scss b/themes/RainForest/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/RainForest/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/RainForest/gtk-3.0/gtk.css b/themes/RainForest/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/RainForest/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/RainForest/gtk-3.0/gtk.gresource.xml b/themes/RainForest/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/RainForest/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/RainForest/gtk-3.0/parse-sass.sh b/themes/RainForest/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/RainForest/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/RainForest/gtk-3.0/settings.ini b/themes/RainForest/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/RainForest/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/RainForest/index.theme b/themes/RainForest/index.theme new file mode 100644 index 0000000..c9f9554 --- /dev/null +++ b/themes/RainForest/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=RainForest +Comment=Greybird-based theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=RainForest +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/RainForest/openbox-3/bullet.xbm b/themes/RainForest/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/RainForest/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/RainForest/openbox-3/close.xbm b/themes/RainForest/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/RainForest/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/RainForest/openbox-3/desk.xbm b/themes/RainForest/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/RainForest/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/RainForest/openbox-3/desk_toggled.xbm b/themes/RainForest/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/RainForest/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/RainForest/openbox-3/iconify.xbm b/themes/RainForest/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/RainForest/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/RainForest/openbox-3/max.xbm b/themes/RainForest/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/RainForest/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/RainForest/openbox-3/max_toggled.xbm b/themes/RainForest/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/RainForest/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/RainForest/openbox-3/shade.xbm b/themes/RainForest/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/RainForest/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/RainForest/openbox-3/shade_toggled.xbm b/themes/RainForest/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/RainForest/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/RainForest/openbox-3/themerc b/themes/RainForest/openbox-3/themerc new file mode 100644 index 0000000..400f732 --- /dev/null +++ b/themes/RainForest/openbox-3/themerc @@ -0,0 +1,94 @@ +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #BAC8B0 +menu.title.bg.colorTo: #BAC8B0 +menu.title.text.color: #2E2824 +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #BAC8B0 +menu.items.text.color: #2E2824 +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #5F8A45 +menu.items.active.bg.colorTo:#5F8A45 +menu.items.active.text.color: #101010 +menu.bullet.selected.image.color: #101010 + +menu.separator.color: #4c4c4c +menu.border.color: #5F8A45 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #BAC8B0 +window.active.title.bg.colorTo: #BAC8B0 +window.active.title.separator.color: #BAC8B0 + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #BAC8B0 +window.active.handle.bg.colorTo: #BAC8B0 + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #2E2824 + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #2E2824 +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #666666 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #BAC8B0 +window.inactive.title.bg.colorTo: #BAC8B0 +window.inactive.title.separator.color: #BAC8B0 + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #BAC8B0 +window.inactive.handle.bg.colorTo: #BAC8B0 + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #101010 +window.inactive.button.*.pressed.image.color: #666666 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings + +window.active.border.color: #BAC8B0 +window.inactive.border.color: #BAC8B0 + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #BAC8B0 +osd.bg.colorTo: #BAC8B0 +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #a3a3a3 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #545454 +osd.label.text.color: #2E2824 + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/RainForest/xfce-notify-4.0/gtk.css b/themes/RainForest/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..8ed4840 --- /dev/null +++ b/themes/RainForest/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #C8CFCB; + color: #13071B; + border: 0px solid shade(#C8CFCB, 1.0); + border-radius: 1px; +} + +#XfceNotifyWindow:hover { + background-color: #C8CFCB; + color: #13071B; + border: 1px solid shade(#3c3c3c, 0.0); + border-radius: 1px; +} + +#XfceNotifyWindow button { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.08), + shade(#C8CFCB, 1.02) + ); + color: shade(#13071B, 0.4); + border-color: shade(#cecece, 0.75); + border-radius: 3px; +} + +#XfceNotifyWindow button:hover { + background-image: linear-gradient(to bottom, + shade(#C8CFCB, 1.14), + shade(#C8CFCB, 1.08) + ); +} + +#XfceNotifyWindow button:active { + background-color: shade(#C8CFCB, 0.8); +} + +#XfceNotifyWindow label#summary { + font-weight: bold; +} + +#XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #74998B; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#999999, 1.0), + shade(#999999, 1.0) + ); + border: 1px solid shade(#999999, 1.0); + border-radius: 3px; +} diff --git a/themes/RainForest/xfce-notify-4.0/gtkrc b/themes/RainForest/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..7acfe74 --- /dev/null +++ b/themes/RainForest/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#BAC8B0" + XfceNotifyWindow::border-color = "#5F8A45" + XfceNotifyWindow::border-color-hover = "#3c3c3c" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 2.0 + XfceNotifyWindow::border-width-hover = 2.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#C0CFB6" + bg[PRELIGHT] = "#C9D9BF" + fg[NORMAL] = "#2E2824" + fg[PRELIGHT] = "#2E2824" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#2E2824" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#5F8A45" + bg[ACTIVE] = "#999999" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" + diff --git a/themes/SoftWaves/LICENSE.CC b/themes/SoftWaves/LICENSE.CC new file mode 100644 index 0000000..c90487c --- /dev/null +++ b/themes/SoftWaves/LICENSE.CC @@ -0,0 +1,359 @@ +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/themes/SoftWaves/LICENSE.GPL b/themes/SoftWaves/LICENSE.GPL new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/themes/SoftWaves/LICENSE.GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/themes/SoftWaves/README.md b/themes/SoftWaves/README.md new file mode 100644 index 0000000..b551bf8 --- /dev/null +++ b/themes/SoftWaves/README.md @@ -0,0 +1,19 @@ +SoftWaves + +by hhh (hsumen@bunsenlabs.org) + +A gtk theme based on Greybird, designed to be compatible +with libgtk-3.0 (3.22.*) + +Made for BunsenLabs Linux Helium. Includes an Openbox theme +and themes for Xfce4-notifyd in both stretch and jessie. + +Designed to be compatible with Debian stretch. Colors +derived from softWaves, the default wallpaper theme of stretch. + +Only tested on stretch with a limited number of applications. + +https://github.com/shimmerproject/Greybird +https://wiki.debian.org/DebianArt/Themes/softWaves +https://packages.debian.org/stretch/desktop-base (Debian release of softwaves) +https://www.bunsenlabs.org/ \ No newline at end of file diff --git a/themes/SoftWaves/gtk-2.0/apps/chromium.rc b/themes/SoftWaves/gtk-2.0/apps/chromium.rc new file mode 100644 index 0000000..8d03147 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/chromium.rc @@ -0,0 +1,19 @@ +# Google Chrome/Chromium theming (requires 9.0.597 or newer) +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::inactive-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-frame-color = shade (0.5, @bg_color) + ChromeGtkFrame::incognito-inactive-frame-color = shade (0.5, @bg_color) + + ChromeGtkFrame::frame-gradient-size = 100 + ChromeGtkFrame::frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::inactive-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-frame-gradient-color = shade (1.08,@bg_color) + ChromeGtkFrame::incognito-inactive-frame-gradient-color = shade (1.08,@bg_color) + + ChromeGtkFrame::scrollbar-trough-color = @base_color + ChromeGtkFrame::scrollbar-slider-prelight-color = shade(0.92, @bg_color) + ChromeGtkFrame::scrollbar-slider-normal-color = @bg_color +} +class "ChromeGtkFrame" style "chrome-gtk-frame" diff --git a/themes/SoftWaves/gtk-2.0/apps/claws-mail.rc b/themes/SoftWaves/gtk-2.0/apps/claws-mail.rc new file mode 100644 index 0000000..0dc1c1d --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/claws-mail.rc @@ -0,0 +1,3 @@ +widget_class "*..*" style "notebook" # Claws-Mail compose-window workaround +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers +widget_class "*.." style "treeview-header" # Claws-Mail treeview-headers diff --git a/themes/SoftWaves/gtk-2.0/apps/gmusicbrowser.rc b/themes/SoftWaves/gtk-2.0/apps/gmusicbrowser.rc new file mode 100644 index 0000000..9672665 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/gmusicbrowser.rc @@ -0,0 +1,17 @@ +style "traytip-bg" +{ + bg[NORMAL] = @base_color + engine "murrine" + { + textstyle = 1 + text_shade = 0.75 + } +} + +style "gmusicbrowser-handle" +{ + GtkPaned::handle-size = 1 +} + +widget "Shimmer Desktop.VBMain.HPMain" style "gmusicbrowser-handle" +widget "Shimmer Traytip" style "traytip-bg" \ No newline at end of file diff --git a/themes/SoftWaves/gtk-2.0/apps/terminal.rc b/themes/SoftWaves/gtk-2.0/apps/terminal.rc new file mode 100644 index 0000000..de05835 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/terminal.rc @@ -0,0 +1,51 @@ +style "terminal" +{ + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @bg_color + base[NORMAL] = @bg_color +} + +style "terminal-scrollbar" +{ + base[NORMAL] = @bg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(0.95,@bg_color) + engine "murrine" { + gradient_shades = {0.85,0.85,0.85,0.85} + colorize_scrollbar = FALSE + glow_shade = 1.0 + trough_shades = { 0.975, 0.975 } # make the trough #CECECE (@bg_color) + trough_border_shades = { 1.03, 1.03 } # make the trough #CECECE + border_shades = { 0.75, 0.75 } + contrast = 0.0 + } +} + +style "terminal-notebook" = "dark" +{ + bg[NORMAL] = shade (1.08, @bg_color) # Tab background. + bg[ACTIVE] = shade (0.98, @bg_color) # Unfocused tab background. + fg[ACTIVE] = shade (0.86, @bg_color) + base[NORMAL] = @text_color + engine "murrine" + { + highlight_shade = 1.0 + roundness = 3 + contrast = 0.6 + + + ## things that don't work: + #glow_shade = 0.8 + #glowstyle = 2 + #focusstyle = 3 + #glazestyle = 3 + #border_shades = { 0.45, 2.5 } + #prelight_shade = 1.5 + } +} + +class "*TerminalWindow" style "terminal" +widget_class "TerminalWindow*GtkNotebook" style "terminal-notebook" +widget "*TerminalWindow.*.GtkVScrollbar" style "terminal-scrollbar" diff --git a/themes/SoftWaves/gtk-2.0/apps/thunar.rc b/themes/SoftWaves/gtk-2.0/apps/thunar.rc new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/thunar.rc @@ -0,0 +1,79 @@ +style "sidepane" +{ + GtkTreeView::vertical-separator = 4 + + base[NORMAL] = mix (0.1, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + base[INSENSITIVE] = mix (0.4, shade (1.35,@selected_bg_color), shade (0.9,@base_color)) + + text[NORMAL] = mix (0.7, @text_color, @base_color) + text[ACTIVE] = mix (0.7, @text_color, @base_color) + text[SELECTED] = mix (0.7, @text_color, @base_color) + + engine "pixmap" { + + image { + function = FLAT_BOX + state = SELECTED + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + + image { + function = FOCUS + recolorable = TRUE + file = "thunar/sidebar_active.png" + border = { 0, 0, 0, 0 } + stretch = TRUE + } + } +} + +style "breadcrumbs" +{ + xthickness = 9 + ythickness = 4 + ThunarLocationButtons::spacing = 0 + + engine "pixmap" { + image { + function = BOX + state = PRELIGHT + recolorable = TRUE + file = "thunar/breadcrumb_prelight.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = ACTIVE + file = "thunar/breadcrumb_active.png" + border = { 4, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + state = INSENSITIVE + file = "" + border = { 0, 10, 0, 0 } + stretch = TRUE + } + image { + function = BOX + file = "thunar/breadcrumb_default.png" + border = { 4, 10, 0, 10 } + stretch = TRUE + } + } +} + +widget_class "*ThunarLocationButtons*" style "breadcrumbs" +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "entry" +widget_class "*ThunarStatusbar*" style "resize-grip" + +# Gtk2 Open-File Dialog +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.." style "treeview-header" \ No newline at end of file diff --git a/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_active.png b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_active.png new file mode 100644 index 0000000..08fa7d0 Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_active.png differ diff --git a/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_default.png b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_default.png new file mode 100644 index 0000000..57b41e9 Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_default.png differ diff --git a/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_prelight.png b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_prelight.png new file mode 100644 index 0000000..dbd7bc7 Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/apps/thunar/breadcrumb_prelight.png differ diff --git a/themes/SoftWaves/gtk-2.0/apps/thunar/sidebar_active.png b/themes/SoftWaves/gtk-2.0/apps/thunar/sidebar_active.png new file mode 100644 index 0000000..f430cfe Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/apps/thunar/sidebar_active.png differ diff --git a/themes/SoftWaves/gtk-2.0/apps/xfce-panel.rc b/themes/SoftWaves/gtk-2.0/apps/xfce-panel.rc new file mode 100644 index 0000000..c799a00 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/apps/xfce-panel.rc @@ -0,0 +1,140 @@ +style "theme-panel" = "dark" +{ + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = shade (0.35, @bg_color_dark) + bg[ACTIVE] = shade (0.65, @bg_color_dark) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.65, @selected_bg_color) + + fg[NORMAL] = shade (0.9, @base_color) + fg[PRELIGHT] = @base_color + fg[ACTIVE] = shade (0.9, @base_color) + fg[SELECTED] = shade (0.9, @base_color) + + text[NORMAL] = shade (0.9, @base_color) + text[PRELIGHT] = @base_color + text[ACTIVE] = shade (0.9, @base_color) + text[SELECTED] = shade (0.9, @base_color) + + engine "murrine" { + roundness = 0 + glowstyle = 0 + glazestyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "theme-panel-text" +{ + fg[NORMAL] = @base_color + fg[PRELIGHT] = "#ffffff" + fg[ACTIVE] = @base_color + + text[NORMAL] = @base_color + text[PRELIGHT] = "#ffffff" + text[ACTIVE] = @base_color + + engine "murrine" { + textstyle = 1 + text_shade = 0.2 + } +} + +style "panel-entry" = "dark" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @text_color + fg[SELECTED] = @text_color + fg[INSENSITIVE] = @text_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[ACTIVE] = @text_color + text[SELECTED] = @text_color + text[INSENSITIVE] = @text_color + +} + +style "theme-main-menu-text" = "theme-panel-text" +{ + fg[PRELIGHT] = "#ffffff" + text[PRELIGHT] = "#ffffff" +} + +style "workspace-switcher" = "theme-panel" +{ + bg[SELECTED] = shade (0.8, @selected_bg_color) +} + +style "window-buttons" = "theme-panel" +{ + xthickness = 3 + ythickness = 3 + + bg[ACTIVE] = shade (0.65, @selected_bg_color) + bg[PRELIGHT] = shade (0.85, @selected_bg_color) + bg[SELECTED] = shade (0.85, @selected_bg_color) + + fg[NORMAL] = shade (0.7, @base_color) + fg[ACTIVE] = @base_color + fg[PRELIGHT] = @base_color + + engine "murrine" { + contrast = 0.0 + gradient_shades = { 1.0, 0.9, 0.8, 0.7 } + roundness = 1 + reliefstyle = 0 + textstyle = 1 + text_shade = 0.2 + } +} + +style "indicator" = "theme-panel" +{ + xthickness = 0 + ythickness = 0 +} + +widget "*PanelWidget*" style "theme-panel" +widget "*PanelApplet*" style "theme-panel" +widget "*fast-user-switch*" style "theme-panel" +widget "*CPUFreq*Applet*" style "theme-panel" +class "PanelApp*" style "theme-panel" +class "PanelToplevel*" style "theme-panel" +widget_class "*PanelToplevel*" style "theme-panel" +widget_class "*notif*" style "theme-panel" +widget_class "*Notif*" style "theme-panel" +widget_class "*Tray*" style "theme-panel" +widget_class "*tray*" style "theme-panel" +widget_class "*computertemp*" style "theme-panel" +widget_class "*Applet*Tomboy*" style "theme-panel" +widget_class "*Applet*Netstatus*" style "theme-panel" + +# Fixes for tooltip text in some apps. +widget_class "*Notif*Beagle*" style "theme-panel" +widget_class "*Notif*Brasero*" style "theme-panel" + +# XFCE panel theming. +widget "*Xfce*Panel*" style "theme-panel" +class "*Xfce*Panel*" style "theme-panel" +widget "*WnckPager*" style "workspace-switcher" + +# Fix gtk-entries in the panel +class "GtkEntry" style "combo" +class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin +widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin + +# Make sure panel text color doesn't change +widget_class "*Panel*MenuBar*" style "theme-main-menu-text" +widget_class "*Panel**" style "theme-main-menu-text" +widget "*.clock-applet-button.*" style "theme-panel-text" +widget "*PanelApplet*" style "theme-panel-text" + +# Override general panel-style with specific plugin-styles +widget "*indicator-applet*" style "indicator" +widget "*indicator-button*" style "indicator" +widget "*XfceTasklist*" style "window-buttons" diff --git a/themes/SoftWaves/gtk-2.0/gtkrc b/themes/SoftWaves/gtk-2.0/gtkrc new file mode 100644 index 0000000..b745939 --- /dev/null +++ b/themes/SoftWaves/gtk-2.0/gtkrc @@ -0,0 +1,804 @@ +# Author: hhh +# Theme: SoftWaves +# based on "Greybird" by Simon Steinbeiß +# Description: As is the original theme, this theme is 100% free and open source. + +gtk-color-scheme = "bg_color:#CECECE\nselected_bg_color:#729992\nbase_color:#dbdbdb" # Background, base. +gtk-color-scheme = "fg_color:#212121\nselected_fg_color:#000000\ntext_color:#101010" # Foreground, text. +gtk-color-scheme = "tooltip_bg_color:#CECECE\ntooltip_fg_color:#212121" # Tooltips. +gtk-color-scheme = "link_color:#2d71b8" # Hyperlinks +gtk-color-scheme = "panel_bg:#CECECE" # same as bg_color +gtk-color-scheme = "fm_color:#101010" # same as fg_color +gtk-color-scheme = "bg_color_dark:#CECECE\ntext_color_dark:#101010" + +gtk-icon-sizes = "panel-applications-menu=24,24:panel-menu=24,24:panel=16,16:gtk-button=16,16" +gtk-button-images = 0 # Disables icons for buttons with text +gtk-toolbar-style = 0 # Disables text in toolbar +gtk-auto-mnemonics = 1 # Disables ugly lines under menu items + +#################### +## Default Styles ## +#################### + +style "default" +{ + GnomeHRef ::link_color = @link_color + GtkHTML ::link-color = @link_color + GtkIMHtmlr ::hyperlink-color = @link_color + GtkIMHtml ::hyperlink-color = @link_color + GtkWidget ::link-color = @link_color + GtkWidget ::visited-link-color = @text_color + + GtkButton ::child-displacement-x = 1 + GtkButton ::child-displacement-y = 1 + GtkButton ::default-border = { 0, 0, 0, 0 } + GtkCheckButton ::indicator-size = 15 + + GtkEntry ::honors-transparent-bg-hint = 1 + GtkEntry ::progress-border = { 3, 3, 3, 3 } + GtkEntry ::state-hint = 0 + + GtkImage ::x-ayatana-indicator-dynamic = 1 + + GtkMenu ::horizontal-padding = 0 + GtkMenu ::vertical-padding = 0 + + GtkPaned ::handle-size = 3 + + GtkNotebook ::tab-overlap =-2 + + GtkProgressBar ::min-vertical-bar-width = 10 + GtkProgressBar ::min-horizontal-bar-height = 10 + + GtkRange ::trough-border = 0 + GtkRange ::slider-width = 10 + GtkRange ::stepper-size = 13 + GtkRange ::stepper_spacing = 0 + + GtkScale ::slider-length = 15 + GtkScale ::slider-width = 12 + GtkScale ::trough-side-details = 1 + + GtkScrollbar ::min-slider-length = 50 + #GtkScrollbar ::slider-width = 15 # Huh, Shimmer Project? This property isn't in the Reference Manual + #GtkScrollbar ::activate-slider = 1 # Wha? + #GtkScrollbar ::trough-border = 0 # Zah? + GtkScrollbar ::has-backward-stepper = 1 + GtkScrollbar ::has-forward-stepper = 1 + + GtkScrolledWindow ::scrollbar-spacing = 0 + GtkScrolledWindow ::scrollbars-within-bevel = 1 + + GtkMenuBar ::internal-padding = 0 + GtkMenuBar ::window-dragging = 1 + + GtkExpander ::expander-size = 12 + GtkToolbar ::internal-padding = 0 + GtkTreeView ::expander-size = 10 + GtkTreeView ::vertical-separator = 0 + + GtkWidget ::focus-line-width = 1 + GtkWidget ::focus-padding = 0 + + GtkWindow ::resize-grip-height = 13 + GtkWindow ::resize-grip-width = 13 + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (0.88, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = shade (0.95, @bg_color) + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @bg_color) + base[ACTIVE] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @base_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @selected_fg_color + text[ACTIVE] = @fg_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + + engine "murrine" + { + animation = FALSE + arrowstyle = 2 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.2, 1.0 } # gradient to draw on border + cellstyle = 0 + colorize_scrollbar = TRUE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.4 # 0.8 for less contrast, more than 1.0 for more contrast on borders + # default_button_color = mix (0.2, shade(0.9,@base_color), shade (0.9, @selected_bg_color)) + expanderstyle = 0 + focus_color = shade (0.3,@selected_bg_color) + focusstyle = 2 + glazestyle = 1 # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight + gradient_shades = {1.2,1.0,1.0,0.9} #{1.1,1.0,1.0,0.87} + glowstyle = 4 # 0,1,2,3,4 + glow_shade = 1.1 + handlestyle = 1 + highlight_shade = 1.0 # set highlight amount for buttons or widgets + lightborder_shade = 1.1 # sets lightborder amount for buttons or widgets + lightborderstyle = 0 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 1 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 2 # 0 = nothing, 1 = dotted, 2 = solid + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = no vertical menu stripe, 1 = display vertical menu stripe + prelight_shade = .9 # shade level for scrollbar's slider, comboboxstyle(1), and prelight state with gradient_colors + progressbarstyle = 0 # 0 = nothing, 1 = stripes, 2 = lines + reliefstyle = 3 # 0 = flat, 1 = inset, 2 = shadow + rgba = FALSE # FALSE = disabled, TRUE = enabled + roundness = 2 # 0 = squared, 1 = old default, more will increase roundness + scrollbarstyle = 0 # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + separatorstyle = 0 # 0 = Hard seperators 1 = Smooth seperators + sliderstyle = 0 # 0 = nothing added, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles, 2 = unknown + shadow_shades = { 1.0, 1.0 } # gradient for shadows. + textstyle = 0 # 0 = normal text, 1 = inset + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + trough_shades = { 0.75, 0.75 } # draw gradient on trough of GtkScrollbar and GtkProgressbar + #trough_border_shades = { 0.9, 0.7 } + } +} + +style "resize-grip" +{ + engine "pixmap" { + } +} + +style "paned" = "default" +{ + engine "murrine" + { + contrast = 1.0 + } +} + +### THEME MODULES ### + +style "dark" { + + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[NORMAL] = @bg_color_dark + bg[ACTIVE] = shade (0.7, @bg_color_dark) + bg[PRELIGHT] = shade (0.7, @bg_color_dark) + bg[SELECTED] = shade (0.6, @bg_color_dark) + + fg[NORMAL] = @text_color_dark + fg[PRELIGHT] = @text_color_dark + fg[ACTIVE] = @text_color_dark + fg[SELECTED] = @text_color_dark + + text[NORMAL] = @text_color_dark + text[PRELIGHT] = @text_color_dark + text[ACTIVE] = @text_color_dark + text[SELECTED] = @text_color_dark + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + } +} + +style "wide" +{ + xthickness = 2 + ythickness = 2 +} + +style "wider" +{ + xthickness = 3 + ythickness = 3 +} + +style "entry" = "wider" +{ + bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) + base[INSENSITIVE] = shade (1.06, @bg_color) + fg[SELECTED] = @text_color + + engine "murrine" + { + contrast = 0.4 + focus_color = mix (0.1, @bg_color, shade (0.8, @selected_bg_color)) + reliefstyle = 0 + border_shades = {1.03,0.8} + } +} + +style "button" = "wider" +{ + # bg[NORMAL] = shade (1.02, @bg_color) + # bg[PRELIGHT] = shade (1.09, @bg_color) + # bg[ACTIVE] = shade (0.85, @bg_color) + # bg[SELECTED] = shade (0.5, @selected_bg_color) + # bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" + { + contrast = 0.9 + highlight_shade = 1.0 + lightborder_shade = 1.2 + gradient_shades = {1.05,1.0,0.97,0.97} + border_shades = { 1.1, 0.9 } + shadow_shades = {1.0,1.0} + reliefstyle = 0 + roundness = 2 + } +} + +style "notebook-button" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 +} + +style "notebook-bg" +{ + bg[NORMAL] = shade (0.95, @base_color) + bg[ACTIVE] = shade (0.97, @bg_color) + fg[ACTIVE] = mix (0.8, @fg_color, shade (0.97, @bg_color)) +} + +style "notebook" = "notebook-bg" +{ + xthickness = 3 # Width of tabs and notebook borders. + ythickness = 3 # Height of tabs and notebook borders. + + engine "murrine" { + contrast = .6 + gradient_shades = {1.1,1.05,1.05,1.0} + #focusstyle = 2 + #lightborder_shade = 1.16 + } +} + +style "menu" +{ + ythickness = 3 + xthickness = 0 + GtkMenuBar :: shadow-type = GTK_SHADOW_NONE + + bg[SELECTED] = @selected_bg_color + bg[NORMAL] = shade (1.1, @bg_color) + bg[PRELIGHT] = @selected_bg_color + bg[ACTIVE] = shade (1.1, @bg_color) + bg[INSENSITIVE] = shade (1.1, @bg_color) + fg[NORMAL] = @fg_color # Color for normal text. + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) # Text color for non-interactive menu items + text[NORMAL] = @text_color # Color for menu-item radio/checks. + base[NORMAL] = shade (1.1, @bg_color) # Color for menu-item radio/checks background. + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + roundness = 0 # Roundness of menu items. + gradient_shades = {1.25,1.1,1.1,1.0} + contrast = 0.9 + lightborder_shade = 1.5 + } +} + + +style "menubar" = "menu" +{ + xthickness = 3 + ythickness = 2 + + bg[NORMAL] = @bg_color + + engine "murrine" + { + roundness = 0 + } +} + +style "menubar-menuitem" +{ + ythickness = 4 + xthickness = 2 + + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + + engine "murrine" + { + lightborder_shade = 1.5 + } +} + +style "separator-menu-item" +{ + xthickness = 1 + ythickness = 0 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 7 +} + +style "treeview" +{ + bg[NORMAL] = @bg_color + engine "murrine" + { + roundness = 0 + gradient_shades = {1.3,1.2,1.2,1.1} + } +} + +style "treeview-header" = "button" +{ + xthickness = 2 + ythickness = 1 + + bg[NORMAL] = shade (1.14, @bg_color) # Color for treeview headers. + bg[PRELIGHT] = shade (0.98, @bg_color) # Color for treeview header prelight. + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-treeview. + + engine "murrine" + { + roundness = 0 # This makes treeview progressbars square. + gradient_shades = {0.98,1.0,1.3,1.35} + } +} + +style "frame-title" +{ + fg[NORMAL] = @fg_color +} + +style "tooltips" = "wider" +{ + xthickness = 7 + ythickness = 4 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" + { + roundness = 0 + rgba = FALSE + } +} + +style "progressbar" +{ + xthickness = 0 + ythickness = 0 + + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = shade (1.05, @bg_color) + bg[SELECTED] = shade (1.05, @selected_bg_color) + + engine "murrine" + { + gradient_shades = {1.15,1.05,1.0,0.95} + trough_shades = {1.15, 1.15} + trough_border_shades = { 0.8, 0.7 } + roundness = 1 + contrast = 0.8 + border_shades = { 1.0, 0.8 } + lightborder_shade = 1.1 + glowstyle = 0 + glow_shade = 1.0 + } +} + +style "scrollbar" +{ + GtkScrollbar::stepper-size = 0 + GtkScrollbar::arrow-scaling = 0.0 + + bg[NORMAL] = shade (0.85, @selected_bg_color) + bg[ACTIVE] = shade (0.85, @selected_bg_color) + bg[PRELIGHT] = shade (0.70, @selected_bg_color) + bg[INSENSITIVE] = shade (0.70, @selected_bg_color) + + engine "murrine" + { + colorize_scrollbar = FALSE + roundness = 0 + border_shades = {1.0, 1.0} + trough_shades = {0.95, 0.95} + contrast = 0.05 + gradient_shades = {1.06,1.06,1.04,1.04} + } +} + +style "hscrollbar" { +} + +style "vscrollbar" { +} + +style "statusbar" +{ + xthickness = 2 +} + +style "comboboxentry" +{ + xthickness = 4 + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + + engine "murrine" + { + contrast = 0.4 + reliefstyle = 0 + border_shades = {1.03,0.8} + shadow_shades = {0.5,0.0} + } +} + +style "combo" = "comboboxentry" +{ + bg[ACTIVE] = shade (0.85, @bg_color) # Color for pressed-spinbuttons. +} + +style "spin" = "combo" +{ + engine "murrine" + { + border_shades = {0.7, 0.8} + } +} + +style "scale" = "button" +{ + GtkWidget ::focus-line-width = 0 + GtkWidget ::focus-padding = 0 + + bg[ACTIVE] = shade (0.86, @bg_color) + bg[NORMAL] = shade (1.30, @bg_color) + bg[PRELIGHT] = mix (0.4, shade (0.9, @selected_bg_color), shade (1.05, @bg_color)) + bg[SELECTED] = shade (0.9, @selected_bg_color) + bg[INSENSITIVE] = shade (0.98, @bg_color) + + engine "murrine" + { + border_shades = {1.0, 0.75} + contrast = 1.10 + lightborderstyle = 1 + roundness = 2 + trough_shades = {0.9, 1.1} + trough_border_shades = {1.20, 1.20} + } +} + +style "vscale" = "scale" +{ +} + +style "hscale" = "scale" +{ +} + +style "radiocheck" +{ + bg[NORMAL] = shade (1.06, @bg_color) + bg[PRELIGHT] = shade (1.06, @bg_color) + bg[ACTIVE] = shade (0.85, @bg_color) + bg[SELECTED] = @base_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + text[PRELIGHT] = shade (0.8, @selected_bg_color) + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.4, @fg_color, @bg_color) + + engine "murrine" + { + border_shades = { 0.9, 0.8 } + contrast = 0.8 + lightborder_shade = 1.5 + } +} + +style "toolbar" = "default" +{ + engine "murrine" + { + contrast = 1.13 + lightborder_shade = 1.0 + gradient_shades = {1.0,0.94,0.94,0.88} + } +} + +style "toolbar-separator" { + xthickness = 0 + ythickness = 1 + + GtkVSeparator::vertical-padding = 0 + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 7 + GtkWidget::separator-height = 1 + + + engine "murrine" { + contrast = 1.0 + separatorstyle = 0 + } +} + +style "infobar" { + engine "murrine" { + } +} + +style "nautilus_location" { + bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) +} + +style "xfce-header" +{ + base[NORMAL] = shade (1.18, @bg_color) + engine "murrine" + { + textstyle = 1 + text_shade = 0.85 + } +} + +style "xfwm-tabwin" +{ + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::icon-size = 64 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @selected_bg_color + fg[NORMAL] = @fg_color + base[SELECTED] = @base_color + + engine "murrine" + { + focusstyle = 0 + } +} + +style "xfdesktop-icon-view" +{ + font_name = "bold" + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + fg[NORMAL] = shade (0.9, @selected_fg_color) + fg[ACTIVE] = @selected_fg_color + engine "murrine" + { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfsm-logout" +{ + GtkDialog::content-area-border = 12 + GtkDialog::content-area-spacing = 6 + GtkDialog::action-area-spacing = 0 + + bg[NORMAL] = @bg_color + bg[SELECTED] = @bg_color # Border around the dialog + fg[NORMAL] = @fg_color + + engine "murrine" + { + contrast = 1.2 + highlight_shade = 1.00 + lightborder_shade = 1.95 + gradient_shades = {1.2,1.1,0.95,0.93} + border_shades = { 1.2,0.95 } + reliefstyle = 2 + shadow_shades = { 1.3, 1.7 } + } +} + +style "calendar" +{ + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color +} + +style "overlay-scrollbar" +{ + bg[SELECTED] = shade (1.0, @selected_bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + bg[ACTIVE] = shade (0.6, @bg_color) +} + +############################################################################### +# The following part of the gtkrc applies the different styles to the widgets. +############################################################################### + +class "GtkWindow*" style "resize-grip" + +# Murrine default style is applied to every widget. +class "GtkWidget" style "default" + +# Increase the x/ythickness in some widgets. +class "GtkFrame" style "wide" +class "GtkEntry" style "entry" +class "GtkSeparator" style "wide" +class "GtkCalendar" style "wide" +class "GtkToolbar" style "toolbar" +class "GtkHandleBox*" style "toolbar" +class "GtkStatusbar" style "resize-grip" + +class "GtkSpinButton" style "spin" +class "GtkScale" style "scale" +class "GtkVScale" style "vscale" +class "GtkHScale" style "hscale" + +class "GtkScrollbar" style "scrollbar" +class "GtkVScrollbar" style "scrollbar" +class "GtkHScrollbar" style "scrollbar" + +class "GtkRadio*" style "radiocheck" +class "GtkCheck*" style "radiocheck" + +# General matching following, the order is choosen so that the right styles override each other eg. progressbar needs to be more important then the menu match. +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook" +#widget_class "**" style "notebook-button" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" +widget_class "**" style "notebook-bg" + +widget_class "*" style "button" +widget_class "*" style "notebook" +widget_class "**" style "statusbar" + +widget_class "**" style "notebook-button" +widget_class "***" style "notebook-button" + +widget_class "**" style "comboboxentry" +widget_class "**" style "combo" +widget_class "**" style "wider" +widget_class "**" style "wider" + +widget_class "*.*" style "menubar-menuitem" +widget_class "**" style "menu" +widget_class "**" style "menubar" +widget_class "**" style "separator-menu-item" +# Scale widget in menus (e.g. ubuntu's sound indicator) +widget_class "*.*." style "scale" + +widget_class "*.." style "frame-title" +widget_class "*.*" style "treeview" + +widget_class "*GtkCalendar*" style "calendar" + +widget_class "*GtkHPaned" style "paned" +widget_class "*GtkVPaned" style "paned" + +widget_class "*" style "progressbar" +widget_class "*" style "progressbar" + +widget_class "**" style "radiocheck" +widget_class "**" style "radiocheck" + +# Treeview header +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*.." style "treeview-header" +widget_class "*GnmSimpleCanvas*" style "treeview-header" # Gnumeric treeview-headers + +# Xfce specific theming +widget_class "*XfceHeading*" style "xfce-header" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" + +widget_class "*" style "overlay-scrollbar" +widget_class "*" style "overlay-scrollbar" + +# The window of the tooltip is called "gtk-tooltip" +################################ +# FIXME: +# This will not work if one embeds eg. a button into the tooltip. +# As far as I can tell right now we will need to rework the theme +# quite a bit to get this working correctly. +# (It will involve setting different priorities, etc.) +################################ +widget "gtk-tooltip*" style "tooltips" + +################################################### +# SPECIAL CASES AND WORKAROUNDS +################################################### + +# Special case the nautilus-extra-view-widget +# ToDo: A more generic approach for all applications that have a widget like this. +widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" + +# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 +# Note that the work around assumes that the combobox is _not_ in appears-as-list mode. +# This style does not affect GtkComboBoxEntry, it does have an effect on comboboxes in appears-as-list mode though. +style "text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget_class "*.." style "text-is-fg-color-workaround" + +style "menuitem-text-is-fg-color-workaround" +{ + text[NORMAL] = @fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = darker (@bg_color) +} +widget "*.gtk-combobox-popup-menu.*" style "menuitem-text-is-fg-color-workaround" + +# Work around the usage of GtkLabel inside GtkListItems to display text. +# This breaks because the label is shown on a background that is based on the base color set. +style "fg-is-text-color-workaround" +{ + fg[NORMAL] = @text_color + fg[PRELIGHT] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = mix (0.4, @text_color, @bg_color) +} +widget_class "**" style "fg-is-text-color-workaround" +# The same problem also exists for GtkCList and GtkCTree. +# Only match GtkCList and not the parent widgets, because that would also change the headers. +widget_class "*" style "fg-is-text-color-workaround" +widget_class "*" style "fg-is-text-color-workaround" + +# panel theming### +#include "apps/xfce-panel.rc" + + +# application specific theming### +#include "apps/chromium.rc" +#include "apps/claws-mail.rc" +#include "apps/gmusicbrowser.rc" +#include "apps/terminal.rc" +#include "apps/thunar.rc" + diff --git a/themes/SoftWaves/gtk-2.0/resize_grip.png b/themes/SoftWaves/gtk-2.0/resize_grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/resize_grip.png differ diff --git a/themes/SoftWaves/gtk-2.0/xfsmlogout.png b/themes/SoftWaves/gtk-2.0/xfsmlogout.png new file mode 100644 index 0000000..609a954 Binary files /dev/null and b/themes/SoftWaves/gtk-2.0/xfsmlogout.png differ diff --git a/themes/SoftWaves/gtk-3.0/Gemfile b/themes/SoftWaves/gtk-3.0/Gemfile new file mode 100644 index 0000000..56af69e --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem "sass", "~> 3.4.0" diff --git a/themes/SoftWaves/gtk-3.0/Gemfile.lock b/themes/SoftWaves/gtk-3.0/Gemfile.lock new file mode 100644 index 0000000..aa54990 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + sass (3.4.23) + +PLATFORMS + ruby + +DEPENDENCIES + sass (~> 3.4.0) + +BUNDLED WITH + 1.13.6 diff --git a/themes/SoftWaves/gtk-3.0/README b/themes/SoftWaves/gtk-3.0/README new file mode 100644 index 0000000..3fe2166 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/README @@ -0,0 +1,35 @@ +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 software installed, as described below) +* To be able to use the latest/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 +---------------------- + +Greybird is a complex theme (based on Adwaita), so to keep it maintainable it's written and processed +in SASS. + +It is very likely your change will happen in the _common.scss file. That's where all 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/themes/SoftWaves/gtk-3.0/_colors-public.scss b/themes/SoftWaves/gtk-3.0/_colors-public.scss new file mode 100644 index 0000000..ebc64f7 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_colors-public.scss @@ -0,0 +1,112 @@ +//apps rely on some named colors to be exported +/* GTK NAMED COLORS + ---------------- + use responsibly! */ + +// 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 +/* +widget text/foreground color */ +@define-color theme_fg_color #{"" +$fg_color}; + +/* +text color for entries, views and content in general */ +@define-color theme_text_color #{"" +$text_color}; + +/* +widget base background color */ +@define-color theme_bg_color #{"" +$bg_color}; + +/* +text widgets and the like base background color */ +@define-color theme_base_color #{"" +$base_color}; + +/* +base background color of selections */ +@define-color theme_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #{"" +$selected_fg_color}; + +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color #{"" +$insensitive_bg_color}; + +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #{"" +$insensitive_fg_color}; + +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #{"" +$base_color}; + +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color}; + +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #{"" +$text_color}; + +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color}; + +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #{"" +$backdrop_base_color}; + +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color}; + +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color}; + +/* +widgets main borders color */ +@define-color borders #{"" +$borders_color}; + +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #{"" +$backdrop_borders_color}; + +/* +these are pretty self explicative */ +@define-color warning_color #{"" +$warning_color}; +@define-color error_color #{"" +$error_color}; +@define-color success_color #{"" +$success_color}; +//@define-color destructive_color #{$destructive_color} + +//WM + +$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is + transparentize(black,1)); // done directly in the + // color definition + +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#{$fg_color}, 1.8); +@define-color wm_unfocused_title #{$backdrop_fg_color}; +@define-color wm_highlight #{"" + $_wm_highlight}; +@define-color wm_borders_edge #{"" + $borders_edge}; + +@define-color wm_bg_a shade(#{$bg_color}, 1.2); +@define-color wm_bg_b #{$bg_color}; + +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); + +@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3); +@define-color wm_button_hover_color_b #{$bg_color}; +@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85); +@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89); +@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9); + +//FIXME this is really an API + +@define-color content_view_bg #{"" + $base_color}; + diff --git a/themes/SoftWaves/gtk-3.0/_colors.scss b/themes/SoftWaves/gtk-3.0/_colors.scss new file mode 100644 index 0000000..7443c54 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_colors.scss @@ -0,0 +1,71 @@ +// When color definition differs for dark and light variant +// it gets @if ed depending on $variant + + +$base_color: if($variant == 'light', #dbdbdb, #292929); +$text_color: if($variant == 'light', #212121, white); +$bg_color: if($variant == 'light', #CECECE, #393f3f); +$fg_color: if($variant == 'light', #212121, #eeeeec); + +$selected_fg_color: #000000; +$selected_bg_color: if($variant == 'light', #729992, darken(#398ee7,20%)); +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 30%), darken($selected_bg_color, 20%)); +$borders_color: if($variant == 'light', darken($bg_color,30%), darken($bg_color,12%)); +$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93)); +$link_color: if($variant == 'light', #2d71b8, lighten(#2d71b8,20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color,20%), lighten($selected_bg_color,10%)); +$top_hilight: $borders_edge; +$dark_fill: mix($borders_color, $bg_color, 35%); +$headerbar_color: if($variant == 'light', $bg_color, darken($bg_color, 3%)); +$menu_color: if($variant == 'light', lighten($bg_color, 8%), mix($bg_color, $base_color, 20%)); +$popover_bg_color: lighten($bg_color, 18%); +$popover_hover_color: $selected_bg_color; + +$scrollbar_bg_color: darken($selected_bg_color, 6%); +$scrollbar_slider_color: darken($selected_bg_color, 6%); +$scrollbar_slider_hover_color: darken($selected_bg_color, 12%); +$scrollbar_slider_active_color: darken($selected_bg_color, 12%); + +$warning_color: #f57900; +$error_color: #cc0000; +$success_color: if($variant == 'light', #4e9a06, darken(#4e9a06,10%)); +$destructive_color: if($variant == 'light', #ef2929, darken(#ef2929,10%)); + +$osd_fg_color: #eeeeee; +$osd_text_color: white; +$osd_bg_color: transparentize(#222, 0.2); +$osd_insensitive_bg_color: transparentize(#222, 0.2); +$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%); +$osd_borders_color: transparentize(black, 0.3); + +$sidebar_bg_color: $base_color; +$base_hover_color: transparentize($fg_color, 0.95); + +$tooltip_borders_color: transparentize(white, 0.9); +$shadow_color: transparentize(black, 0.9); + +$drop_target_color: $selected_bg_color; + +$panel_bg_color: $bg_color; +$panel_fg_color: $fg_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%)); +$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%); +$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%)); +$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%); +$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%); + +$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%); +$backdrop_scrollbar_slider_color: lighten($scrollbar_slider_color, 35%); + +$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%)); diff --git a/themes/SoftWaves/gtk-3.0/_common.scss b/themes/SoftWaves/gtk-3.0/_common.scss new file mode 100644 index 0000000..c6bfe2d --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_common.scss @@ -0,0 +1,4283 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); +$asset_suffix: if($variant=='dark', '-dark', ''); +$backdrop_transition: 200ms ease-out; +$button_transition: all 200ms $ease-out-quad; + +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: $error_color; + + // 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; + + -GtkToolItemGroup-expander-size: 11; + + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + + // 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; + -gtk-outline-radius: 2px; + + -gtk-secondary-caret-color: $selected_bg_color +} + + +/*************** + * Base States * + ***************/ +.background { + color: $fg_color; + background-color: $bg_color; + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +/* + 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. +*/ + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: $fg_color; + background-color: $bg_color; + text-shadow: none; + + &:hover { + color: $fg_color; + background-color: lighten($bg_color, 10%); + } + + &:active { + color: $fg_color; + background-color: darken($bg_color, 10%); + } + + &:disabled { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + &:selected { + color: $selected_fg_color; + background-color: $selected_bg_color; + } +} + +.view, +%view { + color: $text_color; + background-color: $base_color; + + &:backdrop { + color: $backdrop_text_color; + background-color: $backdrop_base_color; + } + + &:selected { + &:focus, & { + @extend %selected_items; + + border-radius: 3px; + } + } +} + +.view, +textview { + text { + @extend %view; + + selection { &:focus, & { @extend %selected_items; }} + } +} + +textview border { background-color: mix($bg_color, $base_color, 50%); } + +iconview { @extend .view; } + +.rubberband, +rubberband { + border: 1px solid darken($selected_bg_color, 10%); + background-color: transparentize(darken($selected_bg_color, 10%), 0.8); +} + +flowbox { + rubberband { @extend rubberband; } + + flowboxchild { + padding: 3px; + border-radius: 3px; + + &:selected { + @extend %selected_items; + + outline-offset: -2px; + } + } +} + +label { + &.separator { + @extend .dim-label; + + color: $fg_color; + + &:backdrop { color: $backdrop_fg_color; } + } + + row:selected &, + &:selected { @extend %nobg_selected_items; } + + selection { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:disabled { + color: $insensitive_fg_color; + + selection { @extend %selected_items:disabled; } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop { + color: $backdrop_fg_color; + + selection { @extend %selected_items:backdrop; } + } +} + +.dim-label { + opacity: 0.55; + text-shadow: none; +} + +assistant { + .sidebar { + background-color: $base_color; + border-top: 1px solid $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + } + + &.csd .sidebar { border-top-style: none; } + + .sidebar label { padding: 6px 12px; } + + .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); } +} + +%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); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:backdrop { + color: shade($osd_fg_color, 1.2); + background-color: shade($osd_bg_color, 1.6); + text-shadow: none; + -gtk-icon-shadow: none; + } +} + + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +spinner { + background: none; + opacity: 0; // non spinning spinner makes no sense + -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); + + &:checked { + opacity: 1; + animation: spin 1s linear infinite; + + &:disabled { opacity: 0.5; } + } +} + + +/**************** + * Text Entries * + ****************/ + +%entry, +entry { + %entry_basic, & { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms $ease-out-quad; + + @include entry(normal); + + image { // icons inside the entry + &.left { margin-right: 6px; } + &.right { margin-left: 6px; } + } + + undershoot { + &.left { @include undershoot(left); } + &.right { @include undershoot(right); } + } + + &.flat { + &:focus, & { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; + } + } + + &:focus { @include entry(focus); } + + &:disabled { @include entry(insensitive); } + + &:backdrop { + @include entry(backdrop); + + transition: $backdrop_transition; + } + + &:backdrop:disabled { @include entry(backdrop-insensitive); } + + selection { &:focus, & { @extend %selected_items; }} + + // entry error and warning style + @each $e_type, $e_color in (error, $error_color), + (warning, $warning_color) { + &.#{$e_type} { + color: $e_color; + border-color: entry_focus_border($e_color); + + &:focus { @include entry(focus, $e_color); } + + selection { background-color: $e_color; } + } + } + + image { // entry icons colors + color: mix($fg_color, $base_color, 80%); + + &:hover { color: $fg_color; } + + &:active { color: $selected_bg_color; } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } + } + + &:drop(active) { + &:focus, & { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + .osd & { + @include entry(osd); + + &:focus { @include entry(osd-focus); } + + &:backdrop { @include entry(osd-backdrop); } + + &:disabled { @include entry(osd-insensitive); } + } + } + + progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: $selected_bg_color; + border-style: solid; + box-shadow: none; + + &:backdrop { background-color: transparent; } + } + + // linked entries + .linked:not(.vertical) > & { @extend %linked; } + .linked:not(.vertical) > &:focus + &, + .linked:not(.vertical) > &:focus + button, + .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); } + + .linked:not(.vertical) > &:drop(active) + &, + .linked:not(.vertical) > &:drop(active) + button, + .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; } + + // Vertically linked entries + // FIXME: take care of "colored" entries + .linked.vertical > & { + @extend %linked_vertical; + + // brighter border between linked entries + &:not(:disabled) + entry:not(:disabled), + &:not(:disabled) + %entry:not(:disabled) { + border-top-color: mix($borders_color, $base_color, 30%); + background-color: $base_color; + + &:backdrop { + border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); + background-color: $backdrop_base_color; + } + } + + // brighter border between linked insensitive entries + &:disabled + %entry:disabled, + &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); } + + // color back the top border of a linked focused entry following another entry and add back the focus shadow. + // :not(:only-child) is a specificity bump hack. + + %entry:focus:not(:only-child), + + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); } + + + %entry:drop(active):not(:only-child), + + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; } + + // this takes care of coloring the top border of the focused entry subsequent widget. + // :not(:only-child) is a specificity bump hack. + &:focus:not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: entry_focus_border(); } + } + + &:drop(active):not(:only-child) { + + %entry, + + entry, + + button, + + combobox > box > button.combo { border-top-color: $drop_target_color; } + } + } +} + +treeview entry { + &:focus { + &:dir(rtl), &:dir(ltr) { // specificity bump hack + background-color: $base_color; + transition-property: color, background; + } + } + + &.flat, & { + border-radius: 0; + background-image: none; + background-color: $base_color; + + &:focus { border-color: $selected_bg_color; } + } +} + + +/*********** + * Buttons * + ***********/ +// stuff for .needs-attention +$_dot_color: if($variant=='light', $selected_bg_color, + lighten($selected_bg_color,15%)); +@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 { + @at-root %button_basic, & { + + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: $button_transition; + + @include button(normal); + + &.flat { + @include button(undecorated); + // 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: 500ms; + + &:active { transition: $button_transition; } + } + } + + &:hover { + @include button(hover); + -gtk-icon-effect: highlight; + } + + &:active, + &:checked { + @include button(active); + + transition-duration: 50ms; + } + + &:backdrop { + &.flat, & { + @include button(backdrop); + + transition: $backdrop_transition; + -gtk-icon-effect: none; + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; + } + + &.text-button { + padding-left: 8px; + padding-right: 8px; + } + + &.text-button.image-button { + padding-left: 4px; + padding-right: 4px; + + label { + padding-left: 4px; + padding-right: 4px; + } + } + + &:drop(active) { + color: $drop_target_color; + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; + } + } + + @at-root %button_selected, & { + row:selected & { + @if $variant == 'light' { border-color: $selected_borders_color; } + + &.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: $selected_fg_color; + border-color: transparent; + + &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); } + } + } + } + + + // big standalone buttons like in Documents pager + &.osd { + min-width: 24px; + min-height: 32px; + + &.image-button { min-width: 32px; } + + color: $osd_fg_color; + border-radius: 5px; + outline-color: transparentize($osd_fg_color, 0.7); //FIXME: define a color var? + + @include button(osd); + + border: none; + box-shadow: none; + + &:hover { + @include button(osd-hover); + + border: none; + box-shadow: none; + } + + &:active, + &:checked { + @include button(osd-active); + + border: none; + box-shadow: none; + } + + &:disabled { + &:backdrop, & { + @include button(osd-insensitive); + + border: none; + } + } + + &:backdrop { + @include button(osd-backdrop); + + border: none; + } + } + + //overlay / OSD style + @at-root %osd_button, + .osd & { + @include button(osd); + + &:hover { @include button(osd-hover); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive); }} + + &:backdrop { @include button(osd-backdrop); } + + &.flat { + @include button(undecorated); + + box-shadow: none; //FIXME respect no edge on the button mixin + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + + &:hover { @include button(osd-hover); } + + &:disabled { + @include button(osd-insensitive); + background-image: none; + border-color: transparent; + box-shadow: none; + } + + &:backdrop { @include button(undecorated); } + + &:active, + &:checked { @include button(osd-active); } + } + } + + // Suggested and Destructive Action buttons + @each $b_type, $b_color in (suggested-action, $selected_bg_color), + (destructive-action, $destructive_color) { + &.#{$b_type} { + @include button(normal, $b_color, white); + + &.flat { + @include button(undecorated); + + color: $b_color; //FIXME: does it work on the dark variant? + } + + &:hover { @include button(hover, $b_color, white); } + + &:active, + &:checked { @include button(active, $b_color, white); } + + &:backdrop, + &.flat:backdrop { + @include button(backdrop, $b_color, white); + + &:active, + &:checked { @include button(backdrop-active, $b_color, white); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active, $b_color, white); } + } + } + + &.flat { + &:backdrop, &:disabled, &:backdrop:disabled { + @include button(undecorated); + + color: transparentize($b_color, 0.2); + } + } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active, $b_color, white); } + } + + .osd & { + @include button(osd, $b_color); + + &:hover { @include button(osd-hover, $b_color); } + + &:active, + &:checked { &:backdrop, & { @include button(osd-active, $b_color); }} + + &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }} + + &:backdrop { @include button(osd-backdrop, $b_color); } + } + } + } + + .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 overriden by GtkRadioButton outline-offset + + > label { + padding-left: 6px; // label padding + padding-right: 6px; // + } + + > image { + padding-left: 6px; // image padding + padding-right: 6px; // + padding-top: 3px; // + padding-bottom: 3px; // + } + + &.text-button { + // compensate text-button paddings + padding-left: 10px; + padding-right: 10px; + } + + &.image-button { + // we want image buttons to have a 1:1 aspect ratio, so compensation + // of the padding added to the GtkImage is needed + padding-left: 2px; + padding-right: 2px; + } + + &.needs-attention { + > label, + > image { @extend %needs_attention; } + + &:active, + &:checked { + > label, + > image { + animation: none; + background-image: none; + } + } + } + } + + //inline-toolbar buttons + .inline-toolbar &, .inline-toolbar &:backdrop { + border-radius: 2px; + border-width: 1px; + @extend %linked; + } + + .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows + + .linked > &, + .linked > &:hover, + .linked > &:active, + .linked > &:checked, + .linked > &:backdrop { @extend %linked; } + + .linked.vertical > &, + .linked.vertical > &:hover, + .linked.vertical > &:active, + .linked.vertical > &:checked, + .linked.vertical > &:backdrop { @extend %linked_vertical; } +} + +%needs_attention { + animation: needs_attention 150ms ease-in; + $_dot_shadow: _text_shadow_color(); + $_dot_shadow_r: if($variant=='light',0.5,0.45); + background-image: -gtk-gradient(radial, + center center, 0, + center center, 0.5, + to($_dot_color), + to(transparent)), + -gtk-gradient(radial, + center center, 0, + center center, $_dot_shadow_r, + to($_dot_shadow), + to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + + @if $variant == 'light' { background-position: right 3px, right 4px; } + + @else { background-position: right 3px, right 2px; } + + &:backdrop { background-size: 6px 6px, 0 0;} + + &:dir(rtl) { + @if $variant == 'light' { background-position: left 3px, left 4px; } + + @else { background-position: left 3px, left 2px; } + } +} + + +// all the following is for the +|- buttons on inline toolbars, that way +// should really be deprecated... +.inline-toolbar toolbutton > button { // redefining the button look is + // needed since those are flat... + @include button(normal); + + &:hover { @include button(hover); } + + &:active, + &:checked{ @include button(active); } + + &:disabled { + @include button(insensitive); + + &:active, + &:checked { @include button(insensitive-active); } + } + + &:backdrop { + @include button(backdrop); + + &:active, + &:checked { @include button(backdrop-active); } + + &:disabled { + @include button(backdrop-insensitive); + + &:active, + &:checked { @include button(backdrop-insensitive-active); } + } + } +} + +// More inline toolbar buttons +toolbar.inline-toolbar toolbutton, +toolbar.inline-toolbar toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked:first-child; } + + &:last-child > button.flat { @extend %linked:last-child; } + + &:only-child > button.flat { @extend %linked:only-child; } +} + +%linked_middle { + border-radius: 0; + border-right-style: none; +} + +%linked { + @extend %linked_middle; + + &:first-child { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%linked_vertical_middle { + border-style: solid solid none solid; + border-radius: 0; +} + +%linked_vertical{ + @extend %linked_vertical_middle; + + &:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + + &:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; + } + + &:only-child { + border-radius: 3px; + border-style: solid; + } +} + +%undecorated_button { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px transparentize(white, 1), + 0 1px transparentize(white, 1); + text-shadow: none; + -gtk-icon-shadow: none; +} + +/* menu buttons */ +modelbutton.flat, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; + + @extend %undecorated_button; + + &:hover { background-color: $popover_hover_color; } + + &:selected { @extend %selected_items; } + + &:backdrop, + &:backdrop:hover { @extend %undecorated_button; } + + // FIXME: remove the following when the checks/radios rewrite lands + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } +} + +modelbutton.flat arrow { + background: none; + + &:hover { background: none; } + + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } +} + +button.color { + padding: 4px; + + colorswatch:only-child { + &, overlay { border-radius: 0; } + + @if $variant == 'light' { + box-shadow: 0 1px _text_shadow_color(); + + &:disabled, + &:backdrop, + &:active, + &:checked { colorswatch:only-child { box-shadow: none; }} + } + } +} + + +/********* + * 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%); } + } + + &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: $selected_bg_color; }} + + @at-root %link_selected, + &:selected, + *:selected & { color: mix($selected_fg_color, $selected_bg_color, 80%); } +} + +button:link, +button:visited { + @extend %undecorated_button; + + @extend *:link; + + text-shadow: none; + + &:hover, + &:active, + &:checked { + @extend %undecorated_button; + + text-shadow: none; + } + + > label { text-decoration-line: underline; } +} + + +/***************** + * GtkSpinButton * + *****************/ +spinbutton { + &:not(.vertical) { + // in this horizontal configuration, the whole spinbutton + // behaves as the entry, so we extend the entry styling + // and nuke the style on the internal entry + @extend %entry; + + padding: 0; + + entry { + min-width: 28px; + // reset all the other props since the spinbutton node is styled here + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + + button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: mix($fg_color, $base_color, 90%); + background-image: none; + border-style: none none none solid; + border-color: transparentize($borders_color, 0.7); + border-radius: 0; + box-shadow: none; + + &:dir(rtl) { border-style: none solid none none; } + + &:hover { + color: $fg_color; + background-color: $base_hover_color; + } + + &:disabled { + color: transparentize($insensitive_fg_color, 0.7); + background-color: transparent; + } + + &:active { + background-color: transparentize(black, 0.9); + box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8); + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_base_color, 90%); + background-color: transparent; + border-color: transparentize($backdrop_borders_color, 0.7); + transition: $backdrop_transition; + } + + &:backdrop:disabled { + color: transparentize($backdrop_insensitive_color,0.7); + background-color: transparent; + border-style: none none none solid; // It is needed or it gets overridden + + &:dir(rtl) { border-style: none solid none none; } + } + } + } + + // OSD horizontal + .osd &:not(.vertical) { + 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; + -gtk-icon-shadow: 0 1px black; + + &: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); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; + } + + &:backdrop { + @include button(undecorated); + + color: $osd_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:disabled { + @include button(undecorated); + + color: $osd_insensitive_fg_color; + border-color: transparentize(opacify($osd_borders_color, 1), 0.5); + -gtk-icon-shadow: none; + box-shadow: none; + } + + &:dir(ltr):last-child { border-radius: 0 3px 3px 0; } + + &:dir(rtl):first-child { border-radius: 3px 0 0 3px; } + } + } + + // Vertical + &.vertical { + // in the vertical configuration, we treat the spinbutton + // as a box, and tweak the style of the entry in the middle + // so that it's linked + + // FIXME: this should not be set at all, but otherwise it gets the wrong + // color + &:disabled { color: $insensitive_fg_color; } + + &:backdrop:disabled { color: $backdrop_insensitive_color; } + + &:drop(active) { + border-color: transparent; + box-shadow: none; + } + + entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; + } + + button { + min-height: 32px; + min-width: 32px; + padding: 0; + + &.up { @extend %top_button; } + + &.down { @extend %bottom_button; } + } + + %top_button { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; + } + + %bottom_button { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; + } + } + + // OSD vertical + .osd &.vertical button:first-child { + @include button(osd); + + &:hover { @include button(osd-hover);} + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { @include button(osd-backdrop); } + } + + // Misc + treeview &:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; + + entry { + min-height: 0; + padding: 1px 2px; + } + } +} + + +/************** + * ComboBoxes * + **************/ +combobox { + arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + min-height: 16px; + min-width: 16px; + } + + &.linked { + button:nth-child(2) { + &:dir(ltr) { @extend %linked:last-child; } + &:dir(rtl) { @extend %linked:first-child; } + } + } + + &:drop(active) { // FIXME: untested + box-shadow: none; + + button.combo { @extend %button_basic:drop(active); } + } +} + +.linked > combobox > box > button.combo { + // 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), + &:dir(rtl) { @extend %linked_middle; } // specificity bump +} + +.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; } +.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; } +.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; } + +.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; } +.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;} +.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; } +.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; } + + +/************ + * Toolbars * + ************/ +%toolbar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: $bg_color; +} + +toolbar { + @extend %toolbar; + + padding: 4px 3px 3px 4px; + + // on OSD + .osd & { background-color: transparent; } + + // stand-alone OSD toolbars + &.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: $osd_bg_color; + + &.left, + &.right, + &.top, + &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars + } + + // toolbar separators + &.horizontal separator { margin: 0 7px 1px 6px; } + &.vertical separator { margin: 6px 1px 7px 0; } + + &:not(.inline-toolbar):not(.osd) { + switch, + scale, + entry, + spinbutton, + button { + margin-right: 1px; + margin-bottom: 1px; + } + } +} + +//searchbar, location-bar & inline-toolbar +.inline-toolbar { + @extend %toolbar; + + @extend %darkbar; + + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; +} + +searchbar, +.location-bar { + @extend %toolbar; + + @extend %darkbar; + + border-width: 0 0 1px; + padding: 3px; +} + +%darkbar { + border-style: solid; + border-color: $borders_color; + $_bg: mix($bg_color, $borders_color, 70%); + background-color: $_bg; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + transition: $backdrop_transition; + } +} + + +/*************** + * Header bars * + ***************/ +%titlebar, +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: $borders_color; + border-radius: 0; + + @include headerbar_fill; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $bg_color; + background-image: none; + box-shadow: inset 0 1px $top_hilight; + + transition: $backdrop_transition; + } + + .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; + } + + .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; + + @extend .dim-label; + } + + &.selection-mode { + $_hc: mix($top_hilight,$selected_bg_color, 50%); // hilight color + + color: $selected_fg_color; + text-shadow: none; + border-color: $selected_borders_color; + + @include headerbar_fill($selected_bg_color, $_hc); + + &:backdrop { + background-color: $selected_bg_color; + background-image: none; + box-shadow: inset 0 1px mix($top_hilight, $selected_bg_color, 60%); + } + + .subtitle:link { @extend *:link:selected; } + + button { + @include button(normal, $selected_bg_color, $selected_fg_color); + + &.flat { @include button(undecorated); } + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color); } + + &:backdrop { + &.flat, & { + @include button(backdrop, $selected_bg_color, $selected_fg_color); + + -gtk-icon-effect: none; + border-color: $selected_borders_color; + + &:active, + &:checked { + @include button(backdrop-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + + &:active, &:checked { + @include button(backdrop-insensitive-active, $selected_bg_color, $selected_fg_color); + + border-color: $selected_borders_color; + } + } + } + } + + &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }} + + &:disabled { + @include button(insensitive, $selected_bg_color, $selected_fg_color); + + &:active, + &:checked { @include button(insensitive-active, $selected_bg_color, $selected_fg_color); } + } + + &.suggested-action { + @include button(normal); + + border-color: $selected_borders_color; + + &:hover { + @include button(hover); + + border-color: $selected_borders_color; + } + + &:active { + @include button(active); + + border-color: $selected_borders_color; + } + + &:disabled { + @include button(insensitive); + + border-color: $selected_borders_color; + } + + &:backdrop { + @include button(backdrop); + + border-color: $selected_borders_color; + } + + &:backdrop:disabled { + @include button(backdrop-insensitive); + + border-color: $selected_borders_color; + } + } + } + + .selection-menu { + &:backdrop, & { + border-color: transparentize($selected_bg_color, 1); + background-color: transparentize($selected_bg_color, 1); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; + + GtkArrow { -GtkArrow-arrow-scaling: 1; } + + .arrow { + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + color: transparentize($selected_fg_color,0.5); + -gtk-icon-shadow: none; + } + } + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; }} // squared corners when the window is maximized or tiled + + &.default-decoration { + padding: 4px; + min-height: 28px; + + button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; + } + } + + .solid-csd & { + &:backdrop, & { + &:dir(rtl), &:dir(ltr) { // specificity bump + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; + } + } + } +} + +headerbar { + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { + margin-top: 6px; + margin-bottom: 6px; + } + button.titlebutton image { + min-width: 22px; + min-height: 22px; + } + button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; + } + button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; + } + switch { + margin-top: 9px; + margin-bottom: 9px; + } +} + +.background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } +} + +headerbar { + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: 7px; }} + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: 7px; }} +} + +.titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: $borders_color; } + + @extend %titlebar; +} + +// Fixes: https://github.com/shimmerproject/Greybird/issues/157 +// workaround for ugly Ubuntu-related CSD patches +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; + } + } +} + +/************ + * Pathbars * + ************/ +.path-bar button { + &.text-button, &.image-button, & { + padding-left: 4px; + padding-right: 4px; + } + + &.text-button.image-button label { + padding-left: 0; + padding-right: 0; + } + + &.text-button.image-button, & { + label:last-child { padding-right: 8px; } + label:first-child { padding-left: 8px; } + } + + image { + padding-left: 4px; + padding-right: 4px; + } + + &.slider-button { + padding-left: 0; + padding-right: 0; + } +} + +/************** + * Tree Views * + **************/ +treeview.view { + @at-root * { + -GtkTreeView-horizontal-separator: 4; + -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: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, + border-top-color: $bg_color; // while this is the grid lines color, better then nothing + + rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props + + &:selected { + &:focus, & { + border-radius: 0; + + @extend %selected_items; + } + + &:backdrop, & { + border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); + border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly + } + } + + &:disabled { + color: $insensitive_fg_color; + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 40%); + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + + &:backdrop { color: $backdrop_insensitive_color; } + } + + &.separator { + min-height: 2px; + color: $bg_color; + + &:backdrop { color: transparentize($bg_color, 0.9); } + } + + &:backdrop { + border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + border-top: $backdrop_bg_color; + } + &:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: $selected_borders_color; + + &.after { border-top-style: none; } + + &.before { border-bottom-style: none; } + } + + &.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, 70%); + + &:hover { color: $fg_color; } + + &:selected { + color: mix($selected_fg_color, $selected_bg_color, 70%); + + &:hover { color: $selected_fg_color; } + + &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); } + } + + &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); } + } + + &.progressbar { // progress bar in treeviews + @if $variant == light { color: $base_color; } + + border: 1px solid $selected_borders_color; + border-radius: 4px; + background-color: $selected_bg_color; + background-image: linear-gradient(to bottom, + $selected_bg_color, + darken($selected_bg_color, 10%)); + box-shadow: inset 0 1px if($variant=='light', transparentize(white, 0.7), + transparentize(white, 0.85)), + 0 1px if($variant=='light', transparentize(black, 0.8), + transparentize(black, 0.9)); + + &:selected { + &:focus, & { + border-radius: 4px; + + @if $variant == 'light' { + color: $selected_bg_color; + box-shadow: none; + } + + @else { box-shadow: inset 0 1px transparentize(white, 0.95); } + + background-image: linear-gradient(to bottom, + $base_color, + darken($base_color, 10%)); + + &:backdrop { + @if $variant == 'light' { + color: $selected_bg_color; + border-color: $selected_borders_color; // otherwise it gets inherited by .view(?!?) + } + + @else { border-color: $backdrop_base_color; } + + background-color: $backdrop_base_color; + } + } + } + + &:backdrop { + @if $variant == 'light' { color: $backdrop_base_color; } + + @else { border-color: $backdrop_base_color; } + + background-image: none; + box-shadow: none; + } + } + + &.trough { // progress bar trough in treeviews + background-color: transparentize($fg_color,0.9); + border-radius: 4px; + + &:selected { + &:focus, & { + background-color: if($variant == 'light', + transparentize($selected_fg_color, 0.7), + darken($selected_bg_color, 10%)); + border-radius: 4px; + + @if $variant == 'light' { + border-width: 1px 0; + border-style: solid; + border-color: $selected_bg_color; + } + } + } + } + + header { + button { + $_column_header_color: mix($fg_color, $base_color, 50%); + + @extend %column_header_button; + + color: $_column_header_color; + background-color: $base_color; + font-weight: bold; + text-shadow: none; + box-shadow: none; + + &:hover { + @extend %column_header_button; + + color: mix($_column_header_color, $fg_color, 50%); + 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 + } + } + + button:last-child { &:backdrop, & { border-right-style: none; }} + } + + button.dnd, + header.button.dnd { // for treeview-like derive widgets + &:active, &:selected, &:hover, & { + padding: 0 6px; + transition: none; + background-image: none; + background-color: $selected_bg_color; + color: $base_color; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px $base_color; + text-shadow: none; + } + } + + acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test +} + +%column_header_button { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: $bg_color; + + &:disabled { + border-color: $bg_color; + background-image: none; + } + + &:backdrop { + border-color: $backdrop_bg_color; + border-style: none solid solid none; + color: mix($backdrop_fg_color, $backdrop_bg_color, 50%); + background-image: none; + background-color: $backdrop_base_color; + + &:disabled { + border-color: $backdrop_bg_color; + background-image: none; + } + } +} + + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; + + &:backdrop { background-color: $backdrop_bg_color; } + + > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; + + &:hover { //Seems like it :hover even with keyboard focus + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.2), + shade($selected_bg_color, 1.0) + ); + color: $selected_fg_color; + border-color: shade($selected_bg_color, 1.1); + } + + &:disabled { + color: $insensitive_fg_color; + box-shadow: none; + } + } +} + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: $menu_color; + border: 1px solid $borders_color; // adds borders in a non composited env + + .csd & { border: none; } // axes borders in a composited env + + &:backdrop { background-color: $backdrop_menu_color; } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; + + &:hover { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, shade($selected_bg_color, 1.2), shade($selected_bg_color, 1.0)); + box-shadow: inset 1px 1px shade($selected_bg_color, 0.8), + inset -1px -1px shade($selected_bg_color, 0.8); + } + + &:disabled { + color: $insensitive_fg_color; + &:backdrop { color: $backdrop_insensitive_color; } + } + + &:backdrop, + &:backdrop:hover { + color: $backdrop_fg_color; + background-color: transparent; + } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; }} + } + + // overflow arrows + > arrow { + @include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: $menu_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, 10%); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, 10%); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent ; + } + } +} + +menuitem { + accelerator { color: gtkalpha(currentColor,0.55); } + + check, + radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } +} + +/*************** + * Popovers * + ***************/ + +popover.background { + padding: 2px; + border-radius: 5px; + background-color: $popover_bg_color; + + modelbutton:hover { color: $selected_fg_color; } + + .csd &, & { border: 1px solid $borders_color; } + + box-shadow: 0 1px 2px transparentize(black, 0.7); + + &:backdrop { + background-color: $backdrop_bg_color; + box-shadow: none; + } + + > list, + > .view, + > toolbar { + border-style: none; + background-color: transparent; + } + + .csd &, & { + &.touch-selection, + &.magnifier { + @extend %osd; + + border: 1px solid transparentize(white, 0.9); + + button { @extend %osd_button }; + } + + &.osd { @extend %osd; } + } + + separator { margin: 3px; } + + list separator { margin: 0px; } + + checkbutton, + radiobutton { @extend modelbutton.flat; } +} + +/************* + * Notebooks * + *************/ +notebook { + &.frame { border-style: none; } + + > header { + padding: 1px; + background-color: $bg_color; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + + tabs { margin: -1px; } + + &.top { + > stack { border-top-style: none; } + > tabs { + margin-bottom: -2px; + > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 0 1px; } + } + } + } + + &.bottom { + > stack { border-bottom-style: none; } + > tabs { + margin-top: -2px; + > tab { + border-radius: 0 0 3px 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 0 1px 1px 1px; } + } + } + } + + &.left { + > stack { border-left-style: none; } + > tabs { + margin-right: -2px; + > tab { + border-radius: 3px 0 0 3px; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 0 1px 1px; } + } + } + } + + &.right { + > stack { border-right-style: none; } + > tabs { + margin-left: -2px; + > tab { + border-radius: 0 3px 3px 0; + + &:backdrop { box-shadow: none; } + + &:checked { border-width: 1px 1px 1px 0; } + } + } + } + + &.top > tabs > arrow { + @extend %notebook_vert_arrows; + + border-top-style: none; + } + + &.bottom > tabs > arrow { + @extend %notebook_vert_arrows; + + border-bottom-style: none; + } + + @at-root %notebook_vert_arrows { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + } + + &.left > tabs > arrow { + @extend %notebook_horz_arrows; + + border-left-style: none; + } + + &.right > tabs > arrow { + @extend %notebook_horz_arrows; + + border-right-style: none; + } + + @at-root %notebook_horz_arrows { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; + + &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + } + + > tabs > arrow { + @extend %button_basic; + + @extend %button_basic.flat; + + min-height: 16px; + min-width: 16px; + border-radius: 0; + + &:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: transparentize(white, 0.7); + border-color: transparent; + box-shadow: none; + } + + &:disabled { @include button(undecorated); } + } + + tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + + outline-offset: -5px; + + color: $insensitive_fg_color; + background-color: $bg_color; + + border-width: 1px; // for reorderable tabs + border-radius: 3px; + border-color: shade($bg_color, 0.9); // + border-style: solid; + + &:hover { + color: mix($insensitive_fg_color, $fg_color, 50%); + + &.reorderable-page { + border-color: transparentize($borders_color, 0.7); + background-color: transparentize($bg_color, 0.8); + } + } + + &:backdrop { + color: mix($backdrop_fg_color, $backdrop_bg_color, 60%); + + &.reorderable-page { + border-color: transparent; + background-color: transparent; + } + } + + &:checked { + color: $fg_color; + background-color: shade($bg_color, 1.05); + border-width: 1px 1px 0 1px; + &:backdrop { + background-color: $bg_color; + } + &.reorderable-page { + border-color: transparentize($borders_color, 0.5); + background-color: shade($bg_color, 1.05); + } + } + + &:backdrop:checked { + color: $backdrop_fg_color; + + &.reorderable-page { + border-color: $backdrop_borders_color; + background-color: $backdrop_bg_color; + } + } + + // colors the button like the label, overridden otherwise + button.flat { + &:hover { color: currentColor; } + + &, &:backdrop { color: gtkalpha(currentColor, 0.3); } + + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + // FIXME: generalize .small-button? + min-width: 16px; + min-height: 16px; + + &:last-child { + margin-left: 1px; + margin-right: -1px; + } + + &:first-child { + margin-left: -1px; + margin-right: 1px; + } + } + } + + &.top, + &.bottom { + tabs { + padding: 0; + + &:not(:only-child) { + margin-left: 2px; + margin-right: 2px; + } + &:first-child { margin-left: -3px; } + &:last-child { margin-right: -3px; } + + tab { + margin-left: 2px; + margin-right: 2px; + } + } + } + + &.left, + &.right { + tabs { + padding: 0; + + &:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; + } + &:first-child { margin-top: -3px; } + &:last-child { margin-bottom: -3px; } + + tab { + margin-top: 2px; + margin-bottom: 2px; + } + } + } + + &.top tab { padding-bottom: 4px; } + &.bottom tab { padding-top: 4px; } + } + + > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks + background-color: shade($bg_color, 1.05); + border: 1px solid shade($bg_color, 0.9); + + &:backdrop { background-color: $backdrop_bg_color; } + } +} + + +/************** + * Scrollbars * + **************/ +scrollbar { + $_slider_min_length: 40px; + + // disable steppers + @at-root * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + } + + background-image: linear-gradient(to right, + lighten($bg_color, 0%), + lighten($bg_color, 0%) + ); + transition: 300ms $ease-out-quad; + + // scrollbar border + &.top { border-bottom: 1px solid lighten($bg_color, 5%); } + &.bottom { border-top: 1px solid lighten($bg_color, 5%); } + &.left { border-right: 1px solid lighten($bg_color, 5%); } + &.right { border-left: 1px solid lighten($bg_color, 5%); } + + &:backdrop { + background-color: $backdrop_scrollbar_bg_color; + border-color: lighten($bg_color, 5%); + transition: $backdrop_transition; + } + + // slider + slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid darken($bg_color, 30%); + border-radius: 0px; + background-clip: padding-box; + background-color: $scrollbar_slider_color; + + &:hover { + background-color: $scrollbar_slider_hover_color; + } + + &:hover:active { background-color: $scrollbar_slider_active_color; } + + &:backdrop { background-color: $backdrop_scrollbar_slider_color; } + + &:disabled { background-color: transparent; } + } + + &.fine-tune { + slider { + min-width: 4px; + min-height: 4px; + } + + &.horizontal slider { border-width: 5px 4px; } + &.vertical slider { border-width: 4px 5px; } + } + + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; + + slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade($fg_color, 0.9); + background-image: none; + border: 1px solid if($variant == 'light', white, black); + } + + button { + min-width: 5px; + min-height: 5px; + background-color: shade($fg_color, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid if($variant == 'light', white, black); + -gtk-icon-source: none; + } + + &.horizontal { + slider { + margin: 0 2px; + min-width: $_slider_min_length; + } + + button { + margin: 1px 2px; + min-width: 5px; + } + } + + &.vertical { + slider { + margin: 2px 0; + min-height: $_slider_min_length; + } + + button { + margin: 2px 1px; + min-height: 5px; + } + } + } + + &.dragging, + &.hovering { opacity: 0.8; } + } + + &.horizontal slider { min-width: $_slider_min_length; } + + &.vertical slider { min-height: $_slider_min_length; } + + // button styling + button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + + @include button(undecorated); + + color: $scrollbar_slider_color; + + &:hover { + @include button(undecorated); + + color: $scrollbar_slider_hover_color; + } + &:active, &:checked { + @include button(undecorated); + + color: $scrollbar_slider_active_color; + } + &:disabled { + @include button(undecorated); + + color: transparentize($scrollbar_slider_color, 0.8); + } + &:backdrop { + @include button(undecorated); + + color: $backdrop_scrollbar_slider_color; + + &:disabled { + @include button(undecorated); + + color: transparentize($backdrop_scrollbar_slider_color, 0.8); + } + } + } + + // button icons + &.vertical { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } + } + } + + &.horizontal { + button { + &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } + + &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } + } + } +} + +treeview ~ scrollbar.vertical { + border-top: 1px solid $borders_color; + margin-top: -1px; +} + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here + _widget_edge(transparent); // otherwise it gets + // clipped + // similar to the .scale + border: 1px solid gtkalpha(black, 0.25); + border-radius: 12px; + background-color: mix($bg_color, $borders_color, 60%); + text-shadow: 0 1px transparentize(black, 0.9); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; + + &:checked { + box-shadow: inset 0 1px transparentize(black, 0.9), + _widget_edge(transparent); + border-color: shade($selected_borders_color, 1.1); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + $selected_bg_color + ); + text-shadow: 0 1px transparentize($selected_borders_color, 0.5), + 0 0 2px transparentize(white, 0.4); + } + + &:disabled { + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: _widget_edge(transparent); + text-shadow: none; + } + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + box-shadow: none; + text-shadow: none; + transition: $backdrop_transition; + + &:checked { + @if $variant == 'light' { color: $backdrop_bg_color; } + border-color: if($variant == 'light', $selected_bg_color, + $selected_borders_color); + background-color: $selected_bg_color; + box-shadow: none; + } + } + + &:disabled { + border-color: $backdrop_borders_color; + background-image: none; + background-color: $insensitive_bg_color; + } + + slider { + margin: -1px; + border: 1px solid gtkalpha(black, 0.2); + border-radius: 12px; + min-width: 24px; + transition: $button_transition; + + @include button(normal-alt, $edge: $shadow_color); + } + + &:hover slider { @include button(hover-alt, $edge: $shadow_color); } + + &:checked slider { border: 1px solid gtkalpha($selected_borders_color, 0.8); } + + &:disabled slider { @include button(insensitive); } + + &:backdrop { + slider { + transition: $backdrop_transition; + + @include button(backdrop); + } + + &:checked slider { border-color: if($variant == 'light', $selected_bg_color, $selected_borders_color); } + + &:disabled slider { @include button(backdrop-insensitive); } + } + + row:selected & { + @if $variant == 'light' { + box-shadow: none; + border-color: $selected_borders_color; + + &:backdrop { border-color: $selected_borders_color; } + + &.slider:dir(rtl) { border-left-color: $borders_color; } + &.slider:dir(ltr) { border-right-color: $borders_color; } + + &.slider { &:checked, & { border-color: $selected_borders_color; } } + } + } +} + + +/************************* + * 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 + + +//selection-mode +@each $s,$as in ('','-selectionmode'), + (':hover', '-hover-selectionmode'), + (':active', '-active-selectionmode'), + (':backdrop', '-backdrop-selectionmode'), + (':checked', '-checked-selectionmode'), + (':checked:hover', '-checked-hover-selectionmode'), + (':checked:active', '-checked-active-selectionmode'), + (':backdrop:checked', '-checked-backdrop-selectionmode') { + .view.content-view.check#{$s}:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), + url("assets/checkbox#{$as}@2.png")); + background-color: transparent; + } +} + +checkbutton.text-button, radiobutton.text-button { + // this is for a nice focus on check and radios text + padding: 2px 0; + outline-offset: 0; + + label:not(:only-child) { + &:first-child { margin-left: 4px; } + &:last-child { margin-right: 4px; } + } +} + +check, +radio { + margin: 0 4px; + + &:only-child { margin: 0; } + + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + + @include button(normal-alt, $edge: $shadow_color); + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + &:active { @include button(active); } + &:disabled { @include button(insensitive); } + &:backdrop { + @include button(backdrop); + + transition: $backdrop_transition; + + &:disabled { @include button(backdrop-insensitive); } + } + + @if $variant == 'light' { + // the borders of the light variant versions of checks and radios are too similar in luminosity to the selected background + // color, hence we need special casing. + row:selected & { border-color: $selected_borders_color; } + } + + .osd & { + @include button(osd); + + &:hover { @include button(osd); } + &:active { @include button(osd-active); } + &:backdrop { @include button(osd-backdrop); } + &:disabled { @include button(osd-insensitive); } + } + + menu menuitem & { + margin: 0; // this is a workaround for a menu check/radio size allocation issue + + &, &:hover, &:disabled { //FIXME use button reset mixin + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; + } + } +} + +%check, +check { + border-radius: 3px; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), + -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +%radio, +radio { + border-radius: 100%; + + &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), + -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + + &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), + -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } +} + +// let's animate things +@keyframes check_check { + from { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_radio { + from { -gtk-icon-transform: scale(0); } + to { -gtk-icon-transform: unset; } +} + +@keyframes check_indeterminate { + from { -gtk-icon-transform: scale(0, 1); } + to { -gtk-icon-transform: unset; } +} + +check:not(:indeterminate):checked { animation: check_check 400ms; } + +radio:not(:indeterminate):checked { animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { animation: check_indeterminate 400ms; } + +// no animations in menus +menu menuitem { + check:not(:indeterminate):checked, + radio:not(:indeterminate):checked, + check:indeterminate:checked:active, + radio:indeterminate:checked { animation: none; } +} + +treeview.view check, +treeview.view radio { + &:selected { + &:focus, & { + color: $fg_color; + + @if $variant == 'light' { border-color: $selected_borders_color; } + } + + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + } + + &:backdrop { &:selected, & { color: $backdrop_fg_color; }} +} + +treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround + + +/************ + * GtkScale * + ************/ +%scale_trough { + border: 1px solid $borders_color; + border-radius: 3px; + background-color: $dark_fill; + box-shadow: inset 1px 1px transparentize(black, 0.9); + + &:disabled { + background-color: $insensitive_bg_color; + box-shadow: none; + } + + &:backdrop { + background-color: $backdrop_dark_fill; + border-color: $backdrop_borders_color; + box-shadow: none; + transition: $backdrop_transition; + + &:disabled { background-color: $insensitive_bg_color; } + } + + // ...on selected list rows + row:selected & { + box-shadow: none; + + &, &:disabled { border-color: $selected_borders_color; } + } + + // OSD + .osd & { + border-color: $osd_borders_color; + background-color: transparentize($osd_borders_color, 0.2); + box-shadow: none; + outline-color: transparentize($osd_fg_color, 0.8); + + &:disabled { background-color: $osd_insensitive_bg_color; } + } +} + +%scale_highlight { + border: 1px solid shade($selected_bg_color, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.1), + shade($selected_bg_color, 0.9) + ); + + &:disabled { + background-color: transparent; + border-color: transparent; + } + + &:backdrop { + border-color: if($variant=='light', $selected_bg_color, + $selected_borders_color); + &:disabled { + background-color: transparent; + border-color: transparent; + } + } + + // ...on selected list rows + row:selected & { &:disabled, & { border-color: $selected_borders_color; } } + + // OSD + .osd & { + border-color: $osd_borders_color; + + &:disabled { border-color: transparent; } + } +} + +scale { + // sizing + $_marks_length: 6px; + $_marks_distance: 6px; + + min-height: 10px; + min-width: 10px; + padding: 12px; + + // those are inside the trough node, I need them to show their own border over the trough one, so negative margin + fill, + highlight { margin: -2px; } + + // the slider is inside the trough, so to have make it bigger there's a negative margin + + slider { + min-height: 13px; + min-width: 13px; + margin: -7px; + } + + // click-and-hold the slider to activate + &.fine-tune { + &.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; + } + + &.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; + } + + // to make the trough grow in fine-tune mode + slider { margin: -6px; } + + fill, + highlight, + trough { + border-radius: 5px; + -gtk-outline-radius: 7px; + } + } + + // the backing bit + trough { + @extend %scale_trough; + + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; + } + + // the colored part of the backing bit + highlight { @extend %scale_highlight; } + + // this is another differently styled part of the backing bit, the most relevant use case is for example + // in media player to indicate how much video stream has been cached + fill { + @extend %scale_trough; + + &, &:backdrop { + background-color: $borders_color; + box-shadow: none; + } + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + + // OSD + .osd & { + background-color: mix($osd_fg_color, $osd_borders_color, 25%); + + &:disabled { + &, &:backdrop { + border-color: transparent; + background-color: transparent; + } + } + } + } + + slider { + @include button(normal); + + background-image: linear-gradient(to bottom, + shade($bg_color, 1.45), + shade($bg_color, 1.15) + ); + border: 1px solid darken($borders_color, 3%); + border-radius: 100%; + transition: $button_transition; + transition-property: background, border, box-shadow; + + &:hover { @include button(hover-alt, $edge: $shadow_color); } + + &:active { border-color: $selected_borders_color; } + + &:disabled { @include button (insensitive); } + + &:backdrop { + transition: $backdrop_transition; + + @include button(backdrop); + + &:disabled { @include button(backdrop-insensitive); } + } + + // ...on selected list rows + row:selected & { &, &:disabled { border-color: $selected_borders_color; } } + + // OSD + .osd & { + @include button(osd); + border-color: darken($osd_borders_color, 3%); + background-color: opacify($osd_bg_color, 1); // solid background needed here + + &:hover { @include button(osd-hover); } + + &:active { @include button(osd-active); } + + &:disabled { @include button(osd-insensitive); } + + &:backdrop { + @include button(osd-backdrop); + + &:disabled { @include button(osd-backdrop-insensitive); } + } + } + } + + value { color: gtkalpha(currentColor, 0.6); } + + marks { + color: gtkalpha(currentColor, 0.4); + + } + + &.color { + min-height: 0; + min-width: 0; + + trough { + background-image: image($borders_color); + background-repeat: no-repeat; + } + + &.horizontal { + padding: 0 0 15px 0; + + trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:dir(ltr), &:dir(rtl) { // specificity bumb + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 15px; + + trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-left: -15px; + margin-right: 6px; + } + } + } + + &:dir(rtl) { + padding: 0 15px 0 0; + + trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + slider { + &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + + &.fine-tune { + &.horizontal { + &:dir(ltr), &:dir(rtl) { // specificity bump + padding: 0 0 12px 0; + + trough { + padding-bottom: 7px; + background-position: 0 -6px; + } + + slider { + margin-bottom: -15px; + margin-top: 6px; + } + } + } + + &.vertical { + &:dir(ltr) { + padding: 0 0 0 12px; + + trough { + padding-left: 7px; + background-position: 6px 0; + } + + slider { + margin-left: -15px; + margin-right: 6px; + } + } + + &:dir(rtl) { + padding: 0 12px 0 0; + + trough { + padding-right: 7px; + background-position: -6px 0; + } + + slider { + margin-right: -15px; + margin-left: 6px; + } + } + } + } + } +} + + +/***************** + * Progress bars * + *****************/ +progressbar { + // sizing + &.horizontal { + trough { min-height: 6px; } + progress { min-height: 8px; } + } + + &.vertical { + trough { min-width: 6px; } + progress { min-width: 8px; } + } + + &.horizontal progress, + &.vertical progress { margin: 0; } + + + // FIXME: insensitive state missing and some other state should be set probably + font-size: smaller; + color: transparentize($fg_color, 0.6); + + &:backdrop { + box-shadow: none; + transition: $backdrop_transition; + } + + trough { @extend %scale_trough; } + + &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here + + progress { + @extend %scale_highlight; + border-width: 0; // use box-shadow instead of border in order to not draw anything if the progressbar's fraction is 0 (borders are always drawn!) + box-shadow: inset 1px 1px shade($selected_bg_color, 0.7), + inset -1px -1px shade($selected_bg_color, 0.7); + + border-radius: 3px; + + &.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + &.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + &.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; + } + + &.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + } + + &:backdrop progress { // states not passed here as well + @extend %scale_highlight:backdrop; + box-shadow: none; + } + + &.osd { // progressbar.osd used for epiphany page loading progress + min-width: 3px; + min-height: 3px; + background-color: transparent; + + trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; + } + + progress { + border-style: none; + border-radius: 0; + } + } +} + + +/************* + * Level Bar * + *************/ +levelbar { + block { + min-width: 32px; + min-height: 1px; + } + + &.vertical block { + min-width: 1px; + min-height: 32px; + } + + &:backdrop { transition: $backdrop_transition; } + + trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + @include entry(normal); + + &:backdrop { @include entry(backdrop); } + } + + &.horizontal.discrete block { margin: 0 1px; } + + &.vertical.discrete block { margin: 1px 0; } + + block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px transparentize(black, 0.8); + + &:backdrop { box-shadow: none; } + + &.low { + border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color); + background-color: $warning_color; + + &:backdrop { border-color: $warning_color; }; + } + + &.high, + &:not(.empty) { + border-color: if($variant == 'light', darken($selected_bg_color, 20%), $selected_bg_color); + background-color: $selected_bg_color; + + &:backdrop { border-color: $selected_bg_color; } + } + + &.full { + border-color: if($variant == 'light', darken($success_color, 20%), $success_color); + background-color: $success_color; + + &:backdrop { border-color: $success_color; }; + } + + &.empty { + background-color: transparent; + border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9)); + box-shadow: none; + + &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); } + } + } +} + + +/**************** + * Print dialog * +*****************/ +printdialog { + paper { + color: $fg_color; + border: 1px solid $borders_color; + background: white; + padding: 0; + + &:backdrop { + color: $backdrop_fg_color; + border-color: $backdrop_borders_color; + } + } + + .dialog-action-box { margin: 12px; } +} + + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid $borders_color; + + &.flat { border-style: none; } + + &:backdrop { border-color: $backdrop_borders_color; } +} + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid $borders_color; + + &:backdrop { border-color: $backdrop_borders_color; } +} + +scrolledwindow { + viewport.frame { // avoid double borders when viewport inside scrolled window + border-style: none; + } + + // This is used when content is touch-dragged past boundaries. + // draws a box on top of the content, the size changes programmatically. + overshoot { + &.top { + @include overshoot(top); + + &:backdrop { @include overshoot(top, backdrop); } + } + + &.bottom { + @include overshoot(bottom); + + &:backdrop { @include overshoot(bottom, backdrop); } + } + + &.left { + @include overshoot(left); + + &:backdrop { @include overshoot(left, backdrop); } + } + + &.right { + @include overshoot(right); + + &:backdrop { @include overshoot(right, backdrop); } + } + } + + // 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); } + } + + junction { // 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; } + + &:backdrop { + border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px); + background-color: $backdrop_scrollbar_bg_color; + transition: $backdrop_transition; + } + } +} + +//vbox and hbox separators +separator { + background: transparentize(black, 0.9); + min-width: 1px; + min-height: 1px; +} + + +/********* + * Lists * + *********/ +list { + color: $text_color; + background-color: $base_color; + border-color: $borders_color; + + &:backdrop { + background-color: $backdrop_base_color; + border-color: $backdrop_borders_color; + } + + row { padding: 2px; } +} + +row { + transition: all 150ms $ease-out-quad; + + &:hover { transition: none; } + + &:backdrop { transition: $backdrop_transition; } + + &.activatable { + &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411 + + &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); } + + &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); } + + &:backdrop:hover { background-color: transparent; } + + &:selected { + &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); } + + &.has-open-popup, + &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); } + + &:backdrop { background-color: $selected_bg_color; } + } + } + + &:selected { @extend %selected_items; } +} + + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + @extend %osd; + + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: $osd_bg_color; + background-image: linear-gradient(to bottom, transparentize(black, 0.8), + transparent 2px); + background-clip: padding-box; + + &:backdrop { + background-image: none; + transition: $backdrop_transition; + } + + button { @extend %osd_button; } + + border { border: none; } +} + + +/************* + * Expanders * + *************/ +expander { + arrow { + min-width: 16px; + min-height: 16px; + -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 * + ***********/ +calendar { + color: $text_color; + border: 1px solid $borders_color; + + &:selected { + @extend %selected_items; + + border-radius: 3px; + } + + &.header { + border-bottom: 1px solid transparentize(black, 0.9); + border-radius: 0; + + &:backdrop { border-color: transparentize(black, 0.9); } + } + + &.button { + @extend %undecorated_button; + + color: transparentize($fg_color, 0.55); + + &:hover { + @extend %undecorated_button; + + color: $fg_color; + } + + &:backdrop { + @extend %undecorated_button; + + color: transparentize($backdrop_fg_color,0.55); + } + + &:disabled { + @extend %undecorated_button; + + color: transparentize($insensitive_fg_color,0.55); + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: gtkalpha(currentColor, 0.55); } + + &.highlight, + &.highlight:backdrop { + font-size: smaller; + color: $fg_color; + } + + + &:backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + } +} + + +/*********** + * Dialogs * + ***********/ +messagedialog { // Message Dialog styling + .titlebar { + min-height: 20px; + background-image: none; + background-color: $bg_color; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + } + + &.csd { // rounded bottom border styling for csd version + &.background { + // bigger radius for better antialiasing + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; + } + + .dialog-action-area button { + padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; + + &:first-child{ + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; + } + + &:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; + } + } + } +} + +filechooser { + .dialog-action-box { + border-top: 1px solid $borders_color; + + &:backdrop { border-top-color: $backdrop_borders_color; } + } + + #pathbarbox { + border-bottom: 1px solid $bg_color; + stack { background-color: $bg_color; } + } +} + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; +} + + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: $sidebar_bg_color; + -gtk-icon-style: regular; + + row { + &:selected { + background-image: linear-gradient(to bottom, + shade($sidebar_bg_color, 0.87), + shade($sidebar_bg_color, 0.95) 10%, + shade($sidebar_bg_color, 0.99) 92%, + shade($sidebar_bg_color, 0.92) + ); + box-shadow: 0 -1px shade($bg_color, 0.85), + 0 1px shade($bg_color, 1.12); + + label { + color: $fg_color; + &:backdrop { color: $backdrop_fg_color; } + } + } + &:backdrop { background-color: transparent; } + } + @at-root %sidebar_left, + &:dir(ltr), + &.left, + &.left:dir(rtl) { + border-right: 1px solid $borders_color; + border-left-style: none; + } + + @at-root %sidebar_right + &:dir(rtl), + &.right { + border-left: 1px solid $borders_color; + border-right-style: none; + } + + &:backdrop { + background-color: $backdrop_sidebar_bg_color; + border-color: $backdrop_borders_color; + transition: $backdrop_transition; + } + + list, treeview { + background-color: transparent; + &:backdrop { + background-color: transparent; + } + } + + paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }} +} + +stacksidebar { + &.sidebar { + &:dir(ltr), + &.left, + &.left:dir(rtl) { list { @extend %sidebar_left; }} + + &:dir(rtl), + &.right { list { @extend %sidebar_right; }} + } + + row { + padding: 10px 4px; + + > label { + padding-left: 6px; + padding-right: 6px; + } + + &.needs-attention > label { + @extend %needs_attention; + + background-size: 6px 6px, 0 0; + } + } +} + + +/**************** + * File chooser * + ****************/ +$_placesidebar_icons_opacity: 0.7; + +placessidebar { + > viewport.frame { border-style: none; } + + row { + // Needs overriding of the GtkListBoxRow padding + min-height: 24px; + padding: 0px; + + // Using margins/padding directly in the SidebarRow + // will make the animation of the new bookmark row jump + > revealer { padding: 0 14px; } + + &:selected { color: $fg_color; } + + &:disabled { color: $insensitive_fg_color; } + + &:backdrop { + color: $backdrop_fg_color; + background-color: $backdrop_bg_color; + + &:selected { color: $backdrop_fg_color; } + + &:disabled { color: $backdrop_insensitive_color; } + } + + image.sidebar-icon { + &:dir(ltr) { padding-right: 8px; } + &:dir(rtl) { padding-left: 8px; } + } + + label.sidebar-label { + &:dir(ltr) { padding-right: 2px; } + &:dir(rtl) { padding-left: 2px; } + } + + @at-root button.sidebar-button { + @extend %button_basic.flat; + + @extend %button_selected.flat; + + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; + + &:not(:hover):not(:active), + &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }} + } + + // in the sidebar case it makes no sense to click the selected row + &:selected:active { box-shadow: none; } + + &.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image($drop_target_color); + background-clip: content-box; + } + + &.sidebar-new-bookmark-row { color: $selected_bg_color; } + + &:drop(active):not(:disabled) { + color: $drop_target_color; + box-shadow: inset 0 1px $drop_target_color, + inset 0 -1px $drop_target_color; + + &:selected { + color: $selected_fg_color; + background-image: linear-gradient(to bottom, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 13%), + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 5%) 10%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 1%) 92%, + darken(mix(darken($base_color, 10%), lighten($selected_bg_color, 35%), 0.1), 8%) + ); + } + } + } +} + +placesview { + .server-list-button > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(0turn); + } + + .server-list-button:checked > image { + transition: 200ms $ease-out-quad; + -gtk-icon-transform: rotate(-0.5turn); + } + + row.activatable:hover { background-color: transparent; } + + // this selects the "connect to server" label + > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; + } +} + + +/********* + * Paned * + *********/ +paned { + > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; // defeats the ugly default handle decoration + border-style: none; // just to be sure + background-color: transparent; + // workaround, using background istead of a border since the border will get rendered twice (?) + background-image: image($borders_color); + background-size: 1px 1px; + + &:selected { background-image: image($selected_bg_color); } // FIXME is this needed? + + &:backdrop { background-image: image($backdrop_borders_color); } + + &.wide { + min-width: 5px; + min-height: 5px; + background-color: $bg_color; + background-image: image($borders_color), image($borders_color); + background-size: 1px 1px, 1px 1px; + + &:backdrop { + background-color: $backdrop_bg_color; + background-image: image($backdrop_borders_color), + image($backdrop_borders_color); + } + } + } + + &.horizontal > separator { + background-repeat: repeat-y; + + &:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; + } + &:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; + } + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; + } + } + + &.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; + + &.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; + } + } +} + + +/************** + * GtkInfoBar * + **************/ +infobar { border-style: none; } + +.info, +.question, +.warning, +.error { + &:backdrop, & { + label, & { color: $selected_fg_color; } + background-color: $selected_bg_color; + border-color: darken($selected_bg_color, 10%); + } + + text-shadow: 0 1px darken($selected_bg_color, 10%); + + &:backdrop { text-shadow: none; } + + button { + // FIXME: extend selection mode buttons + @include button(normal, $selected_bg_color, $selected_fg_color, none); + border-color: darken($selected_bg_color, 20%); + + &:hover { @include button(hover, $selected_bg_color, $selected_fg_color, none); } + + &:active, + &:checked { @include button(active, $selected_bg_color, $selected_fg_color, none); } + + &:disabled { @include button(insensitive,$selected_bg_color,$selected_fg_color,none); } + + &:backdrop { + @include button(backdrop, $selected_bg_color, $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + + &:disabled { + @include button(backdrop-insensitive, $selected_bg_color, + $selected_fg_color, none); + border-color: _border_color($selected_bg_color); + } + } + } + + label:selected { &:focus, &:hover, & { background-color: darken($selected_bg_color, 10%); }} + + *:link { @extend %link_selected; } +} + + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; +} + + +/************ + * 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: $bg_color; + background-clip: padding-box; + border: 1px solid darken($bg_color, 5%); // this suble border is meant to + // not make the tooltip melt with + // very dark backgrounds + } + + padding: 1px; /* not working */ + border-radius: 0px; + box-shadow: none; // otherwise it gets inherited by windowframe.csd + text-shadow: none; + + // FIXME: we need a border or tooltips vanish on black background. + decoration { background-color: transparent; } + + * { // Yeah this is ugly + padding: 1px; + background-color: transparent; + color: $fg_color; + } +} + + +/***************** + * Color Chooser * + *****************/ +colorswatch { + // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one + // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is + // applied to the overlay box. + + &, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state + + $_colorswatch_radius: 5px; + $_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3), + inset 0 3px 2px -2px transparentize(black, 0.5)); + + // base color corners rounding + // to avoid the artifacts caused by rounded corner anti-aliasing the base color + // sports a bigger radius. + // nth-child is needed by the custom color strip. + + &.top { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-top-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-top-right-radius: $_colorswatch_radius; + } + } + + &.bottom { + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-bottom-left-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.left, + &:first-child:not(.top) { + border-top-left-radius: $_colorswatch_radius + 0.5px; + border-bottom-left-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-left-radius: $_colorswatch_radius; + border-bottom-left-radius: $_colorswatch_radius; + } + } + + &.right, + &:last-child:not(.bottom) { + border-top-right-radius: $_colorswatch_radius + 0.5px; + border-bottom-right-radius: $_colorswatch_radius + 0.5px; + + overlay { + border-top-right-radius: $_colorswatch_radius; + border-bottom-right-radius: $_colorswatch_radius; + } + } + + &.dark overlay { + color: $selected_fg_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); } + + &:backdrop { color: $backdrop_selected_fg_color; } + } + + &.light overlay { + color: $text_color; + + &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); } + + &:backdrop { color: $backdrop_text_color; } + } + + &:drop(active) { + box-shadow: none; + + &.light overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + + &.dark overlay { + border-color: $drop_target_color; + box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color), + inset 0 0 0 1px $drop_target_color; + } + } + + overlay { + box-shadow: $_colorswatch_overlay_shadow; + border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color); + + &:hover { box-shadow: inset 0 1px transparentize(white, 0.7); } + + &:backdrop, &:backdrop:hover { + border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color); + box-shadow: none; + } + } + + &#add-color-button { + border-radius: $_colorswatch_radius $_colorswatch_radius 0 0; + + &:only-child { border-radius: $_colorswatch_radius; } + + overlay { + @include button(normal); + + &:hover { @include button(hover); } + + &:backdrop { @include button(backdrop); } + } + } + + &:disabled { + opacity: 0.5; + + overlay { + border-color: transparentize(black, 0.4); + box-shadow: none; + } + } + + row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; } + + &#editor-color-sample { + border-radius: 4px; + + overlay { border-radius: 4.5px; } + } +} + +// colorscale popup +colorchooser .popover.osd { border-radius: 5px; } + +/******** + * Misc * + ********/ +//content view (grid/list) +.content-view { + background-color: darken($bg_color,7%); + + &:hover { -gtk-icon-effect: highlight; } + + &:backdrop { background-color: darken($bg_color,7%); } + + rubberband { @extend rubberband; } +} + +.scale-popup { + .osd & { @extend %osd; } + + .osd & button.flat { //FIXME: quick hack, redo properly + border-style: none; + border-radius: 5px; + } + + button { // +/- buttons on GtkVolumeButton popup + &:hover { + @extend %undecorated_button; + background-color: transparentize($fg_color,0.9); + border-radius: 5px; + } + + &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }} + } +} + + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 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: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color, 0.1)); + $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize($borders_color, 0.1)); + + box-shadow: 0 3px 9px 1px transparentize(black, 0.5), + 0 0 0 1px $_wm_border; //doing borders with box-shadow + + // FIXME rationalize shadows + + // this is used for the resize cursor area + margin: 10px; + + &:backdrop { + // the transparent shadow here is to enforce that the shadow extents don't + // change when we go to backdrop, to prevent jumping windows. + // The biggest shadow should be in the same order then in the active state + // or the jumping will happen during the transition. + box-shadow: 0 3px 9px 1px transparent, + 0 2px 6px 2px transparentize(black, 0.8), + 0 0 0 1px $_wm_border_backdrop; + transition: $backdrop_transition; + } + + .maximized &, + .fullscreen &, + .tiled & { border-radius: 0; } + + .popup & { box-shadow: none; } + + // server-side decorations as used by mutter + .ssd & { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows + + .csd.popup & { + border-radius: 0; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + tooltip.csd & { + border-radius: 5px; + box-shadow: none; + } + + messagedialog.csd & { + border-radius: 7px; + box-shadow: 0 1px 2px transparentize(black, 0.8), + 0 0 0 1px transparentize($_wm_border,0.1); + } + + .solid-csd & { + border-radius: 0; + margin: 4px; + background-color: $backdrop_bg_color; + border: solid 1px $backdrop_borders_color; + box-shadow: none; + } +} + +// Window Close button +button.titlebutton { + @extend %button_basic; + + @extend %button_basic.flat; + + @include _button_text_shadow; + + .selection-mode & { + @extend %button.flat.suggested-action; + + @extend %nobg_selected_items; + } + + &:backdrop { -gtk-icon-shadow: none; } +} + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + @include _button_text_shadow(white, $selected_bg_color); + + &:backdrop { -gtk-icon-shadow: none; } +} + + +// catch all extend :) + +%selected_items { + background-color: $selected_bg_color; + + @at-root %nobg_selected_items, & { + color: $selected_fg_color; + + @if $variant == 'light' { outline-color: transparentize($selected_fg_color, 0.7); } + + &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); } + + &:backdrop { + color: $backdrop_selected_fg_color; + + &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); } + } + } +} + +.monospace { font-family: monospace; } + + +/********************** + * Touch Copy & Paste * + *********************/ +//touch selection handlebars for the Popover.osd above +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; + + @each $s,$as in ('',''), + (':hover','-hover'), + (':active','-active') { //no need for insensitive and backdrop + &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) { + $_url: 'assets/text-select-start#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-left: 10px; + } + + &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) { + $_url: 'assets/text-select-end#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + padding-right: 10px; + } + + &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) { + $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}'; + -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'), + url('#{$_url}@2.png')); + } + } +} + +.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + +button.circular { // FIXME: aggregate to buttons + border-radius: 9999px; + -gtk-outline-radius: 9999px; + + label { padding: 0; } +} + +// shortcut window keys +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + + color: $fg_color; + background-color: $base_color; + border: 1px solid; + border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color); + border-radius: 5px; + box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%)); + font-size: smaller; + + &:backdrop { + background-color: $backdrop_base_color; + color: $backdrop_fg_color; + transition: $backdrop_transition; + } +} + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die + border-color: $drop_target_color; + box-shadow: inset 0 0 0 1px $drop_target_color; +} + +stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons + +stackswitcher button.circular, +stackswitcher button.text-button.circular { // FIXME aggregate with buttons + min-width: 32px; + min-height: 32px; + padding: 0; +} diff --git a/themes/SoftWaves/gtk-3.0/_drawing.scss b/themes/SoftWaves/gtk-3.0/_drawing.scss new file mode 100644 index 0000000..714dcd4 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_drawing.scss @@ -0,0 +1,641 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function _widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @if $c == none { @return none; } + @else { @return 0 1px $c; } +} + +@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 + +@function entry_focus_border($fc:$selected_bg_color) { + @if $variant == 'light' { @return $fc; } + @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); } +} + +@function entry_focus_shadow($fc:$selected_bg_color) { + @return inset 0 0 0 1px $fc; +} + +@function entry_gradient($c) { + @if $variant=='light' { @return linear-gradient(to bottom, mix($borders_color, $c, 45%), + mix($borders_color, $c, 3%) 2px, + $c 90%); } + @else { @return linear-gradient(to bottom, mix($borders_color, $c, 95%), + mix($borders_color, $c, 40%) 3px, + $c 90%); } +} + +@mixin entry($t, $fc:$selected_bg_color, $edge: none) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop; +// + + $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1)); + $_entry_edge: if($edge == none, none, _widget_edge($edge)); + + @if $t==normal { + color: $text_color; + border-color: $borders_color; + background-color: $base_color; + @include _shadows(entry_focus_shadow(transparentize($fc, 1)), $_entry_edge); + // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here. + } + @if $t==focus { + border-color: entry_focus_border($fc); + } + @if $t==insensitive { + color: $insensitive_fg_color; + border-color: $borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_entry_edge; + } + @if $t==backdrop { + color: $backdrop_text_color; + border-color: $backdrop_borders_color; + background-color: $backdrop_base_color; + box-shadow: $_blank_edge; + } + @if $t==backdrop-insensitive { + color: $backdrop_insensitive_color; + border-color: $backdrop_borders_color; + background-color: $insensitive_bg_color; + box-shadow: $_blank_edge; + } + @if $t==osd { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-focus { + color: $osd_text_color; + border-color: $selected_bg_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: entry_focus_shadow($fc); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + } + @if $t==osd-insensitive { + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @if $t==osd-backdrop { + color: $osd_text_color; + border-color: $osd_borders_color; + background-color: transparentize(opacify($osd_borders_color, 1), 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +// buttons + +@function _border_color ($c) { @return darken($c, 25%); } // colored buttons want + // the border form the + // base color + +@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) { +// +// calculate the color of text shadows +// +// $tc is the text color +// $bg is the background color +// + $_lbg: lightness($bg)/100%; + @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); } + @else { @return transparentize(black, $_lbg*0.8); } +} + +@function _button_hilight_color($c) { +// +// calculate the right top hilight color for buttons +// +// $c: base color; +// + @if lightness($c)>95% { @return white; } + @else if lightness($c)>90% { @return transparentize(white, 0.2); } + @else if lightness($c)>80% { @return transparentize(white, 0.4); } + @else if lightness($c)>50% { @return transparentize(white, 0.6); } + @else if lightness($c)>40% { @return transparentize(white, 0.8); } + @else { @return transparentize(white, 0.95); } +} + +@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) { +// +// helper function for the text emboss effect +// +// $tc is the optional text color, not the shadow color +// +// TODO: this functions needs a way to deal with special cases +// + + $_shadow: _text_shadow_color($tc, $bg); + + @if lightness($tc)<50% { + text-shadow: 0 1px $_shadow; + -gtk-icon-shadow: 0 1px $_shadow; + } + @else { + text-shadow: 0 -1px $_shadow; + -gtk-icon-shadow: 0 -1px $_shadow; + } +} + +@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: none) { +// +// Button drawing function +// +// $t: button type, +// $c: base button color for colored* types +// $tc: optional text color for colored* types +// $edge: set to none to not draw the bottom edge or specify a color to not +// use the default one +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + $_hilight_color: _button_hilight_color($c); + $_button_edge: if($edge == none, none, _widget_edge($edge)); + $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1))); + + @if $t==normal { + // + // normal button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-top-color: shade($bg_color, 0.8); + border-right-color: shade($bg_color, 0.72); + border-left-color: shade($bg_color, 0.72); + border-bottom-color: shade($bg_color, 0.7); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 1.02), 1.05), shade(shade($c, 1.02), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 2%), darken($c, 4%) 60%, darken($c, 6%)); } + @include _shadows(inset 0 1px $_hilight_color, $_button_edge); + } + + @else if $t==hover { + // + // hovered button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, shade($c, 1.15), shade($c, 1.07)); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, lighten($c, 1%), darken($c, 2%) 60%, darken($c, 4%)); + @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge); + } + } + + @if $t==normal-alt { + // + // normal button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%); + @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 2%), + inset 0 -1px darken($c, 12%), + $_button_edge); + } + @else { + background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 4%), + inset 0 -1px darken($c, 9%), + $_button_edge); + } + } + + @else if $t==hover-alt { + // + // hovered button alternative look + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { + background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%); + box-shadow: inset 0 1px _button_hilight_color(lighten($c, 6%)), + inset 0 -2px lighten($c, 5%), + inset 0 -1px darken($c, 10%), + $_button_edge; + } + @else { + background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%); + @include _shadows(inset 0 1px $_hilight_color, + inset 0 -2px darken($c, 3%), + inset 0 -1px darken($c, 6%), + $_button_edge); + } + } + + + @else if $t==active { + // + // pushed button + // + color: $tc; + outline-color: transparentize($tc, 0.7); + border-color: if($c!=$bg_color, _border_color($c), $borders_color); + @if $variant == 'light' { background-image: linear-gradient(to bottom, shade(shade($c, 0.85), 1.05), shade(shade($c, 0.85), 0.97)); } + @else { background-image: linear-gradient(to bottom, darken($c, 9%), darken($c, 5%)); } + @include _shadows(inset 0 2px 1px -2px transparentize(black,0.4), + $_button_edge); + } + @else if $t==insensitive { + // + // insensitive button + // + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color); } + + border-color: if($c!=$bg_color, _border_color($c), + $insensitive_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + @else if $t==insensitive-active { + // + // insensitive pushed button + // + $_bg: if($c!=$bg_color, darken(mix($c,$base_color, 85%), 5%), + $insensitive_bg_color); + $_bc: if($c!=$bg_color, _border_color($c), $insensitive_borders_color); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color); } + + border-color: $_bc; + background-image: linear-gradient(to bottom, mix($_bc, $_bg, 10%), $_bg); + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge); + } + + @else if $t==backdrop { + // + // backdrop button + // + $_bg: if($c!=$bg_color,$c,$backdrop_bg_color); + $_bc: if($variant=='light',$c,_border_color($c)); + + label, & { color: if($tc!=$fg_color,mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-active { + // + // backdrop pushed button FIXME no colors here! + // + $_bg: if($c!=$bg_color, darken($c, 10%), $backdrop_dark_fill); + $_bc: if($variant=='light',$_bg,_border_color($c)); + + label, & { color: if($tc!=$fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive { + // + // backdrop insensitive button + // + + $_bg: if($c!=$bg_color, mix($c, $base_color, 85%), $insensitive_bg_color); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label, & { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + text-shadow: none; + -gtk-icon-shadow: none; + // white with 0 alpha to avoid an ugly transition, since no color means + // black with 0 alpha + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==backdrop-insensitive-active { + // + // backdrop insensitive pushed button + // + + $_bg: if($c!=$bg_color, darken(mix($c, $base_color, 85%), 5%), + darken($insensitive_bg_color, 5%)); + $_bc: if($variant=='light', $_bg,_border_color($c)); + + label { color: if($c!=$bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color); } + + border-color: if($c!=$bg_color, $_bc, $backdrop_borders_color); + background-color: $_bg; + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + } + + @else if $t==osd { + // + // normal osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-hover { + // + // active osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.3), + lighten($osd_bg_color, 12%)); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: inset 0 1px transparentize(white, 0.9); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-active { + // + // active osd button + // + $_bg: if($c!=$bg_color, $c, $osd_borders_color); + + color: white; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: transparentize($osd_fg_color, 0.7); + } + @else if $t==osd-insensitive { + // + // insensitive osd button + // + color: $osd_insensitive_fg_color; + border-color: $osd_borders_color; + background-color: $osd_insensitive_bg_color; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==osd-backdrop { + // + // backdrop osd button + // + $_bg: if($c!=$bg_color, transparentize($c, 0.5), + $osd_bg_color); + + color: $osd_fg_color; + border-color: $osd_borders_color; + background-color: $_bg; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + } + @else if $t==undecorated { + // + // reset + // + border-color: transparent; + background-color: transparent; + background-image: none; + + @include _shadows(inset 0 1px transparentize(white, 1), + $_blank_edge); + + text-shadow: none; + -gtk-icon-shadow: none; + } +} + +@mixin trough($flat:false, $c:$bg_color, $tc:$fg_color, $noedge:true) { + color: mix($tc, $bg_color, 80%); + @if $flat { background-color: $c; } + @else { + background-image: linear-gradient(to bottom, + mix(black,$c,15%) 5%, + mix(black,$c,10%) 20%, + mix(black,$c,10%) 90%, + $c); + } + + border-color: if($c!=$bg_color, _border_color($c), $border_color); + + @if not($noedge) { + @if lightness($c) > 60% { + box-shadow: inset 0 -1px $borders_edge, + 0 1px $borders_edge; + } + @else { + box-shadow: inset 0 -1px transparentize($borders_edge, 0.5), + 0 1px transparentize($borders_edge, 0.5); + } + } + @else { box-shadow: none; } +} + +@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) { +// +// headerbar fill +// +// $c: base color +// $hc: top highlight color +// $ov: a background layer for background shorthand (hence no commas!) +// + $gradient: linear-gradient(to bottom, $c, shade($c, 0.88)); + + @if $variant == 'dark' { $gradient: linear-gradient(to top, darken($c, 3%), darken($c, 1%) 2px, $c 3px); } + + @if $ov != none { background: $c $ov, $gradient; } + @else { background: $c $gradient; } + + box-shadow: inset 0 1px $hc; // top highlight +} + +@mixin overshoot($p, $t:normal, $c:$fg_color) { +// +// overshoot +// +// $p: position +// $t: type +// $c: base color +// +// possible $p values: +// top, bottom, right, left +// +// possible $t values: +// normal, backdrop +// + + $_small_gradient_length: 5%; + $_big_gradient_length: 100%; + + $_position: center top; + $_small_gradient_size: 100% $_small_gradient_length; + $_big_gradient_size: 100% $_big_gradient_length; + + @if $p==bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } + + @else if $p==right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + @else if $p==left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $c; + $_big_gradient_color: $c; + + @if $c==$fg_color { + $_small_gradient_color: darken($borders_color, 10%); + $_big_gradient_color: $fg_color; + + @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; } + } + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.5, + to($_small_gradient_color), + to(transparentize($_small_gradient_color, 1))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, 0.6, + from(transparentize($_big_gradient_color, 0.93)), + to(transparentize($_big_gradient_color, 1))); + + @if $t==normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } + + @else if $t==backdrop { + background-image: $_small_gradient; + background-size: $_small_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; // +} + +@mixin undershoot($p) { +// +// undershoot +// +// $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; + border: none; + box-shadow: none; +} diff --git a/themes/SoftWaves/gtk-3.0/_gnome-apps.scss b/themes/SoftWaves/gtk-3.0/_gnome-apps.scss new file mode 100644 index 0000000..219e9dc --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_gnome-apps.scss @@ -0,0 +1,57 @@ +$variant: 'light'; + +@import 'colors'; + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: $base_color; + notebook, notebook > stack { background-color: $base_color; } +} + +/* Floating status bar */ +.floating-bar { + background-color: $base_color; + border-style: solid; + border-color: $borders_color; + &.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; + } + &.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; + } + &:backdrop { + background-color: $backdrop_bg_color; + border-color: $backdrop_borders_color; + } + button { padding: 0px; } +} + +/* Searchbar */ +.search-bar { + box-shadow: none; +} + +/* View */ +.nautilus-list-view { + .view { + border-bottom: 1px solid $bg_color; + /* Hide superfluous treeview drop target indication */ + &.dnd { border-style: none; } + } +} + +/********* + * Geary * + *********/ +.conversation-frame .view.cell { + background-color: $base_color; +} + +.conversation-frame .view.cell:selected, +.conversation-frame .view.cell:selected:focus { + background-color: $selected_bg_color; +} diff --git a/themes/SoftWaves/gtk-3.0/_lightdm-gtk-greeter.scss b/themes/SoftWaves/gtk-3.0/_lightdm-gtk-greeter.scss new file mode 100644 index 0000000..7c5c57a --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_lightdm-gtk-greeter.scss @@ -0,0 +1,166 @@ +$variant: 'light'; + +@import 'colors'; + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + #panel_window { + background-color: $panel_bg_color; + color: $panel_fg_color; + font-weight: bold; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + box-shadow: inset 0 -1px transparentize (black, 0.5); + menubar { + background-color: $panel_bg_color; + text-shadow: 0 1px transparentize (black, 0.5); + -gtk-icon-shadow: 0 1px transparentize (black, 0.5); + menu menuitem { + font-weight: normal; + text-shadow: none; + } + } + } + /**************** + * login window * + ****************/ + #login_window, + #shutdown_dialog, + #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: $base_color; + color: $fg_color; + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + + button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + &#login_button { + border-color: shade($selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.02), + shade($selected_bg_color, 0.95) 90%, + shade($selected_bg_color, 0.90) + ); + + color: $selected_fg_color; + + &:hover, &:active { + border-color: shade($selected_bg_color, 0.7); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 1.12), + shade($selected_bg_color, 1.05) 90%, + shade($selected_bg_color, 1.00) + ); + } + } + /******************* + * shutdown button * + *******************/ + &#shutdown_button { + border-color: shade($error_color, 0.8); + background-image: linear-gradient(to bottom, + shade($error_color, 1.02), + shade($error_color, 0.95) 90%, + shade($error_color, 0.90) + ); + color: $selected_fg_color; + + &:hover,&:active { + border-color: shade($error_color, 0.7); + background-image: linear-gradient(to bottom, + shade($error_color, 1.12), + shade($error_color, 1.05) 90%, + shade($error_color, 1.00) + ); + } + } + /****************** + * restart button * + ******************/ + &#restart_button { + border-color: shade($warning_color, 0.8); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.02), + shade($warning_color, 0.95) 90%, + shade($warning_color, 0.90) + ); + color: $selected_fg_color; + &:hover,&:active { + border-color: shade($warning_color, 0.7); + background-image: linear-gradient(to bottom, + shade($warning_color, 1.12), + shade($warning_color, 1.05) 90%, + shade($warning_color, 1.00) + ); + } + } + } + } + + #content_frame { + padding-bottom: 14px; + } + + #login_window { + menu { border-radius: 1px; } + combobox button.combo { + color: $fg_color; + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + #user_combobox { + color: $fg_color; + font-size: 18px; + menu { font-weight: normal; } + } + #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade($base_color, 0.75), + inset -1px 0 shade($base_color, 0.75), + inset 0 1px shade($base_color, 0.55), + inset 0 -1px shade($base_color, 0.85); + } + + #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, + shade($base_color, 0.9), + shade($base_color, 0.98) 10%, + shade($base_color, 1.0) 99%, + shade($base_color, 1.0) + ); + box-shadow: inset 0 1px shade($base_color, 0.8), + inset 0 -1px shade($base_color, 0.55); + } + + } + #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, + shade($bg_color, 0.85), + shade($bg_color, 0.98) 10%, + shade($bg_color, 1.0) 99%, + shade($bg_color, 1.0) + ); + box-shadow: inset 1px 0 shade($base_color, 0.6), + inset -1px 0 shade($base_color, 0.6), + inset 0 1px shade($base_color, 0.6), + inset 0 -1px shade($base_color, 0.6); + } +} diff --git a/themes/SoftWaves/gtk-3.0/_unity.scss b/themes/SoftWaves/gtk-3.0/_unity.scss new file mode 100644 index 0000000..0d618be --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_unity.scss @@ -0,0 +1,78 @@ +$variant: 'light'; + +@import 'colors'; + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0,0,0,0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0,0,0,0.5); + -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: 1px solid shade($bg_color, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.07), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.2); + &:backdrop { + border: 1px solid shade($bg_color, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, + shade($bg_color, 1.02), + $bg_color + ); + + color: $fg_color; + text-shadow: 0 1px shade($bg_color, 1.1); + } + } + .left, .right, .bottom { + background-color: shade($bg_color, 0.7); + &:backdrop { background-color: shade($bg_color, 0.8); } + } +} + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade($panel_bg_color, 1.0); + background-color: shade($panel_bg_color, 0.35); + &.menubar, .menubar {} + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + &:hover, *:hover { + border-color: shade($panel_bg_color, 0.8); + background-color: shade($panel_bg_color, 0.75); + color: $panel_fg_color; + } + } +} + +@keyframes playbackmenuitem_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: $fg_color; +} diff --git a/themes/SoftWaves/gtk-3.0/_xfce.scss b/themes/SoftWaves/gtk-3.0/_xfce.scss new file mode 100644 index 0000000..734f3d8 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/_xfce.scss @@ -0,0 +1,88 @@ +$variant: 'light'; + +@import 'colors'; + +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade($bg_color, 1.18); + color: $text_color; + text-shadow: 0px 1px $shadow_color; +} + +.xfce4-panel.background { + background-color: shade($panel_bg_color, 0.35); + color: $panel_fg_color; + font-weight: normal; + button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: $panel_fg_color; + text-shadow: 0px 1px $shadow_color; + &:active, &:checked { + background-image: none; + background-color: shade($panel_bg_color, 0.7); + border-color: shade($panel_bg_color, 0.6); + color: $panel_fg_color; + transition: none; + } + &:hover, &:active:hover, &:checked:hover { + border-color: shade($selected_bg_color, 0.6); + background-image: linear-gradient(to bottom, + shade($selected_bg_color, 0.88), + shade($selected_bg_color, 0.85) + ); + color: $panel_fg_color; + box-shadow: inset 0 -1px gtkalpha(white, 0.0), + inset 1px 0 gtkalpha(white, 0.15), + inset -1px 0 gtkalpha(white, 0.15), + inset 0 1px gtkalpha(white, 0.15); + transition: none; + } + } + menu { + -gtk-icon-effect: none; + + text-shadow: none; + } +} + +#XfceNotifyWindow { + background-color: shade($panel_bg_color, 0.3); + color: $panel_fg_color; + border-color: shade($panel_bg_color, 0.6); + + button { + background-image: none; + border-color: shade($panel_fg_color, 0.35); + border-radius: 3px; + box-shadow: none; + } + + label#summary { + font-weight: bold; + } + + progressbar { + min-height: 6px; + border-radius: 3px; + progress { + background-image: none; + background-color: $panel_fg_color; + } + trough { + background-image: linear-gradient(to bottom, + shade($panel_bg_color, 0.65), + shade($panel_bg_color, 1.25) + ); + border: 1px solid shade($panel_bg_color, 0.2); + border-radius: 3px; + } + } +} diff --git a/themes/SoftWaves/gtk-3.0/apps/granite-widgets.css b/themes/SoftWaves/gtk-3.0/apps/granite-widgets.css new file mode 100644 index 0000000..b21c119 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/apps/granite-widgets.css @@ -0,0 +1,687 @@ +/******************** + * dynamic notebook * + ********************/ +.dynamic-notebook { + background-color: shade(@theme_bg_color, 1.05); + background-image: none; +} + +.dynamic-notebook GtkLabel, +.dynamic-notebook GtkImage { + color: alpha(@theme_fg_color, 0.5); +} + +.dynamic-notebook .notebook { + -GtkNotebook-tab-overlap: 3px; + -GtkNotebook-initial-gap: 12px; + + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + padding: 0; +} + +.dynamic-notebook .notebook tab { + padding: 3px; + border-width: 1px; + border-color: shade(@theme_bg_color, 0.9); + border-radius: 3px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + color: @theme_fg_color; +} + +.dynamic-notebook .notebook tab .entry { + border-radius: 3px; + padding: 3px; +} + +.dynamic-notebook .button:hover, +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button, +.dynamic-notebook .notebook .button:hover, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.dynamic-notebook .button:hover:active, +.dynamic-notebook .notebook .button:hover:active { + border-color: shade(@theme_bg_color, 0.6); + background-color: shade(@theme_bg_color, 0.85); + color: shade(@theme_fg_color, 0.7); +} + +.dynamic-notebook .menu GtkLabel { + color: @menu_fg_color; +} + +/**************** + * content view * + ****************/ +.content-view-window { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color:@theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view, +.content-view GtkViewport { + background-color: @theme_base_color; + background-image: none; +} + +.content-view * { + background-color: transparent; + background-image: none; +} + +.content-view .entry { + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.content-view .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_base_color, 1.02); + background-image: none; + color: @theme_text_color; +} + +.content-view .button:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 1.10); + background-image: none; +} + +.content-view .button:active { + border-color: shade(@theme_base_color, 0.6); + background-color: shade(@theme_base_color, 0.85); + background-image: none; +} + +.content-view .button:active:hover { + border-color: shade(@theme_base_color, 0.7); + color: shade(@theme_text_color, 1.10); +} + +.content-view .button:insensitive { + border-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.95); + background-image: none; +} + +.content-view .help_button * { + color: @theme_text_color; +} + +.content-view .toolbar { + -GtkWidget-window-dragging: true; + + padding: 1px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + background-color: @theme_base_color; + background-image: none; +} + +.content-view .menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +/************** + * sourcelist * + **************/ +.source-list, +.source-list.view { + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.source-list { + -GtkTreeView-horizontal-separator: 1; + -GtkTreeView-vertical-separator: 1; +} + +.source-list.view:selected, +.source-list.view:prelight:selected { + border-width: 1px 0; + border-style: solid; + border-top-color: shade(@theme_bg_color, 0.85); + border-bottom-color: shade(@theme_bg_color, 1.12); + background-image: linear-gradient(to bottom, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87), + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%, + shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92) + ); + + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.source-list.view:prelight { + border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3); + background-image: none; +} + +.source-list.badge, +.source-list.badge:prelight, +.source-list.badge:selected, +.source-list.badge:prelight:selected { + margin: 0 3px; + padding: 0 6px; + border-width: 0; + border-radius: 10px; + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + color: @theme_selected_fg_color; +} + +/****************** + * no undo button * + ******************/ +.button.noundo, +.content-view .button.noundo { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 1.05); + background-image: none; + color: @error_fg_color; +} + +.button.noundo:hover, +.content-view .button.noundo:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: @error_bg_color; + background-image: none; +} + +.button.noundo:active, +.content-view .button.noundo:active { + border-color: shade(@error_bg_color, 0.8); + background-color: shade(@error_bg_color, 0.95); + background-image: none; +} + +.button.noundo:active:hover, +.content-view .button.noundo:active:hover { + border-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 0.97); + background-image: none; +} + +.button.noundo GtkLabel, +.button.noundo Gtklabel:prelight { + color: @error_fg_color; +} + +/********************** + * affirmative button * + **********************/ +.button.affirmative, +.content-view .button.affirmative { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.button.affirmative:hover, +.content-view .button.affirmative:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.button.affirmative:active, +.content-view .button.affirmative:active { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); + background-image: none; +} + +.button.affirmative:active:hover, +.content-view .button.affirmative:active:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); + background-image: none; +} + +.button.affirmative GtkLabel, +.button.affirmative Gtklabel:prelight { + color: @theme_selected_fg_color; +} + +/********************** + * secondary toolbars * + **********************/ +.secondary-toolbar.toolbar { + padding: 2px; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; +} + +.secondary-toolbar.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.05); + background-image: none; + color: @toolbar_fg_color; +} + +.secondary-toolbar.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:focus, +.secondary-toolbar.toolbar .button:hover:focus, +.secondary-toolbar.toolbar .button:active:focus, +.secondary-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.secondary-toolbar.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.secondary-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +/******************* + * bottom toolbars * + *******************/ +.bottom-toolbar.toolbar { + padding: 6px; + border-width: 1px 0 0 0; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; +} + +.bottom-toolbar.toolbar .button { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.bottom-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:focus, +.bottom-toolbar.toolbar .button:hover:focus, +.bottom-toolbar.toolbar .button:active:focus, +.bottom-toolbar.toolbar .button:active:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.bottom-toolbar.toolbar .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.bottom-toolbar.toolbar .button:active *:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/************* + * statusbar * + *************/ +GraniteWidgetsStatusBar { + padding: 1px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.0), + shade(@theme_bg_color, 0.88) + ); + + box-shadow: inset 0 1px shade(@theme_bg_color, 0.8); +} + +/*********** + * popover * + ***********/ +GraniteWidgetsPopOver { + -GraniteWidgetsPopOver-arrow-width: 21; + -GraniteWidgetsPopOver-arrow-height: 12; + -GraniteWidgetsPopOver-border-radius: 5px; + -GraniteWidgetsPopOver-border-width: 1; + -GraniteWidgetsPopOver-shadow-size: 15; + + margin: 0; + border-style: solid; + border-color: shade(@menu_bg_color, 0.8); + color: @menu_fg_color; +} + +.popover_bg { + background-color: transparent; + background-image: linear-gradient(to bottom, + @menu_bg_color, + shade(@menu_bg_color, 0.98) + ); +} + +GraniteWidgetsPopOver .sidebar.view, +GraniteWidgetsPopOver * { + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .sidebar.view:selected, +GraniteWidgetsPopOver .sidebar.view:selected:focus, +GraniteWidgetsPopOver *:selected, +GraniteWidgetsPopOver *:selected:focus { + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GraniteWidgetsPopOver .button { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 1.08); + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .button:hover { + border-color: shade(@menu_bg_color, 0.7); + background-color: shade(@menu_bg_color, 1.10); + background-image: none; + color: shade(@menu_fg_color, 0.7); +} + +GraniteWidgetsPopOver .button:active { + border-color: shade(@menu_bg_color, 0.8); + background-color: shade(@menu_bg_color, 0.95); + background-image: none; +} + +GraniteWidgetsPopOver .button:active:hover { + border-color: shade(@menu_bg_color, 0.7); + color: shade(@menu_fg_color, 0.7); +} + +/* linked buttons */ +GraniteWidgetsPopOver .linked .button { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9); +} + +GraniteWidgetsPopOver .linked .button:active { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8), + inset 1px 1px alpha(@light_shadow, 0.2); +} + +GraniteWidgetsPopOver .linked .button:last-child, +GraniteWidgetsPopOver .linked .button:only-child, +GraniteWidgetsPopOver .linked .button:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:insensitive:only-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child, +GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child { + box-shadow: inset 1px 1px alpha(@light_shadow, 0.4), + inset -1px 0 alpha(@light_shadow, 0.4); +} + +GraniteWidgetsPopOver .linked .button:active:last-child, +GraniteWidgetsPopOver .linked .button:active:only-child { + box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06), + inset -1px -1px alpha(@dark_shadow, 0.06); +} + +GraniteWidgetsPopOver .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GraniteWidgetsPopOver .entry:active, +GraniteWidgetsPopOver .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +GraniteWidgetsPopOver *.separator { + border-color: shade(@menu_bg_color, 0.9); + color: transparent; +} + +.button.app { + border-width: 0; + border-radius: 2px; + background-color: transparent; + background-image: none; +} + +.button.app:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +.button.app:focus { + border-color: shade(@theme_selected_bg_color, 0.8); + background-image: linear-gradient(to bottom, + shade(@theme_selected_bg_color, 1.1), + shade(@theme_selected_bg_color, 0.9) + ); + + color: @theme_selected_fg_color; +} + +/******** + * gala * + ********/ +.gala-workspaces-background { + border-width: 1px 0 0 0; + border-color: shade(@panel_bg_color, 0.8); + background-color: @panel_bg_color; + background-image: none; +} + +.gala-workspace-selected { + border-width: 1px; + border-radius: 2px; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +/********* + * files * + *********/ +.files-overlay-bar { + margin: 3px; + padding: 3px 6px; + border-width: 1px; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 1.1), + shade(@theme_bg_color, 0.9) + ); +} + +.files-overlay-bar GtkLabel { + color: @theme_text_color; +} + +/********* + * noise * + *********/ +.album-list-view, +.album-list-view * { + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView { + -GtkTreeView-vertical-separator: 1; + -GtkTreeView-grid-line-width: 0; + + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.album-list-view GtkTreeView row:nth-child(even) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 0.9); + background-image: none; +} + + +.album-list-view GtkTreeView row:nth-child(odd) { + border-width: 0; + border-style: none; + background-color: shade(@theme_base_color, 1.0); + background-image: none; +} + +.album-list-view GtkTreeView row:selected { + background-color: @selected_bg_color; + background-image: none; + color: @selected_fg_color; +} + +/********** + * birdie * + **********/ +BirdieWidgetsTweetList * { + background-color: transparent; + background-image: none; +} + +/********* + * tweet * + *********/ +.tweet { + padding: 0; +} + +/********** + * notify * + **********/ +.notify { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.notify .low { +} + +.notify .critical { +} + +/********* + * panel * + *********/ +.panel { + background-color: @panel_bg_color; + background-image: none; + color: @panel_fg_color; + font: bold; +} + +.panel .menubar .menuitem { + padding: 1px 3px; +} + +.shadow { + background-color: transparent; + background-image: linear-gradient(to bottom, + rgba(0, 0, 0, 0.3), + transparent + ); +} + +.composited-indicator, +.wingpanel-app-button, +.wingpanel-indicator-button { + padding: 0 2px; + background-color: transparent; + background-image: none; + color: @panel_fg_color; +} + +.composited-indicator.menuitem:active, +.composited-indicator.menuitem:prelight { + border-style: none; + background-image: none; +} diff --git a/themes/SoftWaves/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/SoftWaves/gtk-3.0/apps/lightdm-unity-greeter.css new file mode 100644 index 0000000..c0dd6f8 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/apps/lightdm-unity-greeter.css @@ -0,0 +1,67 @@ +.lightdm.menu { + background-image: none; + background-color: alpha(black, 0.6); + border-color: alpha(white, 0.2); + border-radius: 3px; + padding: 1px; + color: white; +} + +.lightdm-combo .menu { + background-color: alpha(black, 0.6); + border-radius: 0; + padding: 0; + color: white; +} + +.lightdm.menu .menuitem *, +.lightdm.menu .menuitem.check:active, +.lightdm.menu .menuitem.radio:active { + color: white; +} + +.lightdm.menubar { + background-image: none; + background-color: alpha(black, 0.5); +} + +.lightdm-combo.combobox-entry .button, +.lightdm-combo .cell, +.lightdm-combo .button, +.lightdm-combo .entry, +.lightdm.button, +.lightdm.entry { + background-image: none; + background-color: alpha(black, 0.3); + border-color: alpha(white, 0.6); + border-radius: 3px; + padding: 7px; + color: white; + text-shadow: none; +} + +.lightdm.button, +.lightdm.button:hover, +.lightdm.button:active, +.lightdm.button:active:focus, +.lightdm.entry, +.lightdm.entry:hover, +.lightdm.entry:active, +.lightdm.entry:active:focus { + background-image: none; +} + +.lightdm.button:focus, +.lightdm.entry:focus { + border-color: alpha(white, 0.9); + color: white; +} + +@keyframes dashentry_spinner { + to { -gtk-icon-transform: rotate(1turn); } +} + +.lightdm.entry:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: dashentry_spinner 1s infinite linear; +} diff --git a/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.svg b/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..c029973 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.symbolic.png b/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..2ccb0e8 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/check-symbolic.svg b/themes/SoftWaves/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..e8c8210 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1,155 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/SoftWaves/gtk-3.0/assets/check-symbolic.symbolic.png b/themes/SoftWaves/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..ee7acdc Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-active-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-active-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-active-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-backdrop-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-backdrop-selectionmode.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-backdrop-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-active-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-active-selectionmode.png new file mode 100644 index 0000000..2f21288 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-active-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png new file mode 100644 index 0000000..a6af0f7 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-insensitive.png new file mode 100644 index 0000000..f29b801 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-checked-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-hover-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-hover-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-hover-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-hover.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-hover.png new file mode 100644 index 0000000..35ceac1 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-insensitive.png new file mode 100644 index 0000000..118d253 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed.png new file mode 100644 index 0000000..7b266a1 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-mixed.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-selectionmode.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-selectionmode.png new file mode 100644 index 0000000..283ae53 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-selectionmode.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..ad60a99 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/checkbox-unchecked-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.svg b/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..7886d54 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1,153 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.symbolic.png b/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..c20d4ba Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/grid-selection-checked.png b/themes/SoftWaves/gtk-3.0/assets/grid-selection-checked.png new file mode 100644 index 0000000..d140eeb Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/grid-selection-checked.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/grid-selection-unchecked.png b/themes/SoftWaves/gtk-3.0/assets/grid-selection-unchecked.png new file mode 100644 index 0000000..318f417 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/grid-selection-unchecked.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-hover.png new file mode 100644 index 0000000..a0e3ca2 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png new file mode 100644 index 0000000..5b8c687 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked.png new file mode 100644 index 0000000..6d6ab11 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-checked.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png new file mode 100644 index 0000000..dc7f9bf Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png new file mode 100644 index 0000000..69bc4d9 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed.png new file mode 100644 index 0000000..28ef0f7 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-checkbox-mixed.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-hover.png new file mode 100644 index 0000000..f1b8c38 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-insensitive.png new file mode 100644 index 0000000..3bdc72a Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked.png b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked.png new file mode 100644 index 0000000..e0c5c3e Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/menuitem-radio-checked.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/pane-separator-vertical.png b/themes/SoftWaves/gtk-3.0/assets/pane-separator-vertical.png new file mode 100644 index 0000000..060cf03 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/pane-separator-vertical.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/pane-separator.png b/themes/SoftWaves/gtk-3.0/assets/pane-separator.png new file mode 100644 index 0000000..616ec90 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/pane-separator.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-mixed-hover.png b/themes/SoftWaves/gtk-3.0/assets/radio-mixed-hover.png new file mode 100644 index 0000000..1dc344a Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-mixed-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/radio-mixed-insensitive.png new file mode 100644 index 0000000..152e911 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-mixed-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-mixed.png b/themes/SoftWaves/gtk-3.0/assets/radio-mixed.png new file mode 100644 index 0000000..c0db5e7 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-mixed.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-selected-hover.png b/themes/SoftWaves/gtk-3.0/assets/radio-selected-hover.png new file mode 100644 index 0000000..01dba20 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-selected-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-selected-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/radio-selected-insensitive.png new file mode 100644 index 0000000..c544b2d Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-selected-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-selected.png b/themes/SoftWaves/gtk-3.0/assets/radio-selected.png new file mode 100644 index 0000000..80f218f Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-selected.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-unselected-insensitive.png b/themes/SoftWaves/gtk-3.0/assets/radio-unselected-insensitive.png new file mode 100644 index 0000000..f8bb219 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-unselected-insensitive.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/radio-unselected.png b/themes/SoftWaves/gtk-3.0/assets/radio-unselected.png new file mode 100644 index 0000000..9667f92 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/radio-unselected.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/resize-grip.png b/themes/SoftWaves/gtk-3.0/assets/resize-grip.png new file mode 100644 index 0000000..4aabef3 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/resize-grip.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-active.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-active.png new file mode 100644 index 0000000..bdba751 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-active.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-hover.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-hover.png new file mode 100644 index 0000000..b962c9a Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-close.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close.png new file mode 100644 index 0000000..7980938 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-close.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-active.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-active.png new file mode 100644 index 0000000..e42c746 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-active.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-hover.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-hover.png new file mode 100644 index 0000000..a351489 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize.png new file mode 100644 index 0000000..6375bc9 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-maximize.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-active.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-active.png new file mode 100644 index 0000000..8a1b071 Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-active.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-hover.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-hover.png new file mode 100644 index 0000000..4c44d6a Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize-hover.png differ diff --git a/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize.png b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize.png new file mode 100644 index 0000000..f49bdac Binary files /dev/null and b/themes/SoftWaves/gtk-3.0/assets/titlebutton-minimize.png differ diff --git a/themes/SoftWaves/gtk-3.0/gtk-contained.css b/themes/SoftWaves/gtk-3.0/gtk-contained.css new file mode 100644 index 0000000..0b7c087 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/gtk-contained.css @@ -0,0 +1,4588 @@ +* { + padding: 0; + -GtkToolButton-icon-spacing: 4; + -GtkTextView-error-underline-color: #cc0000; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkToolItemGroup-expander-size: 11; + -GtkWidget-text-handle-width: 20; + -GtkWidget-text-handle-height: 24; + -GtkDialog-button-spacing: 4; + -GtkDialog-action-area-border: 0; + outline-color: rgba(33, 33, 33, 0.3); + outline-style: dashed; + outline-offset: -3px; + outline-width: 1px; + -gtk-outline-radius: 2px; + -gtk-secondary-caret-color: #729992; } + +/*************** + * Base States * + ***************/ +.background { + color: #212121; + background-color: #CECECE; } + .background:backdrop { + color: #787878; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; } + +/* + 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. +*/ +*:disabled { + -gtk-icon-effect: dim; } + +.gtkstyle-fallback { + color: #212121; + background-color: #CECECE; + text-shadow: none; } + .gtkstyle-fallback:hover { + color: #212121; + background-color: #e8e8e8; } + .gtkstyle-fallback:active { + color: #212121; + background-color: #b5b5b5; } + .gtkstyle-fallback:disabled { + color: #787878; + background-color: lightgray; } + .gtkstyle-fallback:selected { + color: #000000; + background-color: #729992; } + +.view, iconview, +.view text, +iconview text, +textview text { + color: #212121; + background-color: #dbdbdb; } + .view:backdrop, iconview:backdrop, + .view text:backdrop, + iconview text:backdrop, + textview text:backdrop { + color: #464646; + background-color: #d8d8d8; } + .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected { + border-radius: 3px; } + +textview border { + background-color: #d5d5d5; } + +.rubberband, +rubberband, +flowbox rubberband, +treeview.view rubberband, +.content-view rubberband { + border: 1px solid #5b7d77; + background-color: rgba(91, 125, 119, 0.2); } + +flowbox flowboxchild { + padding: 3px; + border-radius: 3px; } + flowbox flowboxchild:selected { + outline-offset: -2px; } + +label.separator { + color: #212121; } + label.separator:backdrop { + color: #787878; } +label selection { + background-color: #729992; + color: #000000; } +label:disabled { + color: #787878; } + label:disabled:backdrop { + color: #a8a8a8; } +label:backdrop { + color: #787878; } + +.dim-label, label.separator, .titlebar:not(headerbar) .subtitle, +headerbar .subtitle { + opacity: 0.55; + text-shadow: none; } + +assistant .sidebar { + background-color: #dbdbdb; + border-top: 1px solid #828282; } + assistant .sidebar:backdrop { + background-color: #d8d8d8; + border-color: #8a8a8a; } +assistant.csd .sidebar { + border-top-style: none; } +assistant .sidebar label { + padding: 6px 12px; } +assistant .sidebar label.highlight { + background-color: #ababab; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .csd popover.background.osd, popover.background.osd, .app-notification, +.app-notification.frame, .osd .scale-popup, .osd { + color: #eeeeee; + border: none; + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + outline-color: rgba(238, 238, 238, 0.3); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, popover.background.osd:backdrop, .app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { + color: shade(#eeeeee, 1.2); + background-color: shade(rgba(34, 34, 34, 0.8), 1.6); + text-shadow: none; + -gtk-icon-shadow: none; } + +/********************* + * Spinner Animation * + *********************/ +@keyframes spin { + to { + -gtk-icon-transform: rotate(1turn); } } +spinner { + background: none; + opacity: 0; + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + spinner:checked { + opacity: 1; + animation: spin 1s linear infinite; } + spinner:checked:disabled { + opacity: 0.5; } + +/**************** + * Text Entries * + ****************/ +spinbutton:not(.vertical), +entry { + min-height: 28px; + padding-left: 4px; + padding-right: 4px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #212121; + border-color: #828282; + background-color: #dbdbdb; + box-shadow: inset 0 0 0 1px rgba(114, 153, 146, 0); } + spinbutton:not(.vertical) image.left, + entry image.left { + margin-right: 6px; } + spinbutton:not(.vertical) image.right, + entry image.right { + margin-left: 6px; } + spinbutton:not(.vertical) undershoot.left, + entry 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; + border: none; + box-shadow: none; } + spinbutton:not(.vertical) undershoot.right, + entry 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; + border: none; + box-shadow: none; } + spinbutton.flat:focus:not(.vertical), spinbutton.flat:not(.vertical), + entry.flat:focus, + entry.flat { + min-height: 0; + padding: 2px; + background-color: transparent; + border-color: transparent; + border-radius: 0; } + spinbutton:focus:not(.vertical), + entry:focus { + border-color: #729992; } + spinbutton:disabled:not(.vertical), + entry:disabled { + color: #787878; + border-color: #828282; + background-color: lightgray; + box-shadow: none; } + spinbutton:backdrop:not(.vertical), + entry:backdrop { + color: #464646; + border-color: #8a8a8a; + background-color: #d8d8d8; + box-shadow: none; + transition: 200ms ease-out; } + spinbutton:backdrop:disabled:not(.vertical), + entry:backdrop:disabled { + color: #a8a8a8; + border-color: #8a8a8a; + background-color: lightgray; + box-shadow: none; } + spinbutton.error:not(.vertical), + entry.error { + color: #cc0000; + border-color: #cc0000; } + spinbutton.error:focus:not(.vertical), + entry.error:focus { + border-color: #cc0000; } + spinbutton.error:not(.vertical) selection, + entry.error selection { + background-color: #cc0000; } + spinbutton.warning:not(.vertical), + entry.warning { + color: #f57900; + border-color: #f57900; } + spinbutton.warning:focus:not(.vertical), + entry.warning:focus { + border-color: #f57900; } + spinbutton.warning:not(.vertical) selection, + entry.warning selection { + background-color: #f57900; } + spinbutton:not(.vertical) image, + entry image { + color: #464646; } + spinbutton:not(.vertical) image:hover, + entry image:hover { + color: #212121; } + spinbutton:not(.vertical) image:active, + entry image:active { + color: #729992; } + spinbutton:not(.vertical) image:backdrop, + entry image:backdrop { + color: #8b8b8b; } + spinbutton:drop(active):focus:not(.vertical), spinbutton:drop(active):not(.vertical), + entry:drop(active):focus, + entry:drop(active) { + border-color: #729992; + box-shadow: inset 0 0 0 1px #729992; } + .osd spinbutton:not(.vertical), .osd + entry { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:focus:not(.vertical), .osd + entry:focus { + color: white; + border-color: #729992; + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: inset 0 0 0 1px #729992; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:backdrop:not(.vertical), .osd + entry:backdrop { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton:disabled:not(.vertical), .osd + entry:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +spinbutton:not(.vertical) progress, +entry progress { + margin: 2px -6px; + background-color: transparent; + background-image: none; + border-radius: 0; + border-width: 0 0 2px; + border-color: #729992; + border-style: solid; + box-shadow: none; } + spinbutton:not(.vertical) progress:backdrop, + entry progress:backdrop { + background-color: transparent; } +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:focus + button, .linked:not(.vertical) > +entry:focus + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + +entry, .linked:not(.vertical) > +entry:focus + +entry { + border-left-color: #729992; } +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > +entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > +entry:drop(active) + button, .linked:not(.vertical) > +entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + +entry, .linked:not(.vertical) > +entry:drop(active) + +entry { + border-left-color: #729992; } +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > +entry:not(:disabled) + entry:not(:disabled), .linked.vertical > +entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { + border-top-color: silver; + background-color: #dbdbdb; } + .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > + entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > + entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { + border-top-color: #c1c1c1; + background-color: #d8d8d8; } +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > +entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > +entry:disabled + entry:disabled { + border-top-color: silver; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > +entry + spinbutton:focus:not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:focus:not(:only-child) { + border-top-color: #729992; } +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > +entry + spinbutton:drop(active):not(:only-child):not(.vertical), +.linked.vertical > +entry + entry:drop(active):not(:only-child) { + border-top-color: #729992; } +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:focus:not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:focus:not(:only-child) + entry, +.linked.vertical > +entry:focus:not(:only-child) + button, +.linked.vertical > +entry:focus:not(:only-child) + combobox > box > button.combo { + border-top-color: #729992; } +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > +entry:drop(active):not(:only-child) + spinbutton:not(.vertical), +.linked.vertical > +entry:drop(active):not(:only-child) + entry, +.linked.vertical > +entry:drop(active):not(:only-child) + button, +.linked.vertical > +entry:drop(active):not(:only-child) + combobox > box > button.combo { + border-top-color: #729992; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { + background-color: #dbdbdb; + transition-property: color, background; } +treeview entry.flat, treeview entry { + border-radius: 0; + background-image: none; + background-color: #dbdbdb; } + treeview entry.flat:focus, treeview entry:focus { + border-color: #729992; } + +/*********** + * Buttons * + ***********/ +@keyframes needs_attention { + from { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#729992), to(transparent)); } + to { + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#729992), to(transparent)); } } +notebook > header > tabs > arrow, button.titlebutton, +button { + min-height: 24px; + min-width: 16px; + padding: 1px 2px; + border: 1px solid; + border-radius: 3px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + notebook > header > tabs > arrow, button.sidebar-button, button.titlebutton, + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + transition: none; } + notebook > header > tabs > arrow:hover, button.sidebar-button:hover, button.titlebutton:hover, + button.flat:hover { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-duration: 500ms; } + notebook > header > tabs > arrow:hover:active, button.sidebar-button:hover:active, button.titlebutton:hover:active, + button.flat:hover:active { + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + notebook > header > tabs > arrow:hover, button.titlebutton:hover, + button:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + -gtk-icon-effect: highlight; } + notebook > header > tabs > arrow:active, button.titlebutton:active, notebook > header > tabs > arrow:checked, button.titlebutton:checked, + button:active, + button:checked { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + transition-duration: 50ms; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat, + button:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; + -gtk-icon-effect: none; } + notebook > header > tabs > arrow:backdrop label, button.sidebar-button:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:backdrop label, button.titlebutton:backdrop label, notebook > header > tabs > arrow:backdrop, button.titlebutton:backdrop, + button:backdrop.flat label, + button:backdrop.flat, + button:backdrop label, + button:backdrop { + color: #787878; } + notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active, + button:backdrop.flat:checked, + button:backdrop:active, + button:backdrop:checked { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:active label, button.sidebar-button:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.sidebar-button:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.sidebar-button:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.sidebar-button:backdrop:checked, button.titlebutton:backdrop:checked, notebook > header > tabs > arrow:backdrop:active label, button.titlebutton:backdrop:active label, notebook > header > tabs > arrow:backdrop:active, button.titlebutton:backdrop:active, notebook > header > tabs > arrow:backdrop:checked label, button.titlebutton:backdrop:checked label, notebook > header > tabs > arrow:backdrop:checked, button.titlebutton:backdrop:checked, + button:backdrop.flat:active label, + button:backdrop.flat:active, + button:backdrop.flat:checked label, + button:backdrop.flat:checked, + button:backdrop:active label, + button:backdrop:active, + button:backdrop:checked label, + button:backdrop:checked { + color: #787878; } + notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled, + button:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled label, button.sidebar-button:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, notebook > header > tabs > arrow:backdrop:disabled label, button.titlebutton:backdrop:disabled label, notebook > header > tabs > arrow:backdrop:disabled, button.titlebutton:backdrop:disabled, + button:backdrop.flat:disabled label, + button:backdrop.flat:disabled, + button:backdrop:disabled label, + button:backdrop:disabled { + color: #a8a8a8; } + notebook > header > tabs > arrow:backdrop:disabled:active, button.sidebar-button:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.sidebar-button:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, notebook > header > tabs > arrow:backdrop:disabled:active, button.titlebutton:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.titlebutton:backdrop:disabled:checked, + button:backdrop.flat:disabled:active, + button:backdrop.flat:disabled:checked, + button:backdrop:disabled:active, + button:backdrop:disabled:checked { + border-color: #8a8a8a; + background-color: #c6c6c6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:backdrop:disabled:active label, button.sidebar-button:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.sidebar-button:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, notebook > header > tabs > arrow:backdrop:disabled:active label, button.titlebutton:backdrop:disabled:active label, notebook > header > tabs > arrow:backdrop:disabled:checked label, button.titlebutton:backdrop:disabled:checked label, + button:backdrop.flat:disabled:active label, + button:backdrop.flat:disabled:checked label, + button:backdrop:disabled:active label, + button:backdrop:disabled:checked label { + color: #a8a8a8; } + notebook > header > tabs > arrow:backdrop, button.sidebar-button:backdrop, button.titlebutton:backdrop, notebook > header > tabs > arrow:disabled, button.sidebar-button:disabled, button.titlebutton:disabled, notebook > header > tabs > arrow:backdrop:disabled, button.sidebar-button:backdrop:disabled, button.titlebutton:backdrop:disabled, + button.flat:backdrop, + button.flat:disabled, + button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled label, button.titlebutton:disabled label, notebook > header > tabs > arrow:disabled, button.titlebutton:disabled, + button:disabled label, + button:disabled { + color: #787878; } + notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active, + button:disabled:checked { + border-color: #828282; + background-image: linear-gradient(to bottom, #cbcbcb, lightgray); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + notebook > header > tabs > arrow:disabled:active label, button.titlebutton:disabled:active label, notebook > header > tabs > arrow:disabled:active, button.titlebutton:disabled:active, notebook > header > tabs > arrow:disabled:checked label, button.titlebutton:disabled:checked label, notebook > header > tabs > arrow:disabled:checked, button.titlebutton:disabled:checked, + button:disabled:active label, + button:disabled:active, + button:disabled:checked label, + button:disabled:checked { + color: #787878; } + notebook > header > tabs > arrow.image-button, button.image-button.titlebutton, + button.image-button { + min-width: 24px; + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button, button.text-button.titlebutton, + button.text-button { + padding-left: 8px; + padding-right: 8px; } + notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button.titlebutton, + button.text-button.image-button { + padding-left: 4px; + padding-right: 4px; } + notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button.titlebutton label, + button.text-button.image-button label { + padding-left: 4px; + padding-right: 4px; } + combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button.titlebutton:drop(active), + button:drop(active) { + color: #729992; + border-color: #729992; + box-shadow: inset 0 0 0 1px #729992; } +row:selected +button { + border-color: #30423f; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled) { + color: #000000; + border-color: transparent; } + row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected + button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { + color: #d8d8d8; } +button.osd { + min-width: 24px; + min-height: 32px; + color: #eeeeee; + border-radius: 5px; + outline-color: rgba(238, 238, 238, 0.3); + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd.image-button { + min-width: 32px; } + button.osd:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:active, + button.osd:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); + border: none; + box-shadow: none; } + button.osd:disabled:backdrop, + button.osd:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } + button.osd:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + border: none; } +.csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, +.app-notification.frame button, .osd +button { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .app-notification button:hover, .osd + button:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:active:backdrop, popover.background.magnifier button:active:backdrop, .app-notification button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier button:checked:backdrop, .app-notification button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .app-notification button:checked, .osd + button:active:backdrop, .osd + button:active, .osd + button:checked:backdrop, .osd + button:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd + button:disabled:backdrop, .osd + button:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .app-notification button:backdrop, .osd + button:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification button.flat, .osd + button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: none; + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; } + popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .app-notification button.flat:hover, .osd + button.flat:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .app-notification button.flat:disabled, .osd + button.flat:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + background-image: none; + border-color: transparent; + box-shadow: none; } + popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .app-notification button.flat:backdrop, .osd + button.flat:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:active, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .app-notification button.flat:checked, .osd + button.flat:active, .osd + button.flat:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } +button.suggested-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#729992, 1.02), 1.05), shade(shade(#729992, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode button.titlebutton, + button.suggested-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #729992; } + button.suggested-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(#729992, 1.15), shade(#729992, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.suggested-action:active, + button.suggested-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(shade(#729992, 0.85), 1.05), shade(shade(#729992, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop { + border-color: #729992; + background-color: #729992; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop label, .selection-mode button.titlebutton:backdrop, + button.suggested-action:backdrop label, + button.suggested-action:backdrop, + button.suggested-action.flat:backdrop label, + button.suggested-action.flat:backdrop { + color: #e3ebe9; } + .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked { + border-color: #5b7d77; + background-color: #5b7d77; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:active label, .selection-mode button.titlebutton:backdrop:active, .selection-mode button.titlebutton:backdrop:checked label, .selection-mode button.titlebutton:backdrop:checked, + button.suggested-action:backdrop:active label, + button.suggested-action:backdrop:active, + button.suggested-action:backdrop:checked label, + button.suggested-action:backdrop:checked, + button.suggested-action.flat:backdrop:active label, + button.suggested-action.flat:backdrop:active, + button.suggested-action.flat:backdrop:checked label, + button.suggested-action.flat:backdrop:checked { + color: #dee5e4; } + .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled label, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action:backdrop:disabled label, + button.suggested-action:backdrop:disabled, + button.suggested-action.flat:backdrop:disabled label, + button.suggested-action.flat:backdrop:disabled { + color: #a8a8a8; } + .selection-mode button.titlebutton:backdrop:disabled:active, .selection-mode button.titlebutton:backdrop:disabled:checked, + button.suggested-action:backdrop:disabled:active, + button.suggested-action:backdrop:disabled:checked, + button.suggested-action.flat:backdrop:disabled:active, + button.suggested-action.flat:backdrop:disabled:checked { + border-color: #739891; + background-color: #739891; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode button.titlebutton:backdrop:disabled:active label, .selection-mode button.titlebutton:backdrop:disabled:checked label, + button.suggested-action:backdrop:disabled:active label, + button.suggested-action:backdrop:disabled:checked label, + button.suggested-action.flat:backdrop:disabled:active label, + button.suggested-action.flat:backdrop:disabled:checked label { + color: #a4bcb8; } + .selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode button.titlebutton:backdrop:disabled, + button.suggested-action.flat:backdrop, + button.suggested-action.flat:disabled, + button.suggested-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(114, 153, 146, 0.8); } + button.suggested-action:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled label, + button.suggested-action:disabled { + color: #787878; } + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked { + border-color: #3b514d; + background-image: linear-gradient(to bottom, #6d918a, #739891); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.suggested-action:disabled:active label, + button.suggested-action:disabled:active, + button.suggested-action:disabled:checked label, + button.suggested-action:disabled:checked { + color: #c7d6d3; } + .osd + button.suggested-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(114, 153, 146, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(114, 153, 146, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:active:backdrop, .osd + button.suggested-action:active, .osd + button.suggested-action:checked:backdrop, .osd + button.suggested-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #729992; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.suggested-action:disabled:backdrop, .osd + button.suggested-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.suggested-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(114, 153, 146, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +button.destructive-action { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 1.02), 1.05), shade(shade(#ef2929, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #ef2929; } + button.destructive-action:hover { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(#ef2929, 1.15), shade(#ef2929, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + button.destructive-action:active, + button.destructive-action:checked { + color: white; + outline-color: rgba(255, 255, 255, 0.3); + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, shade(shade(#ef2929, 0.85), 1.05), shade(shade(#ef2929, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop { + border-color: #ef2929; + background-color: #ef2929; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop label, + button.destructive-action:backdrop, + button.destructive-action.flat:backdrop label, + button.destructive-action.flat:backdrop { + color: #fcd4d4; } + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked { + border-color: #d51010; + background-color: #d51010; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:active label, + button.destructive-action:backdrop:active, + button.destructive-action:backdrop:checked label, + button.destructive-action:backdrop:checked, + button.destructive-action.flat:backdrop:active label, + button.destructive-action.flat:backdrop:active, + button.destructive-action.flat:backdrop:checked label, + button.destructive-action.flat:backdrop:checked { + color: #f7cfcf; } + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled label, + button.destructive-action:backdrop:disabled, + button.destructive-action.flat:backdrop:disabled label, + button.destructive-action.flat:backdrop:disabled { + color: #a8a8a8; } + button.destructive-action:backdrop:disabled:active, + button.destructive-action:backdrop:disabled:checked, + button.destructive-action.flat:backdrop:disabled:active, + button.destructive-action.flat:backdrop:disabled:checked { + border-color: #ea2d2d; + background-color: #ea2d2d; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:backdrop:disabled:active label, + button.destructive-action:backdrop:disabled:checked label, + button.destructive-action.flat:backdrop:disabled:active label, + button.destructive-action.flat:backdrop:disabled:checked label { + color: #f17777; } + button.destructive-action.flat:backdrop, + button.destructive-action.flat:disabled, + button.destructive-action.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(239, 41, 41, 0.8); } + button.destructive-action:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled label, + button.destructive-action:disabled { + color: #787878; } + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked { + border-color: #8e0b0b; + background-image: linear-gradient(to bottom, #e12a2a, #ea2d2d); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + button.destructive-action:disabled:active label, + button.destructive-action:disabled:active, + button.destructive-action:disabled:checked label, + button.destructive-action:disabled:checked { + color: #f7abab; } + .osd + button.destructive-action { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.7); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:active:backdrop, .osd + button.destructive-action:active, .osd + button.destructive-action:checked:backdrop, .osd + button.destructive-action:checked { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: #ef2929; + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd + button.destructive-action:disabled:backdrop, .osd + button.destructive-action:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd + button.destructive-action:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(239, 41, 41, 0.5); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +.stack-switcher > +button { + outline-offset: -3px; } + .stack-switcher > + button > label { + padding-left: 6px; + padding-right: 6px; } + .stack-switcher > + button > image { + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + padding-bottom: 3px; } + .stack-switcher > + button.text-button { + padding-left: 10px; + padding-right: 10px; } + .stack-switcher > + button.image-button { + padding-left: 2px; + padding-right: 2px; } + .stack-switcher > + button.needs-attention:active > label, + .stack-switcher > + button.needs-attention:active > image, .stack-switcher > + button.needs-attention:checked > label, + .stack-switcher > + button.needs-attention:checked > image { + animation: none; + background-image: none; } +.inline-toolbar +button, .inline-toolbar +button:backdrop { + border-radius: 2px; + border-width: 1px; } +.primary-toolbar +button { + -gtk-icon-shadow: none; } + +.stack-switcher > +button.needs-attention > label, +.stack-switcher > +button.needs-attention > image, stacksidebar row.needs-attention > label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#729992), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.76923)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 3px, right 4px; } + .stack-switcher > + button.needs-attention > label:backdrop, + .stack-switcher > + button.needs-attention > image:backdrop, stacksidebar row.needs-attention > label:backdrop { + background-size: 6px 6px, 0 0; } + .stack-switcher > + button.needs-attention > label:dir(rtl), + .stack-switcher > + button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > label:dir(rtl) { + background-position: left 3px, left 4px; } + +.inline-toolbar toolbutton > button { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .inline-toolbar toolbutton > button:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled label, .inline-toolbar toolbutton > button:disabled { + color: #787878; } + .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { + border-color: #828282; + background-image: linear-gradient(to bottom, #cbcbcb, lightgray); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:disabled:active label, .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked label, .inline-toolbar toolbutton > button:disabled:checked { + color: #787878; } + .inline-toolbar toolbutton > button:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop label, .inline-toolbar toolbutton > button:backdrop { + color: #787878; } + .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:active label, .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked label, .inline-toolbar toolbutton > button:backdrop:checked { + color: #787878; } + .inline-toolbar toolbutton > button:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled label, .inline-toolbar toolbutton > button:backdrop:disabled { + color: #a8a8a8; } + .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { + border-color: #8a8a8a; + background-color: #c6c6c6; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .inline-toolbar toolbutton > button:backdrop:disabled:active label, .inline-toolbar toolbutton > button:backdrop:disabled:checked label { + color: #a8a8a8; } + +toolbar.inline-toolbar toolbutton > button.flat, +toolbar.inline-toolbar toolbutton:backdrop > button.flat, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > +entry, .inline-toolbar +button, .inline-toolbar +button:backdrop, .linked > +button, .linked > +button:hover, .linked > +button:active, .linked > +button:checked, .linked > +button:backdrop, .linked > combobox > box > button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) { + border-radius: 0; + border-right-style: none; } + +.linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > +entry:first-child, .inline-toolbar +button:first-child, .linked > +button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat, combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } +.linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > +entry:last-child, .inline-toolbar +button:last-child, .linked > +button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat, combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-right-style: solid; } +.linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > +entry:only-child, .inline-toolbar +button:only-child, .linked > +button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat, +toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat, .linked:not(.vertical) > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > +entry, .linked.vertical > +button, .linked.vertical > +button:hover, .linked.vertical > +button:active, .linked.vertical > +button:checked, .linked.vertical > +button:backdrop, .linked.vertical > combobox > box > button.combo { + border-style: solid solid none solid; + border-radius: 0; } + +.linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > +entry:first-child, .linked.vertical > +button:first-child, .linked.vertical > combobox:first-child > box > button.combo { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } +.linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > +entry:last-child, .linked.vertical > +button:last-child, .linked.vertical > combobox:last-child > box > button.combo { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-style: solid; } +.linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > +entry:only-child, .linked.vertical > +button:only-child, .linked.vertical > combobox:only-child > box > button.combo { + border-radius: 3px; + border-style: solid; } + +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop, +popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background checkbutton:backdrop:hover, +popover.background radiobutton:backdrop:hover, +.menuitem.button.flat:backdrop, +.menuitem.button.flat:backdrop:hover, button:link, +button:visited, button:link:hover, button:link:active, button:link:checked, +button:visited:hover, +button:visited:active, +button:visited:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, calendar.button:disabled, .scale-popup button:hover, .scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop { + background-color: transparent; + background-image: none; + border-color: transparent; + box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + +/* menu buttons */ +modelbutton.flat, popover.background checkbutton, +popover.background radiobutton, +.menuitem.button.flat { + min-height: 26px; + padding-left: 5px; + padding-right: 5px; + border-radius: 3px; + outline-offset: -2px; } + modelbutton.flat:hover, popover.background checkbutton:hover, + popover.background radiobutton:hover, + .menuitem.button.flat:hover { + background-color: #729992; } + modelbutton.flat check:last-child, popover.background checkbutton check:last-child, + popover.background radiobutton check:last-child, + modelbutton.flat radio:last-child, + popover.background checkbutton radio:last-child, + popover.background radiobutton radio:last-child, + .menuitem.button.flat check:last-child, + .menuitem.button.flat radio:last-child { + margin-left: 8px; } + modelbutton.flat check:first-child, popover.background checkbutton check:first-child, + popover.background radiobutton check:first-child, + modelbutton.flat radio:first-child, + popover.background checkbutton radio:first-child, + popover.background radiobutton radio:first-child, + .menuitem.button.flat check:first-child, + .menuitem.button.flat radio:first-child { + margin-right: 8px; } + +modelbutton.flat arrow, popover.background checkbutton arrow, +popover.background radiobutton arrow { + background: none; } + modelbutton.flat arrow:hover, popover.background checkbutton arrow:hover, + popover.background radiobutton arrow:hover { + background: none; } + modelbutton.flat arrow.left, popover.background checkbutton arrow.left, + popover.background radiobutton arrow.left { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + modelbutton.flat arrow.right, popover.background checkbutton arrow.right, + popover.background radiobutton arrow.right { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { + padding: 4px; } + button.color colorswatch:only-child { + box-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.color colorswatch:only-child, button.color colorswatch:only-child overlay { + border-radius: 0; } + button.color colorswatch:only-child:disabled colorswatch:only-child, button.color colorswatch:only-child:backdrop colorswatch:only-child, button.color colorswatch:only-child:active colorswatch:only-child, button.color colorswatch:only-child:checked colorswatch:only-child { + box-shadow: none; } + +/********* + * Links * + *********/ +*:link, button:link, +button:visited { + color: #2d71b8; } + *:link:visited, + button:visited { + color: #45605b; } + *:selected *:link:visited, *:selected button:visited:link, + *:selected button:visited { + color: #2e3d3a; } + *:link:hover, button:hover:link, + button:hover:visited { + color: #468ad2; } + *:selected *:link:hover, *:selected button:hover:link, + *:selected button:hover:visited { + color: #0b0f0f; } + *:link:active, button:active:link, + button:active:visited { + color: #2d71b8; } + *:selected *:link:active, *:selected button:active:link, + *:selected button:active:visited { + color: #171f1d; } + *:link:backdrop:backdrop:hover, button:backdrop:backdrop:hover:link, + button:backdrop:backdrop:hover:visited, *:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, + button:backdrop:backdrop:hover:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link, + headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, + button:backdrop:visited { + color: #729992; } + .info *:link, .info button:link, + .info button:visited, + .question *:link, + .question button:link, + .question button:visited, + .warning *:link, + .warning button:link, + .warning button:visited, + .error *:link, + .error button:link, + .error button:visited, *:link:selected, button:selected:link, + button:selected:visited, .selection-mode.titlebar:not(headerbar) .subtitle:link, + headerbar.selection-mode .subtitle:link, *:selected *:link, *:selected button:link, + *:selected button:visited { + color: #171f1d; } + +button:link, +button:visited { + text-shadow: none; } + button:link:hover, button:link:active, button:link:checked, + button:visited:hover, + button:visited:active, + button:visited:checked { + text-shadow: none; } + button:link > label, + button:visited > label { + text-decoration-line: underline; } + +/***************** + * GtkSpinButton * + *****************/ +spinbutton:not(.vertical) { + padding: 0; } + spinbutton:not(.vertical) entry { + min-width: 28px; + margin: 0; + background: none; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button { + min-height: 16px; + margin: 0; + padding-bottom: 0; + padding-top: 0; + color: #343434; + background-image: none; + border-style: none none none solid; + border-color: rgba(130, 130, 130, 0.3); + border-radius: 0; + box-shadow: none; } + spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + spinbutton:not(.vertical) button:hover { + color: #212121; + background-color: rgba(33, 33, 33, 0.05); } + spinbutton:not(.vertical) button:disabled { + color: rgba(120, 120, 120, 0.3); + background-color: transparent; } + spinbutton:not(.vertical) button:active { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); } + spinbutton:not(.vertical) button:backdrop { + color: #828282; + background-color: transparent; + border-color: rgba(138, 138, 138, 0.3); + transition: 200ms ease-out; } + spinbutton:not(.vertical) button:backdrop:disabled { + color: rgba(168, 168, 168, 0.3); + background-color: transparent; + border-style: none none none solid; } + spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { + border-style: none solid none none; } +.osd spinbutton:not(.vertical) button { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-style: none none none solid; + border-color: rgba(0, 0, 0, 0.4); + border-radius: 0; + box-shadow: none; + -gtk-icon-shadow: 0 1px black; } + .osd spinbutton:not(.vertical) button:dir(rtl) { + border-style: none solid none none; } + .osd spinbutton:not(.vertical) button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + background-color: rgba(238, 238, 238, 0.1); + -gtk-icon-shadow: 0 1px black; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #888888; + border-color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; + box-shadow: none; } + .osd spinbutton:not(.vertical) button:dir(ltr):last-child { + border-radius: 0 3px 3px 0; } + .osd spinbutton:not(.vertical) button:dir(rtl):first-child { + border-radius: 3px 0 0 3px; } +spinbutton.vertical:disabled { + color: #787878; } +spinbutton.vertical:backdrop:disabled { + color: #a8a8a8; } +spinbutton.vertical:drop(active) { + border-color: transparent; + box-shadow: none; } +spinbutton.vertical entry { + min-height: 32px; + min-width: 32px; + padding: 0; + border-radius: 0; } +spinbutton.vertical button { + min-height: 32px; + min-width: 32px; + padding: 0; } +spinbutton.vertical button.up { + border-radius: 3px 3px 0 0; + border-style: solid solid none solid; } +spinbutton.vertical button.down { + border-radius: 0 0 3px 3px; + border-style: none solid solid solid; } +.osd spinbutton.vertical button:first-child { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd spinbutton.vertical button:first-child:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd spinbutton.vertical button:first-child:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } +treeview spinbutton:not(.vertical) { + min-height: 0; + border-style: none; + border-radius: 0; } + treeview spinbutton:not(.vertical) entry { + min-height: 0; + padding: 1px 2px; } + +/************** + * ComboBoxes * + **************/ +combobox arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + min-height: 16px; + min-width: 16px; } +combobox:drop(active) { + box-shadow: none; } + +/************ + * Toolbars * + ************/ +toolbar, .inline-toolbar, searchbar, +.location-bar { + -GtkWidget-window-dragging: true; + padding: 4px; + background-color: #CECECE; } + +toolbar { + padding: 4px 3px 3px 4px; } + .osd toolbar { + background-color: transparent; } + toolbar.osd { + padding: 13px; + border: none; + border-radius: 5px; + background-color: rgba(34, 34, 34, 0.8); } + toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { + border-radius: 0; } + toolbar.horizontal separator { + margin: 0 7px 1px 6px; } + toolbar.vertical separator { + margin: 6px 1px 7px 0; } + toolbar:not(.inline-toolbar):not(.osd) switch, + toolbar:not(.inline-toolbar):not(.osd) scale, + toolbar:not(.inline-toolbar):not(.osd) entry, + toolbar:not(.inline-toolbar):not(.osd) spinbutton, + toolbar:not(.inline-toolbar):not(.osd) button { + margin-right: 1px; + margin-bottom: 1px; } + +.inline-toolbar { + padding: 3px; + border-width: 0 1px 1px; + border-radius: 0 0 5px 5px; } + +searchbar, +.location-bar { + border-width: 0 0 1px; + padding: 3px; } + +.inline-toolbar, searchbar, +.location-bar { + border-style: solid; + border-color: #828282; + background-color: #b7b7b7; } + .inline-toolbar:backdrop, searchbar:backdrop, + .location-bar:backdrop { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: none; + transition: 200ms ease-out; } + +/*************** + * Header bars * + ***************/ +.titlebar:not(headerbar), +headerbar { + padding: 0 6px; + min-height: 46px; + border-width: 0 0 1px; + border-style: solid; + border-color: #828282; + border-radius: 0; + background: #CECECE linear-gradient(to bottom, #CECECE, shade(#CECECE, 0.88)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); } + .titlebar:backdrop:not(headerbar), + headerbar:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); + transition: 200ms ease-out; } + .titlebar:not(headerbar) .title, + headerbar .title { + font-weight: bold; + padding-left: 12px; + padding-right: 12px; } + .titlebar:not(headerbar) .subtitle, + headerbar .subtitle { + font-size: smaller; + padding-left: 12px; + padding-right: 12px; } + .selection-mode.titlebar:not(headerbar), + headerbar.selection-mode { + color: #000000; + text-shadow: none; + border-color: #30423f; + background: #729992 linear-gradient(to bottom, #729992, shade(#729992, 0.88)); + box-shadow: inset 0 1px rgba(170, 194, 190, 0.9); } + .selection-mode.titlebar:backdrop:not(headerbar), + headerbar.selection-mode:backdrop { + background-color: #729992; + background-image: none; + box-shadow: inset 0 1px rgba(185, 204, 201, 0.88); } + .selection-mode.titlebar:not(headerbar) button, + headerbar.selection-mode button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#729992, 1.02), 1.05), shade(shade(#729992, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button.flat, + headerbar.selection-mode button.flat { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:hover, + headerbar.selection-mode button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(#729992, 1.15), shade(#729992, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, + headerbar.selection-mode button:active, + headerbar.selection-mode button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(shade(#729992, 0.85), 1.05), shade(shade(#729992, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop { + border-color: #729992; + background-color: #729992; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + -gtk-icon-effect: none; + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat, .selection-mode.titlebar:not(headerbar) button:backdrop label, .selection-mode.titlebar:not(headerbar) button:backdrop, + headerbar.selection-mode button:backdrop.flat label, + headerbar.selection-mode button:backdrop.flat, + headerbar.selection-mode button:backdrop label, + headerbar.selection-mode button:backdrop { + color: #171f1d; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked { + border-color: #5b7d77; + background-color: #5b7d77; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, + headerbar.selection-mode button:backdrop.flat:active label, + headerbar.selection-mode button:backdrop.flat:active, + headerbar.selection-mode button:backdrop.flat:checked label, + headerbar.selection-mode button:backdrop.flat:checked, + headerbar.selection-mode button:backdrop:active label, + headerbar.selection-mode button:backdrop:active, + headerbar.selection-mode button:backdrop:checked label, + headerbar.selection-mode button:backdrop:checked { + color: #121918; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled { + border-color: #82a39d; + background-color: #82a39d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, + headerbar.selection-mode button:backdrop.flat:disabled label, + headerbar.selection-mode button:backdrop.flat:disabled, + headerbar.selection-mode button:backdrop:disabled label, + headerbar.selection-mode button:backdrop:disabled { + color: #556a66; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, + headerbar.selection-mode button:backdrop.flat:disabled:active, + headerbar.selection-mode button:backdrop.flat:disabled:checked, + headerbar.selection-mode button:backdrop:disabled:active, + headerbar.selection-mode button:backdrop:disabled:checked { + border-color: #739891; + background-color: #739891; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label, + headerbar.selection-mode button:backdrop.flat:disabled:active label, + headerbar.selection-mode button:backdrop.flat:disabled:checked label, + headerbar.selection-mode button:backdrop:disabled:active label, + headerbar.selection-mode button:backdrop:disabled:checked label { + color: #4b635e; } + .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled, + headerbar.selection-mode button.flat:backdrop, + headerbar.selection-mode button.flat:disabled, + headerbar.selection-mode button.flat:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled { + border-color: #3b514d; + background-color: #82a39d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled label, .selection-mode.titlebar:not(headerbar) button:disabled, + headerbar.selection-mode button:disabled label, + headerbar.selection-mode button:disabled { + color: #41524f; } + .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked { + border-color: #3b514d; + background-image: linear-gradient(to bottom, #6d918a, #739891); + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .selection-mode.titlebar:not(headerbar) button:disabled:active label, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked label, .selection-mode.titlebar:not(headerbar) button:disabled:checked, + headerbar.selection-mode button:disabled:active label, + headerbar.selection-mode button:disabled:active, + headerbar.selection-mode button:disabled:checked label, + headerbar.selection-mode button:disabled:checked { + color: #2e3d3a; } + .selection-mode.titlebar:not(headerbar) button.suggested-action, + headerbar.selection-mode button.suggested-action { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, + headerbar.selection-mode button.suggested-action:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:active, + headerbar.selection-mode button.suggested-action:active { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, + headerbar.selection-mode button.suggested-action:disabled label, + headerbar.selection-mode button.suggested-action:disabled { + color: #787878; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, + headerbar.selection-mode button.suggested-action:backdrop label, + headerbar.selection-mode button.suggested-action:backdrop { + color: #787878; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #30423f; } + .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled label, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, + headerbar.selection-mode button.suggested-action:backdrop:disabled label, + headerbar.selection-mode button.suggested-action:backdrop:disabled { + color: #a8a8a8; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop, .selection-mode.titlebar:not(headerbar) .selection-menu, + headerbar.selection-mode .selection-menu:backdrop, + headerbar.selection-mode .selection-menu { + border-color: rgba(114, 153, 146, 0); + background-color: rgba(114, 153, 146, 0); + background-image: none; + box-shadow: none; + padding-left: 10px; + padding-right: 10px; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop GtkArrow, .selection-mode.titlebar:not(headerbar) .selection-menu GtkArrow, + headerbar.selection-mode .selection-menu:backdrop GtkArrow, + headerbar.selection-mode .selection-menu GtkArrow { + -GtkArrow-arrow-scaling: 1; } + .selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, + headerbar.selection-mode .selection-menu:backdrop .arrow, + headerbar.selection-mode .selection-menu .arrow { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); + color: rgba(0, 0, 0, 0.5); + -gtk-icon-shadow: none; } + .tiled .titlebar:backdrop:not(headerbar), .tiled .titlebar:not(headerbar), .maximized .titlebar:backdrop:not(headerbar), .maximized .titlebar:not(headerbar), .tiled + headerbar:backdrop, .tiled + headerbar, .maximized + headerbar:backdrop, .maximized + headerbar { + border-radius: 0; } + .default-decoration.titlebar:not(headerbar), + headerbar.default-decoration { + padding: 4px; + min-height: 28px; } + .default-decoration.titlebar:not(headerbar) button.titlebutton, + headerbar.default-decoration button.titlebutton { + min-height: 26px; + min-width: 26px; + margin: 0; + padding: 0; } + .solid-csd .titlebar:backdrop:dir(rtl):not(headerbar), .solid-csd .titlebar:backdrop:dir(ltr):not(headerbar), .solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd + headerbar:backdrop:dir(rtl), .solid-csd + headerbar:backdrop:dir(ltr), .solid-csd + headerbar:dir(rtl), .solid-csd + headerbar:dir(ltr) { + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; + border-radius: 0; + box-shadow: none; } + +headerbar entry, +headerbar spinbutton, +headerbar separator, +headerbar button { + margin-top: 6px; + margin-bottom: 6px; } +headerbar button.titlebutton image { + min-width: 22px; + min-height: 22px; } +headerbar button:not(.image-button):not(.titlebutton) image { + min-width: 28px; + min-height: 28px; } +headerbar button.image-button { + min-width: 28px; + min-height: 28px; + padding-left: 2px; + padding-right: 2px; } +headerbar switch { + margin-top: 9px; + margin-bottom: 9px; } + +.background:not(.tiled):not(.maximized) .titlebar:backdrop, .background:not(.tiled):not(.maximized) .titlebar { + border-top-left-radius: 7px; + border-top-right-radius: 7px; } + +window:not(.tiled):not(.maximized) separator:first-child + headerbar:backdrop, window:not(.tiled):not(.maximized) separator:first-child + headerbar, window:not(.tiled):not(.maximized) headerbar:first-child:backdrop, window:not(.tiled):not(.maximized) headerbar:first-child { + border-top-left-radius: 7px; } +window:not(.tiled):not(.maximized) headerbar:last-child:backdrop, window:not(.tiled):not(.maximized) headerbar:last-child { + border-top-right-radius: 7px; } + +window.csd > .titlebar:not(headerbar) { + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; } +.titlebar:not(headerbar) > separator { + background-color: #828282; } + +.background:not(.csd):not(.ssd):not(.solid-csd) headerbar, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:not(:last-child), .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop, .background:not(.csd):not(.ssd):not(.solid-csd) headerbar:backdrop:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + box-shadow: none; } + +/************ + * Pathbars * + ************/ +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.text-button.image-button label { + padding-left: 0; + padding-right: 0; } +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { + padding-right: 8px; } +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { + padding-left: 8px; } +.path-bar button image { + padding-left: 4px; + padding-right: 4px; } +.path-bar button.slider-button { + padding-left: 0; + padding-right: 0; } + +/************** + * Tree Views * + **************/ +treeview.view { + border-left-color: #7e7e7e; + border-top-color: #CECECE; } + * { + -GtkTreeView-horizontal-separator: 4; + -GtkTreeView-grid-line-width: 1; + -GtkTreeView-grid-line-pattern: ''; + -GtkTreeView-tree-line-width: 1; + -GtkTreeView-tree-line-pattern: ''; + -GtkTreeView-expander-size: 16; } + treeview.view:selected:focus, treeview.view:selected { + border-radius: 0; } + treeview.view:selected:backdrop, treeview.view:selected { + border-left-color: #394d49; + border-top-color: rgba(33, 33, 33, 0.1); } + treeview.view:disabled { + color: #787878; } + treeview.view:disabled:selected { + color: #445c58; } + treeview.view:disabled:selected:backdrop { + color: #91aca7; } + treeview.view:disabled:backdrop { + color: #a8a8a8; } + treeview.view.separator { + min-height: 2px; + color: #CECECE; } + treeview.view.separator:backdrop { + color: rgba(206, 206, 206, 0.1); } + treeview.view:backdrop { + border-left-color: #a3a3a3; + border-top: #CECECE; } + treeview.view:drop(active) { + border-style: solid none; + border-width: 1px; + border-color: #30423f; } + treeview.view:drop(active).after { + border-top-style: none; } + treeview.view:drop(active).before { + border-bottom-style: none; } + treeview.view.expander { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + color: #595959; } + treeview.view.expander:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + treeview.view.expander:hover { + color: #212121; } + treeview.view.expander:selected { + color: #222e2c; } + treeview.view.expander:selected:hover { + color: #000000; } + treeview.view.expander:selected:backdrop { + color: #b9c5c3; } + treeview.view.expander:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + treeview.view.expander:backdrop { + color: #959595; } + treeview.view.progressbar { + color: #dbdbdb; + border: 1px solid #30423f; + border-radius: 4px; + background-color: #729992; + background-image: linear-gradient(to bottom, #729992, #5b7d77); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px rgba(0, 0, 0, 0.2); } + treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { + border-radius: 4px; + color: #729992; + box-shadow: none; + background-image: linear-gradient(to bottom, #dbdbdb, #c2c2c2); } + treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { + color: #729992; + border-color: #30423f; + background-color: #d8d8d8; } + treeview.view.progressbar:backdrop { + color: #d8d8d8; + background-image: none; + box-shadow: none; } + treeview.view.trough { + background-color: rgba(33, 33, 33, 0.1); + border-radius: 4px; } + treeview.view.trough:selected:focus, treeview.view.trough:selected { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 4px; + border-width: 1px 0; + border-style: solid; + border-color: #729992; } + treeview.view header button { + color: #7e7e7e; + background-color: #dbdbdb; + font-weight: bold; + text-shadow: none; + box-shadow: none; } + treeview.view header button:hover { + color: #505050; + box-shadow: none; + transition: none; } + treeview.view header button:active { + color: #212121; + transition: none; } + treeview.view header button:last-child:backdrop, treeview.view header button:last-child { + border-right-style: none; } + treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, + treeview.view header.button.dnd:active, + treeview.view header.button.dnd:selected, + treeview.view header.button.dnd:hover, + treeview.view header.button.dnd { + padding: 0 6px; + transition: none; + background-image: none; + background-color: #729992; + color: #dbdbdb; + border-radius: 0; + border-style: none; + box-shadow: inset 0 0 0 1px #dbdbdb; + text-shadow: none; } + treeview.view acceleditor > label { + background-color: #729992; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { + padding: 0 6px; + border-radius: 0; + background-image: none; + text-shadow: none; + border-style: none solid solid none; + border-color: #CECECE; } + treeview.view header button:disabled { + border-color: #CECECE; + background-image: none; } + treeview.view header button:backdrop { + border-color: #CECECE; + border-style: none solid solid none; + color: #a3a3a3; + background-image: none; + background-color: #d8d8d8; } + treeview.view header button:backdrop:disabled { + border-color: #CECECE; + background-image: none; } + +/********* + * Menus * + *********/ +menubar, +.menubar { + -GtkWidget-window-dragging: true; + padding: 0px; } + menubar:backdrop, + .menubar:backdrop { + background-color: #CECECE; } + menubar > menuitem, + .menubar > menuitem { + min-height: 16px; + padding: 3px 8px; + border: 1px solid transparent; } + menubar > menuitem:hover, + .menubar > menuitem:hover { + background-image: linear-gradient(to bottom, shade(#729992, 1.2), shade(#729992, 1)); + color: #000000; + border-color: shade(#729992, 1.1); } + menubar > menuitem:disabled, + .menubar > menuitem:disabled { + color: #787878; + box-shadow: none; } + +menu, +.menu, +.context-menu { + margin: 4px; + padding: 2px 0px; + background-color: #e2e2e2; + border: 1px solid #828282; } + .csd menu, .csd + .menu, .csd + .context-menu { + border: none; } + menu:backdrop, + .menu:backdrop, + .context-menu:backdrop { + background-color: #d8d8d8; } + menu menuitem, + .menu menuitem, + .context-menu menuitem { + min-height: 16px; + min-width: 40px; + padding: 4px 6px; + text-shadow: none; } + menu menuitem:hover, + .menu menuitem:hover, + .context-menu menuitem:hover { + color: #000000; + background-image: linear-gradient(to bottom, shade(#729992, 1.2), shade(#729992, 1)); + box-shadow: inset 1px 1px shade(#729992, 0.8), inset -1px -1px shade(#729992, 0.8); } + menu menuitem:disabled, + .menu menuitem:disabled, + .context-menu menuitem:disabled { + color: #787878; } + menu menuitem:disabled:backdrop, + .menu menuitem:disabled:backdrop, + .context-menu menuitem:disabled:backdrop { + color: #a8a8a8; } + menu menuitem:backdrop, menu menuitem:backdrop:hover, + .menu menuitem:backdrop, + .menu menuitem:backdrop:hover, + .context-menu menuitem:backdrop, + .context-menu menuitem:backdrop:hover { + color: #787878; + background-color: transparent; } + menu menuitem arrow, + .menu menuitem arrow, + .context-menu menuitem arrow { + min-height: 16px; + min-width: 16px; } + menu menuitem arrow:dir(ltr), + .menu menuitem arrow:dir(ltr), + .context-menu menuitem arrow:dir(ltr) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + margin-left: 10px; } + menu menuitem arrow:dir(rtl), + .menu menuitem arrow:dir(rtl), + .context-menu menuitem arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); + margin-right: 10px; } + menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), + .menu menuitem label:dir(rtl), + .menu menuitem label:dir(ltr), + .context-menu menuitem label:dir(rtl), + .context-menu menuitem label:dir(ltr) { + color: inherit; } + menu > arrow, + .menu > arrow, + .context-menu > arrow { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + min-height: 16px; + min-width: 16px; + padding: 4px; + background-color: #e2e2e2; + border-radius: 0; } + menu > arrow.top, + .menu > arrow.top, + .context-menu > arrow.top { + margin-top: -6px; + border-bottom: 1px solid #c8c8c8; + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + menu > arrow.bottom, + .menu > arrow.bottom, + .context-menu > arrow.bottom { + margin-bottom: -6px; + border-top: 1px solid #c8c8c8; + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + menu > arrow:hover, + .menu > arrow:hover, + .context-menu > arrow:hover { + background-color: #c8c8c8; } + menu > arrow:backdrop, + .menu > arrow:backdrop, + .context-menu > arrow:backdrop { + background-color: #d8d8d8; } + menu > arrow:disabled, + .menu > arrow:disabled, + .context-menu > arrow:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; } + +menuitem accelerator { + color: alpha(currentColor,0.55); } +menuitem check, +menuitem radio { + min-height: 16px; + min-width: 16px; } + menuitem check:dir(ltr), + menuitem radio:dir(ltr) { + margin-right: 7px; } + menuitem check:dir(rtl), + menuitem radio:dir(rtl) { + margin-left: 7px; } + +/*************** + * Popovers * + ***************/ +popover.background { + padding: 2px; + border-radius: 5px; + background-color: #fcfcfc; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + popover.background modelbutton:hover { + color: #000000; } + .csd popover.background, popover.background { + border: 1px solid #828282; } + popover.background:backdrop { + background-color: #CECECE; + box-shadow: none; } + popover.background > list, + popover.background > .view, + popover.background > iconview, + popover.background > toolbar { + border-style: none; + background-color: transparent; } + .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { + border: 1px solid rgba(255, 255, 255, 0.1); } + popover.background separator { + margin: 3px; } + popover.background list separator { + margin: 0px; } + +/************* + * Notebooks * + *************/ +notebook.frame { + border-style: none; } +notebook > header { + padding: 1px; + background-color: #CECECE; } + notebook > header:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; } + notebook > header tabs { + margin: -1px; } + notebook > header.top > stack { + border-top-style: none; } + notebook > header.top > tabs { + margin-bottom: -2px; } + notebook > header.top > tabs > tab { + border-radius: 3px 3px 0 0; + border: 1px solid shade(#CECECE, 0.9); } + notebook > header.top > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.top > tabs > tab:checked { + border-width: 1px 1px 0 1px; } + notebook > header.bottom > stack { + border-bottom-style: none; } + notebook > header.bottom > tabs { + margin-top: -2px; } + notebook > header.bottom > tabs > tab { + border-radius: 0 0 3px 3px; } + notebook > header.bottom > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.bottom > tabs > tab:checked { + border-width: 0 1px 1px 1px; } + notebook > header.left > stack { + border-left-style: none; } + notebook > header.left > tabs { + margin-right: -2px; } + notebook > header.left > tabs > tab { + border-radius: 3px 0 0 3px; } + notebook > header.left > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.left > tabs > tab:checked { + border-width: 1px 0 1px 1px; } + notebook > header.right > stack { + border-right-style: none; } + notebook > header.right > tabs { + margin-left: -2px; } + notebook > header.right > tabs > tab { + border-radius: 0 3px 3px 0; } + notebook > header.right > tabs > tab:backdrop { + box-shadow: none; } + notebook > header.right > tabs > tab:checked { + border-width: 1px 1px 1px 0; } + notebook > header.top > tabs > arrow { + border-top-style: none; } + notebook > header.bottom > tabs > arrow { + border-bottom-style: none; } + notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { + margin-left: -5px; + margin-right: -5px; + padding-left: 4px; + padding-right: 4px; } + notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + notebook > header.left > tabs > arrow { + border-left-style: none; } + notebook > header.right > tabs > arrow { + border-right-style: none; } + notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { + margin-top: -5px; + margin-bottom: -5px; + padding-top: 4px; + padding-bottom: 4px; } + notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + notebook > header > tabs > arrow { + min-height: 16px; + min-width: 16px; + border-radius: 0; } + notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { + background-clip: padding-box; + background-image: none; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: none; } + notebook > header > tabs > arrow:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; } + notebook > header tab { + min-height: 20px; + min-width: 24px; + padding: 3px 12px; + outline-offset: -5px; + color: #787878; + background-color: #CECECE; + border-width: 1px; + border-radius: 3px; + border-color: shade(#CECECE, 0.9); + border-style: solid; } + notebook > header tab:hover { + color: #4d4d4d; } + notebook > header tab:hover.reorderable-page { + border-color: rgba(130, 130, 130, 0.3); + background-color: rgba(206, 206, 206, 0.2); } + notebook > header tab:backdrop { + color: #9a9a9a; } + notebook > header tab:backdrop.reorderable-page { + border-color: transparent; + background-color: transparent; } + notebook > header tab:checked { + color: #212121; + background-color: shade(#CECECE, 1.05); + border-width: 1px 1px 0 1px; } + notebook > header tab:checked:backdrop { + background-color: #CECECE; } + notebook > header tab:checked.reorderable-page { + border-color: rgba(130, 130, 130, 0.5); + background-color: shade(#CECECE, 1.05); } + notebook > header tab:backdrop:checked { + color: #787878; } + notebook > header tab:backdrop:checked.reorderable-page { + border-color: #8a8a8a; + background-color: #CECECE; } + notebook > header tab button.flat { + padding: 0; + margin-top: 1px; + margin-bottom: 1px; + min-width: 16px; + min-height: 16px; } + notebook > header tab button.flat:hover { + color: currentColor; } + notebook > header tab button.flat, notebook > header tab button.flat:backdrop { + color: alpha(currentColor,0.3); } + notebook > header tab button.flat:last-child { + margin-left: 1px; + margin-right: -1px; } + notebook > header tab button.flat:first-child { + margin-left: -1px; + margin-right: 1px; } + notebook > header.top tabs, notebook > header.bottom tabs { + padding: 0; } + notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { + margin-left: 2px; + margin-right: 2px; } + notebook > header.top tabs:first-child, notebook > header.bottom tabs:first-child { + margin-left: -3px; } + notebook > header.top tabs:last-child, notebook > header.bottom tabs:last-child { + margin-right: -3px; } + notebook > header.top tabs tab, notebook > header.bottom tabs tab { + margin-left: 2px; + margin-right: 2px; } + notebook > header.left tabs, notebook > header.right tabs { + padding: 0; } + notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.left tabs:first-child, notebook > header.right tabs:first-child { + margin-top: -3px; } + notebook > header.left tabs:last-child, notebook > header.right tabs:last-child { + margin-bottom: -3px; } + notebook > header.left tabs tab, notebook > header.right tabs tab { + margin-top: 2px; + margin-bottom: 2px; } + notebook > header.top tab { + padding-bottom: 4px; } + notebook > header.bottom tab { + padding-top: 4px; } +notebook > stack:not(:only-child) { + background-color: shade(#CECECE, 1.05); + border: 1px solid shade(#CECECE, 0.9); } + notebook > stack:not(:only-child):backdrop { + background-color: #CECECE; } + +/************** + * Scrollbars * + **************/ +scrollbar { + background-image: linear-gradient(to right, #cecece, #cecece); + transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + * { + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; } + scrollbar.top { + border-bottom: 1px solid #dbdbdb; } + scrollbar.bottom { + border-top: 1px solid #dbdbdb; } + scrollbar.left { + border-right: 1px solid #dbdbdb; } + scrollbar.right { + border-left: 1px solid #dbdbdb; } + scrollbar:backdrop { + background-color: #c6c6c6; + border-color: #dbdbdb; + transition: 200ms ease-out; } + scrollbar slider { + min-width: 8px; + min-height: 7px; + margin: 1px 1px 1px 0; + border: 1px solid #828282; + border-radius: 0px; + background-clip: padding-box; + background-color: #638982; } + scrollbar slider:hover { + background-color: #567771; } + scrollbar slider:hover:active { + background-color: #567771; } + scrollbar slider:backdrop { + background-color: #c8d7d4; } + scrollbar slider:disabled { + background-color: transparent; } + scrollbar.fine-tune slider { + min-width: 4px; + min-height: 4px; } + scrollbar.fine-tune.horizontal slider { + border-width: 5px 4px; } + scrollbar.fine-tune.vertical slider { + border-width: 4px 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) { + border-color: transparent; + opacity: 0.4; + background-color: transparent; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { + margin: 0; + min-width: 6px; + min-height: 6px; + background-color: shade(#212121, 0.9); + background-image: none; + border: 1px solid white; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { + min-width: 5px; + min-height: 5px; + background-color: shade(#212121, 0.9); + background-image: none; + background-clip: padding-box; + border-radius: 100%; + border: 1px solid white; + -gtk-icon-source: none; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { + margin: 0 2px; + min-width: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { + margin: 1px 2px; + min-width: 5px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { + margin: 2px 0; + min-height: 40px; } + scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { + margin: 2px 1px; + min-height: 5px; } + scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { + opacity: 0.8; } + scrollbar.horizontal slider { + min-width: 40px; } + scrollbar.vertical slider { + min-height: 40px; } + scrollbar button { + padding: 0; + min-width: 12px; + min-height: 12px; + border-style: none; + border-radius: 0; + transition-property: min-height, min-width, color; + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #638982; } + scrollbar button:hover { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #567771; } + scrollbar button:active, scrollbar button:checked { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #567771; } + scrollbar button:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(99, 137, 130, 0.2); } + scrollbar button:backdrop { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: #c8d7d4; } + scrollbar button:backdrop:disabled { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + text-shadow: none; + -gtk-icon-shadow: none; + color: rgba(200, 215, 212, 0.2); } + scrollbar.vertical button.down { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + scrollbar.vertical button.up { + -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + scrollbar.horizontal button.down { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + scrollbar.horizontal button.up { + -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { + border-top: 1px solid #828282; + margin-top: -1px; } + +/********** + * Switch * + **********/ +switch { + font-size: 0; + outline-offset: -4px; + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border: 1px solid alpha(black,0.25); + border-radius: 12px; + background-color: #b0b0b0; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + min-height: 24px; + min-width: 24px; + transition: all 200ms ease-in; } + switch:checked { + box-shadow: inset 0 1px rgba(0, 0, 0, 0.1), 0 1px transparent; + border-color: shade(#30423f, 1.1); + background-image: linear-gradient(to bottom, shade(#729992, 1.1), #729992); + text-shadow: 0 1px rgba(48, 66, 63, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); } + switch:disabled { + border-color: #828282; + background-color: lightgray; + box-shadow: 0 1px transparent; + text-shadow: none; } + switch:backdrop { + border-color: #8a8a8a; + background-color: #b6b6b6; + box-shadow: none; + text-shadow: none; + transition: 200ms ease-out; } + switch:backdrop:checked { + color: #CECECE; + border-color: #729992; + background-color: #729992; + box-shadow: none; } + switch:disabled { + border-color: #8a8a8a; + background-image: none; + background-color: lightgray; } + switch slider { + margin: -1px; + border: 1px solid alpha(black,0.2); + border-radius: 12px; + min-width: 24px; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #dbdbdb 20%, #CECECE 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px lightgray, inset 0 -1px #afafaf, 0 1px rgba(0, 0, 0, 0.1); } + switch:hover slider { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + switch:checked slider { + border: 1px solid alpha(#30423f,0.8); } + switch:disabled slider { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:disabled slider label, switch:disabled slider { + color: #787878; } + switch:backdrop slider { + transition: 200ms ease-out; + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop slider label, switch:backdrop slider { + color: #787878; } + switch:backdrop:checked slider { + border-color: #729992; } + switch:backdrop:disabled slider { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + switch:backdrop:disabled slider label, switch:backdrop:disabled slider { + color: #a8a8a8; } + row:selected switch { + box-shadow: none; + border-color: #30423f; } + row:selected switch:backdrop { + border-color: #30423f; } + row:selected switch.slider:dir(rtl) { + border-left-color: #828282; } + row:selected switch.slider:dir(ltr) { + border-right-color: #828282; } + row:selected switch.slider:checked, row:selected switch.slider { + border-color: #30423f; } + +/************************* + * Check and Radio items * + *************************/ +.view.content-view.check:not(list), iconview.content-view.check:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-selectionmode.png"), url("assets/checkbox-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-hover-selectionmode.png"), url("assets/checkbox-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-active-selectionmode.png"), url("assets/checkbox-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-backdrop-selectionmode.png"), url("assets/checkbox-backdrop-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-selectionmode.png"), url("assets/checkbox-checked-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-hover-selectionmode.png"), url("assets/checkbox-checked-hover-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-active-selectionmode.png"), url("assets/checkbox-checked-active-selectionmode@2.png")); + background-color: transparent; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list) { + -gtk-icon-shadow: none; + -gtk-icon-source: -gtk-scaled(url("assets/checkbox-checked-backdrop-selectionmode.png"), url("assets/checkbox-checked-backdrop-selectionmode@2.png")); + background-color: transparent; } + +checkbutton.text-button, radiobutton.text-button { + padding: 2px 0; + outline-offset: 0; } + checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { + margin-left: 4px; } + checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { + margin-right: 4px; } + +check, +radio { + margin: 0 4px; + min-height: 14px; + min-width: 14px; + border: 1px solid; + -gtk-icon-source: none; + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #dbdbdb 20%, #CECECE 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px lightgray, inset 0 -1px #afafaf, 0 1px rgba(0, 0, 0, 0.1); } + check:only-child, + radio:only-child { + margin: 0; } + check:hover, + radio:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + check:active, + radio:active { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 0.85), 1.05), shade(shade(#CECECE, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + check:disabled, + radio:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:disabled label, check:disabled, + radio:disabled label, + radio:disabled { + color: #787878; } + check:backdrop, + radio:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + transition: 200ms ease-out; } + check:backdrop label, check:backdrop, + radio:backdrop label, + radio:backdrop { + color: #787878; } + check:backdrop:disabled, + radio:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + check:backdrop:disabled label, check:backdrop:disabled, + radio:backdrop:disabled label, + radio:backdrop:disabled { + color: #a8a8a8; } + row:selected check, row:selected + radio { + border-color: #30423f; } + .osd check, .osd + radio { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:hover, .osd + radio:hover { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:active, .osd + radio:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd check:backdrop, .osd + radio:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd check:disabled, .osd + radio:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + menu menuitem check, menu menuitem + radio { + margin: 0; } + menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem + radio, menu menuitem + radio:hover, menu menuitem + radio:disabled { + min-height: 14px; + min-width: 14px; + background-image: none; + background-color: transparent; + box-shadow: none; + -gtk-icon-shadow: none; + color: inherit; + border-color: currentColor; + animation: none; } + +check { + border-radius: 3px; } + check:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + check:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +treeview.view radio:selected:focus, treeview.view radio:selected, +radio { + border-radius: 100%; } + treeview.view radio:checked:selected, + radio:checked { + -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + treeview.view radio:indeterminate:selected, + radio:indeterminate { + -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +@keyframes check_check { + from { + -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_radio { + from { + -gtk-icon-transform: scale(0); } + to { + -gtk-icon-transform: unset; } } +@keyframes check_indeterminate { + from { + -gtk-icon-transform: scale(0, 1); } + to { + -gtk-icon-transform: unset; } } +check:not(:indeterminate):checked { + animation: check_check 400ms; } + +radio:not(:indeterminate):checked { + animation: check_radio 400ms; } + +check:indeterminate:checked, radio:indeterminate:checked { + animation: check_indeterminate 400ms; } + +menu menuitem check:not(:indeterminate):checked, +menu menuitem radio:not(:indeterminate):checked, +menu menuitem check:indeterminate:checked:active, +menu menuitem radio:indeterminate:checked { + animation: none; } + +treeview.view check:selected:focus, treeview.view check:selected, +treeview.view radio:selected:focus, +treeview.view radio:selected { + color: #212121; + border-color: #30423f; } +treeview.view check:selected:disabled, +treeview.view radio:selected:disabled { + color: #787878; } + treeview.view check:selected:disabled:backdrop, + treeview.view radio:selected:disabled:backdrop { + color: #a8a8a8; } +treeview.view check:backdrop:selected, treeview.view check:backdrop, +treeview.view radio:backdrop:selected, +treeview.view radio:backdrop { + color: #787878; } + +/************ + * GtkScale * + ************/ +scale trough, scale fill, progressbar trough { + border: 1px solid #828282; + border-radius: 3px; + background-color: #b3b3b3; + box-shadow: inset 1px 1px rgba(0, 0, 0, 0.1); } + scale trough:disabled, scale fill:disabled, progressbar trough:disabled { + background-color: lightgray; + box-shadow: none; } + scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { + background-color: #b6b6b6; + border-color: #8a8a8a; + box-shadow: none; + transition: 200ms ease-out; } + scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { + background-color: lightgray; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { + box-shadow: none; } + row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough, row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled { + border-color: #30423f; } + .osd scale trough, scale .osd trough, .osd scale fill, scale .osd fill, .osd progressbar trough, progressbar .osd trough { + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.5); + box-shadow: none; + outline-color: rgba(238, 238, 238, 0.2); } + .osd scale trough:disabled, scale .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd progressbar trough:disabled, progressbar .osd trough:disabled { + background-color: rgba(34, 34, 34, 0.8); } + +scale highlight, progressbar progress { + border: 1px solid shade(#729992, 0.7); + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#729992, 1.1), shade(#729992, 0.9)); } + scale highlight:disabled, progressbar progress:disabled { + background-color: transparent; + border-color: transparent; } + scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { + border-color: #729992; } + scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { + background-color: transparent; + border-color: transparent; } + row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { + border-color: #30423f; } + .osd scale highlight, scale .osd highlight, .osd progressbar progress, progressbar .osd progress { + border-color: rgba(0, 0, 0, 0.7); } + .osd scale highlight:disabled, scale .osd highlight:disabled, .osd progressbar progress:disabled, progressbar .osd progress:disabled { + border-color: transparent; } + +scale { + min-height: 10px; + min-width: 10px; + padding: 12px; } + scale fill, + scale highlight { + margin: -2px; } + scale slider { + min-height: 13px; + min-width: 13px; + margin: -7px; } + scale.fine-tune.horizontal { + padding-top: 9px; + padding-bottom: 9px; + min-height: 16px; } + scale.fine-tune.vertical { + padding-left: 9px; + padding-right: 9px; + min-width: 16px; } + scale.fine-tune slider { + margin: -6px; } + scale.fine-tune fill, + scale.fine-tune highlight, + scale.fine-tune trough { + border-radius: 5px; + -gtk-outline-radius: 7px; } + scale trough { + padding: 1px; + outline-offset: 2px; + -gtk-outline-radius: 5px; } + scale fill, scale fill:backdrop { + background-color: #828282; + box-shadow: none; } + scale fill:disabled, scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + .osd scale fill { + background-color: rgba(91, 91, 91, 0.775); } + .osd scale fill:disabled, .osd scale fill:disabled:backdrop { + border-color: transparent; + background-color: transparent; } + scale slider { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); + background-image: linear-gradient(to bottom, shade(#CECECE, 1.45), shade(#CECECE, 1.15)); + border: 1px solid #7a7a7a; + border-radius: 100%; + transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition-property: background, border, box-shadow; } + scale slider:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, #e5e5e5 10%, #d8d8d8 90%); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6), inset 0 -2px #dbdbdb, inset 0 -1px #b5b5b5, 0 1px rgba(0, 0, 0, 0.1); } + scale slider:active { + border-color: #30423f; } + scale slider:disabled { + border-color: #828282; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:disabled label, scale slider:disabled { + color: #787878; } + scale slider:backdrop { + transition: 200ms ease-out; + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop label, scale slider:backdrop { + color: #787878; } + scale slider:backdrop:disabled { + border-color: #8a8a8a; + background-color: lightgray; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + scale slider:backdrop:disabled label, scale slider:backdrop:disabled { + color: #a8a8a8; } + row:selected scale slider, row:selected scale slider:disabled { + border-color: #30423f; } + .osd scale slider { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); + border-color: rgba(0, 0, 0, 0.7); + background-color: #222222; } + .osd scale slider:hover { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(65, 65, 65, 0.8); + background-clip: padding-box; + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); + text-shadow: 0 1px black; + -gtk-icon-shadow: 0 1px black; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:active { + color: white; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(0, 0, 0, 0.7); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; + outline-color: rgba(238, 238, 238, 0.3); } + .osd scale slider:disabled { + color: #888888; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + .osd scale slider:backdrop { + color: #eeeeee; + border-color: rgba(0, 0, 0, 0.7); + background-color: rgba(34, 34, 34, 0.8); + background-clip: padding-box; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; } + scale value { + color: alpha(currentColor,0.6); } + scale marks { + color: alpha(currentColor,0.4); } + scale.color { + min-height: 0; + min-width: 0; } + scale.color trough { + background-image: image(#828282); + background-repeat: no-repeat; } + scale.color.horizontal { + padding: 0 0 15px 0; } + scale.color.horizontal trough { + padding-bottom: 4px; + background-position: 0 -3px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.vertical:dir(ltr) { + padding: 0 0 0 15px; } + scale.color.vertical:dir(ltr) trough { + padding-left: 4px; + background-position: 3px 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.vertical:dir(rtl) { + padding: 0 15px 0 0; } + scale.color.vertical:dir(rtl) trough { + padding-right: 4px; + background-position: -3px 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { + padding: 0 0 12px 0; } + scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { + padding-bottom: 7px; + background-position: 0 -6px; } + scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { + margin-bottom: -15px; + margin-top: 6px; } + scale.color.fine-tune.vertical:dir(ltr) { + padding: 0 0 0 12px; } + scale.color.fine-tune.vertical:dir(ltr) trough { + padding-left: 7px; + background-position: 6px 0; } + scale.color.fine-tune.vertical:dir(ltr) slider { + margin-left: -15px; + margin-right: 6px; } + scale.color.fine-tune.vertical:dir(rtl) { + padding: 0 12px 0 0; } + scale.color.fine-tune.vertical:dir(rtl) trough { + padding-right: 7px; + background-position: -6px 0; } + scale.color.fine-tune.vertical:dir(rtl) slider { + margin-right: -15px; + margin-left: 6px; } + +/***************** + * Progress bars * + *****************/ +progressbar { + font-size: smaller; + color: rgba(33, 33, 33, 0.4); } + progressbar.horizontal trough { + min-height: 6px; } + progressbar.horizontal progress { + min-height: 8px; } + progressbar.vertical trough { + min-width: 6px; } + progressbar.vertical progress { + min-width: 8px; } + progressbar.horizontal progress, progressbar.vertical progress { + margin: 0; } + progressbar:backdrop { + box-shadow: none; + transition: 200ms ease-out; } + progressbar progress { + border-width: 0; + box-shadow: inset 1px 1px shade(#729992, 0.7), inset -1px -1px shade(#729992, 0.7); + border-radius: 3px; } + progressbar progress.left { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar progress.right { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } + progressbar progress.top { + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + progressbar progress.bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + progressbar:backdrop progress { + box-shadow: none; } + progressbar.osd { + min-width: 3px; + min-height: 3px; + background-color: transparent; } + progressbar.osd trough { + border-style: none; + border-radius: 0; + background-color: transparent; + box-shadow: none; } + progressbar.osd progress { + border-style: none; + border-radius: 0; } + +/************* + * Level Bar * + *************/ +levelbar block { + min-width: 32px; + min-height: 1px; } +levelbar.vertical block { + min-width: 1px; + min-height: 32px; } +levelbar:backdrop { + transition: 200ms ease-out; } +levelbar trough { + border: 1px solid; + padding: 2px; + border-radius: 3px; + color: #212121; + border-color: #828282; + background-color: #dbdbdb; + box-shadow: inset 0 0 0 1px rgba(114, 153, 146, 0); } + levelbar trough:backdrop { + color: #464646; + border-color: #8a8a8a; + background-color: #d8d8d8; + box-shadow: none; } +levelbar.horizontal.discrete block { + margin: 0 1px; } +levelbar.vertical.discrete block { + margin: 1px 0; } +levelbar block { + border: 1px solid; + border-radius: 1px; + box-shadow: 0 1px rgba(0, 0, 0, 0.2); } + levelbar block:backdrop { + box-shadow: none; } + levelbar block.low { + border-color: #8f4700; + background-color: #f57900; } + levelbar block.low:backdrop { + border-color: #f57900; } + levelbar block.high, levelbar block:not(.empty) { + border-color: #45605b; + background-color: #729992; } + levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { + border-color: #729992; } + levelbar block.full { + border-color: #1c3802; + background-color: #4e9a06; } + levelbar block.full:backdrop { + border-color: #4e9a06; } + levelbar block.empty { + background-color: transparent; + border-color: rgba(33, 33, 33, 0.2); + box-shadow: none; } + levelbar block.empty:backdrop { + border-color: rgba(120, 120, 120, 0.15); } + +/**************** + * Print dialog * +*****************/ +printdialog paper { + color: #212121; + border: 1px solid #828282; + background: white; + padding: 0; } + printdialog paper:backdrop { + color: #787878; + border-color: #8a8a8a; } +printdialog .dialog-action-box { + margin: 12px; } + +/********** + * Frames * + **********/ +frame > border, +.frame { + box-shadow: none; + margin: 0; + padding: 0; + border-radius: 0; + border: 1px solid #828282; } + frame > border.flat, + .frame.flat { + border-style: none; } + frame > border:backdrop, + .frame:backdrop { + border-color: #8a8a8a; } + +actionbar > revealer > box { + padding: 6px; + border-top: 1px solid #828282; } + actionbar > revealer > box:backdrop { + border-color: #8a8a8a; } + +scrolledwindow viewport.frame { + border-style: none; } +scrolledwindow overshoot.top { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(33, 33, 33, 0.07)), to(rgba(33, 33, 33, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.top:backdrop { + background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center top; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.bottom { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(33, 33, 33, 0.07)), to(rgba(33, 33, 33, 0))); + background-size: 100% 5%, 100% 100%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.bottom:backdrop { + background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 100% 5%; + background-repeat: no-repeat; + background-position: center bottom; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.left { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(33, 33, 33, 0.07)), to(rgba(33, 33, 33, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.left:backdrop { + background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: left center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow overshoot.right { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#686868), to(rgba(104, 104, 104, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(33, 33, 33, 0.07)), to(rgba(33, 33, 33, 0))); + background-size: 5% 100%, 100% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } + scrolledwindow overshoot.right:backdrop { + background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#8a8a8a), to(rgba(138, 138, 138, 0))); + background-size: 5% 100%; + background-repeat: no-repeat; + background-position: right center; + background-color: transparent; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow 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; + border: none; + box-shadow: none; } +scrolledwindow junction { + border-color: transparent; + border-image: linear-gradient(to bottom, #828282 1px, transparent 1px) 0 0 0 1/0 1px stretch; + background-color: #638982; } + scrolledwindow junction:dir(rtl) { + border-image-slice: 0 1 0 0; } + scrolledwindow junction:backdrop { + border-image-source: linear-gradient(to bottom, #8a8a8a 1px, transparent 1px); + background-color: #c6c6c6; + transition: 200ms ease-out; } + +separator { + background: rgba(0, 0, 0, 0.1); + min-width: 1px; + min-height: 1px; } + +/********* + * Lists * + *********/ +list { + color: #212121; + background-color: #dbdbdb; + border-color: #828282; } + list:backdrop { + background-color: #d8d8d8; + border-color: #8a8a8a; } + list row { + padding: 2px; } + +row { + transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + row:hover { + transition: none; } + row:backdrop { + transition: 200ms ease-out; } + row.activatable.has-open-popup, row.activatable:hover { + background-color: rgba(33, 33, 33, 0.05); } + row.activatable:active { + box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); } + row.activatable:backdrop:hover { + background-color: transparent; } + row.activatable:selected:active { + box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); } + row.activatable:selected.has-open-popup, row.activatable:selected:hover { + background-color: #6a8d87; } + row.activatable:selected:backdrop { + background-color: #729992; } + +/********************* + * App Notifications * + *********************/ +.app-notification, +.app-notification.frame { + padding: 10px; + border-radius: 0 0 5px 5px; + background-color: rgba(34, 34, 34, 0.8); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); + background-clip: padding-box; } + .app-notification:backdrop, + .app-notification.frame:backdrop { + background-image: none; + transition: 200ms ease-out; } + .app-notification border, + .app-notification.frame border { + border: none; } + +/************* + * Expanders * + *************/ +expander arrow { + min-width: 16px; + min-height: 16px; + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + expander arrow:dir(rtl) { + -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + expander arrow:hover { + color: #6e6e6e; } + expander arrow:checked { + -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +/************ + * Calendar * + ***********/ +calendar { + color: #212121; + border: 1px solid #828282; } + calendar:selected { + border-radius: 3px; } + calendar.header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; } + calendar.header:backdrop { + border-color: rgba(0, 0, 0, 0.1); } + calendar.button { + color: rgba(33, 33, 33, 0.45); } + calendar.button:hover { + color: #212121; } + calendar.button:backdrop { + color: rgba(120, 120, 120, 0.45); } + calendar.button:disabled { + color: rgba(120, 120, 120, 0.45); } + calendar:indeterminate, calendar:indeterminate:backdrop { + color: alpha(currentColor,0.55); } + calendar.highlight, calendar.highlight:backdrop { + font-size: smaller; + color: #212121; } + calendar:backdrop { + color: #464646; + border-color: #8a8a8a; } + +/*********** + * Dialogs * + ***********/ +messagedialog .titlebar { + min-height: 20px; + background-image: none; + background-color: #CECECE; + border-style: none; + border-top-left-radius: 7px; + border-top-right-radius: 7px; } +messagedialog.csd.background { + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; } +messagedialog.csd .dialog-action-area button { + padding: 10px 14px; + border-radius: 0; + border-left-style: solid; + border-right-style: none; + border-bottom-style: none; } + messagedialog.csd .dialog-action-area button:first-child { + border-left-style: none; + border-bottom-left-radius: 7px; + -gtk-outline-bottom-left-radius: 5px; } + messagedialog.csd .dialog-action-area button:last-child { + border-bottom-right-radius: 7px; + -gtk-outline-bottom-right-radius: 5px; } + +filechooser .dialog-action-box { + border-top: 1px solid #828282; } + filechooser .dialog-action-box:backdrop { + border-top-color: #8a8a8a; } +filechooser #pathbarbox { + border-bottom: 1px solid #CECECE; } + filechooser #pathbarbox stack { + background-color: #CECECE; } + +filechooserbutton:drop(active) { + box-shadow: none; + border-color: transparent; } + +/*********** + * Sidebar * + ***********/ +.sidebar { + border-style: none; + background-color: #dbdbdb; + -gtk-icon-style: regular; } + .sidebar row:selected { + background-image: linear-gradient(to bottom, shade(#dbdbdb, 0.87), shade(#dbdbdb, 0.95) 10%, shade(#dbdbdb, 0.99) 92%, shade(#dbdbdb, 0.92)); + box-shadow: 0 -1px shade(#CECECE, 0.85), 0 1px shade(#CECECE, 1.12); } + .sidebar row:selected label { + color: #212121; } + .sidebar row:selected label:backdrop { + color: #787878; } + .sidebar row:backdrop { + background-color: transparent; } + stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:dir(ltr), .sidebar.left, .sidebar.left:dir(rtl) { + border-right: 1px solid #828282; + border-left-style: none; } + stacksidebar.sidebar:dir(rtl) list + .sidebar:dir(rtl), stacksidebar.sidebar.right list + .sidebar:dir(rtl), .sidebar.right { + border-left: 1px solid #828282; + border-right-style: none; } + .sidebar:backdrop { + background-color: lightgray; + border-color: #8a8a8a; + transition: 200ms ease-out; } + .sidebar list, .sidebar treeview { + background-color: transparent; } + .sidebar list:backdrop, .sidebar treeview:backdrop { + background-color: transparent; } + paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { + border-style: none; } + +stacksidebar row { + padding: 10px 4px; } + stacksidebar row > label { + padding-left: 6px; + padding-right: 6px; } + stacksidebar row.needs-attention > label { + background-size: 6px 6px, 0 0; } + +/**************** + * File chooser * + ****************/ +placessidebar > viewport.frame { + border-style: none; } +placessidebar row { + min-height: 24px; + padding: 0px; } + placessidebar row > revealer { + padding: 0 14px; } + placessidebar row:selected { + color: #212121; } + placessidebar row:disabled { + color: #787878; } + placessidebar row:backdrop { + color: #787878; + background-color: #CECECE; } + placessidebar row:backdrop:selected { + color: #787878; } + placessidebar row:backdrop:disabled { + color: #a8a8a8; } + placessidebar row image.sidebar-icon:dir(ltr) { + padding-right: 8px; } + placessidebar row image.sidebar-icon:dir(rtl) { + padding-left: 8px; } + placessidebar row label.sidebar-label:dir(ltr) { + padding-right: 2px; } + placessidebar row label.sidebar-label:dir(rtl) { + padding-left: 2px; } + button.sidebar-button { + min-height: 26px; + min-width: 26px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0; + border-radius: 100%; + -gtk-outline-radius: 100%; } + button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { + opacity: 0.7; } + placessidebar row:selected:active { + box-shadow: none; } + placessidebar row.sidebar-placeholder-row { + padding: 0 8px; + min-height: 2px; + background-image: image(#729992); + background-clip: content-box; } + placessidebar row.sidebar-new-bookmark-row { + color: #729992; } + placessidebar row:drop(active):not(:disabled) { + color: #729992; + box-shadow: inset 0 1px #729992, inset 0 -1px #729992; } + placessidebar row:drop(active):not(:disabled):selected { + color: #000000; + background-image: linear-gradient(to bottom, #b4c8c4, #cbd9d6 10%, #d7e2e0 92%, #c2d3d0); } + +placesview .server-list-button > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(0turn); } +placesview .server-list-button:checked > image { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + -gtk-icon-transform: rotate(-0.5turn); } +placesview row.activatable:hover { + background-color: transparent; } +placesview > actionbar > revealer > box > label { + padding-left: 8px; + padding-right: 8px; } + +/********* + * Paned * + *********/ +paned > separator { + min-width: 1px; + min-height: 1px; + -gtk-icon-source: none; + border-style: none; + background-color: transparent; + background-image: image(#828282); + background-size: 1px 1px; } + paned > separator:selected { + background-image: image(#729992); } + paned > separator:backdrop { + background-image: image(#8a8a8a); } + paned > separator.wide { + min-width: 5px; + min-height: 5px; + background-color: #CECECE; + background-image: image(#828282), image(#828282); + background-size: 1px 1px, 1px 1px; } + paned > separator.wide:backdrop { + background-color: #CECECE; + background-image: image(#8a8a8a), image(#8a8a8a); } +paned.horizontal > separator { + background-repeat: repeat-y; } + paned.horizontal > separator:dir(ltr) { + margin: 0 -8px 0 0; + padding: 0 8px 0 0; + background-position: left; } + paned.horizontal > separator:dir(rtl) { + margin: 0 0 0 -8px; + padding: 0 0 0 8px; + background-position: right; } + paned.horizontal > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-y, repeat-y; + background-position: left, right; } +paned.vertical > separator { + margin: 0 0 -8px 0; + padding: 0 0 8px 0; + background-repeat: repeat-x; + background-position: top; } + paned.vertical > separator.wide { + margin: 0; + padding: 0; + background-repeat: repeat-x, repeat-x; + background-position: bottom, top; } + +/************** + * GtkInfoBar * + **************/ +infobar { + border-style: none; } + +.info, +.question, +.warning, +.error { + text-shadow: 0 1px #5b7d77; } + .info:backdrop, .info, + .question:backdrop, + .question, + .warning:backdrop, + .warning, + .error:backdrop, + .error { + background-color: #729992; + border-color: #5b7d77; } + .info:backdrop label, .info:backdrop, .info label, .info, + .question:backdrop label, + .question:backdrop, + .question label, + .question, + .warning:backdrop label, + .warning:backdrop, + .warning label, + .warning, + .error:backdrop label, + .error:backdrop, + .error label, + .error { + color: #000000; } + .info:backdrop, + .question:backdrop, + .warning:backdrop, + .error:backdrop { + text-shadow: none; } + .info button, + .question button, + .warning button, + .error button { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#729992, 1.02), 1.05), shade(shade(#729992, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); + border-color: #45605b; } + .info button:hover, + .question button:hover, + .warning button:hover, + .error button:hover { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(#729992, 1.15), shade(#729992, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.4); } + .info button:active, .info button:checked, + .question button:active, + .question button:checked, + .warning button:active, + .warning button:checked, + .error button:active, + .error button:checked { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); + border-color: #3b514d; + background-image: linear-gradient(to bottom, shade(shade(#729992, 0.85), 1.05), shade(shade(#729992, 0.85), 0.97)); + box-shadow: inset 0 2px 1px -2px rgba(0, 0, 0, 0.6); } + .info button:disabled, + .question button:disabled, + .warning button:disabled, + .error button:disabled { + border-color: #3b514d; + background-color: #82a39d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + .info button:disabled label, .info button:disabled, + .question button:disabled label, + .question button:disabled, + .warning button:disabled label, + .warning button:disabled, + .error button:disabled label, + .error button:disabled { + color: #41524f; } + .info button:backdrop, + .question button:backdrop, + .warning button:backdrop, + .error button:backdrop { + border-color: #729992; + background-color: #729992; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3b514d; } + .info button:backdrop label, .info button:backdrop, + .question button:backdrop label, + .question button:backdrop, + .warning button:backdrop label, + .warning button:backdrop, + .error button:backdrop label, + .error button:backdrop { + color: #171f1d; } + .info button:backdrop:disabled, + .question button:backdrop:disabled, + .warning button:backdrop:disabled, + .error button:backdrop:disabled { + border-color: #82a39d; + background-color: #82a39d; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); + border-color: #3b514d; } + .info button:backdrop:disabled label, .info button:backdrop:disabled, + .question button:backdrop:disabled label, + .question button:backdrop:disabled, + .warning button:backdrop:disabled label, + .warning button:backdrop:disabled, + .error button:backdrop:disabled label, + .error button:backdrop:disabled { + color: #556a66; } + .info label:selected:focus, .info label:selected:hover, .info label:selected, + .question label:selected:focus, + .question label:selected:hover, + .question label:selected, + .warning label:selected:focus, + .warning label:selected:hover, + .warning label:selected, + .error label:selected:focus, + .error label:selected:hover, + .error label:selected { + background-color: #5b7d77; } + +/************* + * Buttonbox * + *************/ +buttonbox { + padding: 6px; } + +/************ + * Tooltips * + ************/ +tooltip { + padding: 1px; + /* not working */ + border-radius: 0px; + box-shadow: none; + text-shadow: none; } + tooltip.background { + background-color: #CECECE; + background-clip: padding-box; + border: 1px solid #c1c1c1; } + tooltip decoration { + background-color: transparent; } + tooltip * { + padding: 1px; + background-color: transparent; + color: #212121; } + +/***************** + * Color Chooser * + *****************/ +colorswatch, colorswatch:drop(active) { + border-style: none; } +colorswatch.top { + border-top-left-radius: 5.5px; + border-top-right-radius: 5.5px; } + colorswatch.top overlay { + border-top-left-radius: 5px; + border-top-right-radius: 5px; } +colorswatch.bottom { + border-bottom-left-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.bottom overlay { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.left, colorswatch:first-child:not(.top) { + border-top-left-radius: 5.5px; + border-bottom-left-radius: 5.5px; } + colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; } +colorswatch.right, colorswatch:last-child:not(.bottom) { + border-top-right-radius: 5.5px; + border-bottom-right-radius: 5.5px; } + colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; } +colorswatch.dark overlay { + color: #000000; } + colorswatch.dark overlay:hover { + border-color: rgba(0, 0, 0, 0.8); } + colorswatch.dark overlay:backdrop { + color: #d8d8d8; } +colorswatch.light overlay { + color: #212121; } + colorswatch.light overlay:hover { + border-color: rgba(0, 0, 0, 0.5); } + colorswatch.light overlay:backdrop { + color: #464646; } +colorswatch:drop(active) { + box-shadow: none; } + colorswatch:drop(active).light overlay { + border-color: #729992; + box-shadow: inset 0 0 0 2px #618680, inset 0 0 0 1px #729992; } + colorswatch:drop(active).dark overlay { + border-color: #729992; + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #729992; } +colorswatch overlay { + box-shadow: inset 0 2px 2px -3px rgba(0, 0, 0, 0.7); + border: 1px solid rgba(0, 0, 0, 0.3); } + colorswatch overlay:hover { + box-shadow: inset 0 1px rgba(255, 255, 255, 0.3); } + colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { + border-color: rgba(0, 0, 0, 0.3); + box-shadow: none; } +colorswatch#add-color-button { + border-radius: 5px 5px 0 0; } + colorswatch#add-color-button:only-child { + border-radius: 5px; } + colorswatch#add-color-button overlay { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-top-color: shade(#CECECE, 0.8); + border-right-color: shade(#CECECE, 0.72); + border-left-color: shade(#CECECE, 0.72); + border-bottom-color: shade(#CECECE, 0.7); + background-image: linear-gradient(to bottom, shade(shade(#CECECE, 1.02), 1.05), shade(shade(#CECECE, 1.02), 0.97)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:hover { + color: #212121; + outline-color: rgba(33, 33, 33, 0.3); + border-color: #828282; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.15), shade(#CECECE, 1.07)); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.6); } + colorswatch#add-color-button overlay:backdrop { + border-color: #8a8a8a; + background-color: #CECECE; + text-shadow: none; + -gtk-icon-shadow: none; + box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + colorswatch#add-color-button overlay:backdrop label, colorswatch#add-color-button overlay:backdrop { + color: #787878; } +colorswatch:disabled { + opacity: 0.5; } + colorswatch:disabled overlay { + border-color: rgba(0, 0, 0, 0.6); + box-shadow: none; } +row:selected colorswatch { + box-shadow: 0 0 0 2px #000000; } +colorswatch#editor-color-sample { + border-radius: 4px; } + colorswatch#editor-color-sample overlay { + border-radius: 4.5px; } + +colorchooser .popover.osd { + border-radius: 5px; } + +/******** + * Misc * + ********/ +.content-view { + background-color: #bcbcbc; } + .content-view:hover { + -gtk-icon-effect: highlight; } + .content-view:backdrop { + background-color: #bcbcbc; } + +.osd .scale-popup button.flat { + border-style: none; + border-radius: 5px; } +.scale-popup button:hover { + background-color: rgba(33, 33, 33, 0.1); + border-radius: 5px; } + +/********************** + * Window Decorations * + *********************/ +decoration { + border-radius: 7px 7px 0 0; + border-width: 0px; + box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); + margin: 10px; } + decoration:backdrop { + box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); + transition: 200ms ease-out; } + .maximized decoration, .fullscreen decoration, .tiled decoration { + border-radius: 0; } + .popup decoration { + box-shadow: none; } + .ssd decoration { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); } + .csd.popup decoration { + border-radius: 0; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + tooltip.csd decoration { + border-radius: 5px; + box-shadow: none; } + messagedialog.csd decoration { + border-radius: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); } + .solid-csd decoration { + border-radius: 0; + margin: 4px; + background-color: #CECECE; + border: solid 1px #8a8a8a; + box-shadow: none; } + +button.titlebutton { + text-shadow: 0 1px rgba(255, 255, 255, 0.76923); + -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); } + button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +headerbar.selection-mode button.titlebutton, +.titlebar.selection-mode button.titlebutton { + text-shadow: 0 -1px rgba(0, 0, 0, 0.58118); + -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.58118); } + headerbar.selection-mode button.titlebutton:backdrop, + .titlebar.selection-mode button.titlebutton:backdrop { + -gtk-icon-shadow: none; } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, +.view text:selected:focus, +iconview text:selected:focus, +textview text:selected:focus, +.view text:selected, +iconview text:selected, +textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, +textview text selection:focus, +textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, +entry selection:focus, +entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, +popover.background radiobutton:selected, +.menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + background-color: #729992; } + row:selected label, label:selected, .selection-mode button.titlebutton, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, + .view text:selected:focus, + iconview text:selected:focus, + textview text:selected:focus, + .view text:selected, + iconview text:selected, + textview text:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, + textview text selection:focus, + textview text selection, flowbox flowboxchild:selected, spinbutton:not(.vertical) selection:focus, spinbutton:not(.vertical) selection, + entry selection:focus, + entry selection, modelbutton.flat:selected, popover.background checkbutton:selected, + popover.background radiobutton:selected, + .menuitem.button.flat:selected, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { + color: #000000; + outline-color: rgba(0, 0, 0, 0.3); } + row:selected label:disabled, label:disabled:selected, .selection-mode button.titlebutton:disabled, iconview:disabled:selected:focus, .view:disabled:selected, iconview:disabled:selected, + iconview text:disabled:selected:focus, + textview text:disabled:selected:focus, + .view text:disabled:selected, + iconview text:disabled:selected, + textview text:disabled:selected, iconview text selection:disabled:focus, .view text selection:disabled, iconview text selection:disabled, + textview text selection:disabled, flowbox flowboxchild:disabled:selected, label:disabled selection, spinbutton:not(.vertical) selection:disabled, + entry selection:disabled, modelbutton.flat:disabled:selected, popover.background checkbutton:disabled:selected, + popover.background radiobutton:disabled:selected, + .menuitem.button.flat:disabled:selected, row:disabled:selected, calendar:disabled:selected { + color: #394d49; } + row:selected label:backdrop, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, iconview:backdrop:selected:focus, .view:backdrop:selected, iconview:backdrop:selected, + iconview text:backdrop:selected:focus, + textview text:backdrop:selected:focus, + .view text:backdrop:selected, + iconview text:backdrop:selected, + textview text:backdrop:selected, iconview text selection:backdrop:focus, .view text selection:backdrop, iconview text selection:backdrop, + textview text selection:backdrop, flowbox flowboxchild:backdrop:selected, label:backdrop selection, spinbutton:not(.vertical) selection:backdrop, + entry selection:backdrop, modelbutton.flat:backdrop:selected, popover.background checkbutton:backdrop:selected, + popover.background radiobutton:backdrop:selected, + .menuitem.button.flat:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { + color: #d8d8d8; } + row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, + .view text:backdrop:disabled:selected, + iconview text:backdrop:disabled:selected, + textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, + textview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, label:disabled selection:backdrop, label:backdrop selection:disabled, spinbutton:not(.vertical) selection:backdrop:disabled, + entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, popover.background checkbutton:backdrop:disabled:selected, + popover.background radiobutton:backdrop:disabled:selected, + .menuitem.button.flat:backdrop:disabled:selected, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { + color: #91aca7; } + +.monospace { + font-family: monospace; } + +/********************** + * Touch Copy & Paste * + *********************/ +cursor-handle { + background-color: transparent; + background-image: none; + box-shadow: none; + border-style: none; } + cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); + padding-left: 10px; } + cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); + padding-left: 10px; } + cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); } + cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); + padding-left: 10px; } + cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); + padding-right: 10px; } + cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { + -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); } + +.context-menu { + font: initial; } + +button.circular { + border-radius: 9999px; + -gtk-outline-radius: 9999px; } + button.circular label { + padding: 0; } + +.keycap { + min-width: 20px; + min-height: 25px; + margin-top: 2px; + padding-bottom: 3px; + padding-left: 6px; + padding-right: 6px; + color: #212121; + background-color: #dbdbdb; + border: 1px solid; + border-color: #a8a8a8; + border-radius: 5px; + box-shadow: inset 0 -3px #d1d1d1; + font-size: smaller; } + .keycap:backdrop { + background-color: #d8d8d8; + color: #787878; + transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, +:not(decoration):not(window):drop(active) { + border-color: #729992; + box-shadow: inset 0 0 0 1px #729992; } + +stackswitcher button.text-button { + min-width: 100px; } + +stackswitcher button.circular, +stackswitcher button.text-button.circular { + min-width: 32px; + min-height: 32px; + padding: 0; } + +/* GTK NAMED COLORS + ---------------- + use responsibly! */ +/* +widget text/foreground color */ +@define-color theme_fg_color #212121; +/* +text color for entries, views and content in general */ +@define-color theme_text_color #212121; +/* +widget base background color */ +@define-color theme_bg_color #CECECE; +/* +text widgets and the like base background color */ +@define-color theme_base_color #dbdbdb; +/* +base background color of selections */ +@define-color theme_selected_bg_color #729992; +/* +text/foreground color of selections */ +@define-color theme_selected_fg_color #000000; +/* +base background color of insensitive widgets */ +@define-color insensitive_bg_color lightgray; +/* +text foreground color of insensitive widgets */ +@define-color insensitive_fg_color #787878; +/* +insensitive text widgets and the like base background color */ +@define-color insensitive_base_color #dbdbdb; +/* +widget text/foreground color on backdrop windows */ +@define-color theme_unfocused_fg_color #787878; +/* +text color for entries, views and content in general on backdrop windows */ +@define-color theme_unfocused_text_color #212121; +/* +widget base background color on backdrop windows */ +@define-color theme_unfocused_bg_color #CECECE; +/* +text widgets and the like base background color on backdrop windows */ +@define-color theme_unfocused_base_color #d8d8d8; +/* +base background color of selections on backdrop windows */ +@define-color theme_unfocused_selected_bg_color #729992; +/* +text/foreground color of selections on backdrop windows */ +@define-color theme_unfocused_selected_fg_color #000000; +/* +widgets main borders color */ +@define-color borders #828282; +/* +widgets main borders color on backdrop windows */ +@define-color unfocused_borders #8a8a8a; +/* +these are pretty self explicative */ +@define-color warning_color #f57900; +@define-color error_color #cc0000; +@define-color success_color #4e9a06; +/* +these colors are exported for the window manager and shouldn't be used in applications, +read if you used those and something break with a version upgrade you're on your own... */ +@define-color wm_title shade(#212121, 1.8); +@define-color wm_unfocused_title #787878; +@define-color wm_highlight rgba(255, 255, 255, 0.8); +@define-color wm_borders_edge rgba(255, 255, 255, 0.8); +@define-color wm_bg_a shade(#CECECE, 1.2); +@define-color wm_bg_b #CECECE; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(#CECECE, 1.3); +@define-color wm_button_hover_color_b #CECECE; +@define-color wm_button_active_color_a shade(#CECECE, 0.85); +@define-color wm_button_active_color_b shade(#CECECE, 0.89); +@define-color wm_button_active_color_c shade(#CECECE, 0.9); +@define-color content_view_bg #dbdbdb; +.XfceHeading { + margin: 0; + padding: 0; + border-width: 0; + background-image: none; + background-color: shade(#CECECE, 1.18); + color: #212121; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + +.xfce4-panel.background { + background-color: shade(#CECECE, 0.35); + color: #212121; + font-weight: normal; } + .xfce4-panel.background button { + background-image: none; + background-color: transparent; + border-radius: 0; + border-color: transparent; + box-shadow: none; + padding: 0 1px; + color: #212121; + text-shadow: 0px 1px rgba(0, 0, 0, 0.1); } + .xfce4-panel.background button:active, .xfce4-panel.background button:checked { + background-image: none; + background-color: shade(#CECECE, 0.7); + border-color: shade(#CECECE, 0.6); + color: #212121; + transition: none; } + .xfce4-panel.background button:hover, .xfce4-panel.background button:active:hover, .xfce4-panel.background button:checked:hover { + border-color: shade(#729992, 0.6); + background-image: linear-gradient(to bottom, shade(#729992, 0.88), shade(#729992, 0.85)); + color: #212121; + box-shadow: inset 0 -1px alpha(white,0), inset 1px 0 alpha(white,0.15), inset -1px 0 alpha(white,0.15), inset 0 1px alpha(white,0.15); + transition: none; } + .xfce4-panel.background menu { + -gtk-icon-effect: none; + text-shadow: none; } + +#XfceNotifyWindow { + background-color: shade(#CECECE, 0.3); + color: #212121; + border-color: shade(#CECECE, 0.6); } + #XfceNotifyWindow button { + background-image: none; + border-color: shade(#212121, 0.35); + border-radius: 3px; + box-shadow: none; } + #XfceNotifyWindow label#summary { + font-weight: bold; } + #XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; } + #XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #212121; } + #XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, shade(#CECECE, 0.65), shade(#CECECE, 1.25)); + border: 1px solid shade(#CECECE, 0.2); + border-radius: 3px; } + +.lightdm-gtk-greeter { + /********* + * panel * + *********/ + /**************** + * login window * + ****************/ } + .lightdm-gtk-greeter #panel_window { + background-color: #CECECE; + color: #212121; + font-weight: bold; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; + box-shadow: inset 0 -1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar { + background-color: #CECECE; + text-shadow: 0 1px transparentize black, 0.5; + -gtk-icon-shadow: 0 1px transparentize black, 0.5; } + .lightdm-gtk-greeter #panel_window menubar menu menuitem { + font-weight: normal; + text-shadow: none; } + .lightdm-gtk-greeter #login_window, + .lightdm-gtk-greeter #shutdown_dialog, + .lightdm-gtk-greeter #restart_dialog { + border-style: none; + border-radius: 5px; + background-color: #dbdbdb; + color: #212121; + box-shadow: inset 1px 0 shade(#dbdbdb, 0.6), inset -1px 0 shade(#dbdbdb, 0.6), inset 0 1px shade(#dbdbdb, 0.6), inset 0 -1px shade(#dbdbdb, 0.6); } + .lightdm-gtk-greeter #login_window button, + .lightdm-gtk-greeter #shutdown_dialog button, + .lightdm-gtk-greeter #restart_dialog button { + padding: 3px 15px; + /*********************** + * login/unlock button * + ***********************/ + /******************* + * shutdown button * + *******************/ + /****************** + * restart button * + ******************/ } + .lightdm-gtk-greeter #login_window button#login_button, + .lightdm-gtk-greeter #shutdown_dialog button#login_button, + .lightdm-gtk-greeter #restart_dialog button#login_button { + border-color: shade(#729992, 0.8); + background-image: linear-gradient(to bottom, shade(#729992, 1.02), shade(#729992, 0.95) 90%, shade(#729992, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#login_button:hover, .lightdm-gtk-greeter #login_window button#login_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#login_button:active, + .lightdm-gtk-greeter #restart_dialog button#login_button:hover, + .lightdm-gtk-greeter #restart_dialog button#login_button:active { + border-color: shade(#729992, 0.7); + background-image: linear-gradient(to bottom, shade(#729992, 1.12), shade(#729992, 1.05) 90%, shade(#729992, 1)); } + .lightdm-gtk-greeter #login_window button#shutdown_button, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button { + border-color: shade(#cc0000, 0.8); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.02), shade(#cc0000, 0.95) 90%, shade(#cc0000, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#shutdown_button:hover, .lightdm-gtk-greeter #login_window button#shutdown_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#shutdown_button:active, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:hover, + .lightdm-gtk-greeter #restart_dialog button#shutdown_button:active { + border-color: shade(#cc0000, 0.7); + background-image: linear-gradient(to bottom, shade(#cc0000, 1.12), shade(#cc0000, 1.05) 90%, shade(#cc0000, 1)); } + .lightdm-gtk-greeter #login_window button#restart_button, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button, + .lightdm-gtk-greeter #restart_dialog button#restart_button { + border-color: shade(#f57900, 0.8); + background-image: linear-gradient(to bottom, shade(#f57900, 1.02), shade(#f57900, 0.95) 90%, shade(#f57900, 0.9)); + color: #000000; } + .lightdm-gtk-greeter #login_window button#restart_button:hover, .lightdm-gtk-greeter #login_window button#restart_button:active, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:hover, + .lightdm-gtk-greeter #shutdown_dialog button#restart_button:active, + .lightdm-gtk-greeter #restart_dialog button#restart_button:hover, + .lightdm-gtk-greeter #restart_dialog button#restart_button:active { + border-color: shade(#f57900, 0.7); + background-image: linear-gradient(to bottom, shade(#f57900, 1.12), shade(#f57900, 1.05) 90%, shade(#f57900, 1)); } + .lightdm-gtk-greeter #content_frame { + padding-bottom: 14px; } + .lightdm-gtk-greeter #login_window menu { + border-radius: 1px; } + .lightdm-gtk-greeter #login_window combobox button.combo { + color: #212121; + padding: 0; + background: none; + border-style: none; + box-shadow: none; } + .lightdm-gtk-greeter #login_window #user_combobox { + color: #212121; + font-size: 18px; } + .lightdm-gtk-greeter #login_window #user_combobox menu { + font-weight: normal; } + .lightdm-gtk-greeter #login_window #user_image { + padding: 3px; + border-radius: 3px; + box-shadow: inset 1px 0 shade(#dbdbdb, 0.75), inset -1px 0 shade(#dbdbdb, 0.75), inset 0 1px shade(#dbdbdb, 0.55), inset 0 -1px shade(#dbdbdb, 0.85); } + .lightdm-gtk-greeter #login_window #user_image_border { + border-radius: 3px; + background-image: linear-gradient(to bottom, shade(#dbdbdb, 0.9), shade(#dbdbdb, 0.98) 10%, shade(#dbdbdb, 1) 99%, shade(#dbdbdb, 1)); + box-shadow: inset 0 1px shade(#dbdbdb, 0.8), inset 0 -1px shade(#dbdbdb, 0.55); } + .lightdm-gtk-greeter #buttonbox_frame { + padding-top: 20px; + padding-bottom: 0px; + border-style: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-image: linear-gradient(to bottom, shade(#CECECE, 0.85), shade(#CECECE, 0.98) 10%, shade(#CECECE, 1) 99%, shade(#CECECE, 1)); + box-shadow: inset 1px 0 shade(#dbdbdb, 0.6), inset -1px 0 shade(#dbdbdb, 0.6), inset 0 1px shade(#dbdbdb, 0.6), inset 0 -1px shade(#dbdbdb, 0.6); } + +/************************ + * NAUTILUS (aka Files) * + ************************/ +.nautilus-window { + background-color: #dbdbdb; } + .nautilus-window notebook, .nautilus-window notebook > stack { + background-color: #dbdbdb; } + +/* Floating status bar */ +.floating-bar { + background-color: #dbdbdb; + border-style: solid; + border-color: #828282; } + .floating-bar.left { + border-radius: 0 3px 0 0; + border-width: 1px 1px 0 0; } + .floating-bar.right { + border-radius: 3px 0 0 0; + border-width: 1px 0 0 1px; } + .floating-bar:backdrop { + background-color: #CECECE; + border-color: #8a8a8a; } + .floating-bar button { + padding: 0px; } + +/* Searchbar */ +.search-bar { + box-shadow: none; } + +/* View */ +.nautilus-list-view .view, .nautilus-list-view iconview { + border-bottom: 1px solid #CECECE; + /* Hide superfluous treeview drop target indication */ } + .nautilus-list-view .view.dnd, .nautilus-list-view iconview.dnd { + border-style: none; } + +/********* + * Geary * + *********/ +.conversation-frame .view.cell, .conversation-frame iconview.cell { + background-color: #dbdbdb; } + +.conversation-frame .view.cell:selected, .conversation-frame iconview.cell:selected, +.conversation-frame .view.cell:selected:focus, +.conversation-frame iconview.cell:selected:focus { + background-color: #729992; } + +UnityDecoration { + -UnityDecoration-extents: 28px 1px 1px 1px; + -UnityDecoration-input-extents: 10px; + -UnityDecoration-shadow-offset-x: 1px; + -UnityDecoration-shadow-offset-y: 1px; + -UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.5); + -UnityDecoration-inactive-shadow-radius: 5px; + -UnityDecoration-glow-size: 10px; + -UnityDecoration-glow-color: #729992; + -UnityDecoration-title-indent: 10px; + -UnityDecoration-title-fade: 35px; + -UnityDecoration-title-alignment: 0.0; } + UnityDecoration .top { + border: 1px solid shade(#CECECE, 0.7); + border-bottom-width: 0; + border-radius: 4px 4px 0 0; + padding: 1px 8px 0 8px; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.07), #CECECE); + color: #212121; + text-shadow: 0 1px shade(#CECECE, 1.2); } + UnityDecoration .top:backdrop { + border: 1px solid shade(#CECECE, 0.8); + border-bottom-width: 0; + background-image: linear-gradient(to bottom, shade(#CECECE, 1.02), #CECECE); + color: #212121; + text-shadow: 0 1px shade(#CECECE, 1.1); } + UnityDecoration .left, UnityDecoration .right, UnityDecoration .bottom { + background-color: shade(#CECECE, 0.7); } + UnityDecoration .left:backdrop, UnityDecoration .right:backdrop, UnityDecoration .bottom:backdrop { + background-color: shade(#CECECE, 0.8); } + +UnityPanelWidget, +.unity-panel { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(#CECECE, 1); + background-color: shade(#CECECE, 0.35); } + UnityPanelWidget.menuitem, UnityPanelWidget .menuitem, + .unity-panel.menuitem, + .unity-panel .menuitem { + border-width: 0 1px; + color: #212121; } + UnityPanelWidget.menuitem:hover, UnityPanelWidget.menuitem *:hover, UnityPanelWidget .menuitem:hover, UnityPanelWidget .menuitem *:hover, + .unity-panel.menuitem:hover, + .unity-panel.menuitem *:hover, + .unity-panel .menuitem:hover, + .unity-panel .menuitem *:hover { + border-color: shade(#CECECE, 0.8); + background-color: shade(#CECECE, 0.75); + color: #212121; } + +@keyframes playbackmenuitem_spinner { + to { + -gtk-icon-transform: rotate(1turn); } } +.menu IdoPlaybackMenuItem.menuitem:active { + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + animation: playbackmenuitem_spinner 1s infinite linear; + color: #212121; } diff --git a/themes/SoftWaves/gtk-3.0/gtk-contained.scss b/themes/SoftWaves/gtk-3.0/gtk-contained.scss new file mode 100644 index 0000000..e1ed31b --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/gtk-contained.scss @@ -0,0 +1,16 @@ +// 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 +// - if you need to inverse a color function use the @if directive to match for dark $variant + +$variant: 'light'; + +@import 'colors'; +@import 'drawing'; +@import 'common'; +@import 'colors-public'; +@import 'xfce'; +@import 'lightdm-gtk-greeter'; +@import 'gnome-apps'; +@import 'unity'; diff --git a/themes/SoftWaves/gtk-3.0/gtk.css b/themes/SoftWaves/gtk-3.0/gtk.css new file mode 100644 index 0000000..20b78fd --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("gtk-contained.css"); diff --git a/themes/SoftWaves/gtk-3.0/gtk.gresource.xml b/themes/SoftWaves/gtk-3.0/gtk.gresource.xml new file mode 100644 index 0000000..84310b7 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,56 @@ + + + + assets/bullet-symbolic.svg + assets/bullet-symbolic.symbolic.png + assets/checkbox-active-selectionmode.png + assets/checkbox-backdrop-selectionmode.png + assets/checkbox-checked-active-selectionmode.png + assets/checkbox-checked-backdrop-selectionmode.png + assets/checkbox-checked-hover-selectionmode.png + assets/checkbox-checked-insensitive.png + assets/checkbox-hover-selectionmode.png + assets/checkbox-mixed-hover.png + assets/checkbox-mixed-insensitive.png + assets/checkbox-mixed.png + assets/checkbox-selectionmode.png + assets/checkbox-unchecked-insensitive.png + assets/check-symbolic.svg + assets/check-symbolic.symbolic.png + assets/dash-symbolic.svg + assets/dash-symbolic.symbolic.png + assets/grid-selection-checked.png + assets/grid-selection-unchecked.png + assets/menuitem-checkbox-checked-hover.png + assets/menuitem-checkbox-checked-insensitive.png + assets/menuitem-checkbox-checked.png + assets/menuitem-checkbox-mixed-hover.png + assets/menuitem-checkbox-mixed-insensitive.png + assets/menuitem-checkbox-mixed.png + assets/menuitem-radio-checked-hover.png + assets/menuitem-radio-checked-insensitive.png + assets/menuitem-radio-checked.png + assets/pane-separator.png + assets/pane-separator-vertical.png + assets/radio-mixed-hover.png + assets/radio-mixed-insensitive.png + assets/radio-mixed.png + assets/radio-selected-hover.png + assets/radio-selected-insensitive.png + assets/radio-selected.png + assets/radio-unselected-insensitive.png + assets/radio-unselected.png + assets/resize-grip.png + assets/titlebutton-close-active.png + assets/titlebutton-close-hover.png + assets/titlebutton-close.png + assets/titlebutton-maximize-active.png + assets/titlebutton-maximize-hover.png + assets/titlebutton-maximize.png + assets/titlebutton-minimize-active.png + assets/titlebutton-minimize-hover.png + assets/titlebutton-minimize.png + gtk-contained.css + gtk-contained-dark.css + + diff --git a/themes/SoftWaves/gtk-3.0/parse-sass.sh b/themes/SoftWaves/gtk-3.0/parse-sass.sh new file mode 100755 index 0000000..e385f83 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/parse-sass.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec sass --update --sourcemap=none . diff --git a/themes/SoftWaves/gtk-3.0/settings.ini b/themes/SoftWaves/gtk-3.0/settings.ini new file mode 100644 index 0000000..9aa01e5 --- /dev/null +++ b/themes/SoftWaves/gtk-3.0/settings.ini @@ -0,0 +1,3 @@ +[Settings] +gtk-auto-mnemonics = 1 +gtk-visible-focus = automatic diff --git a/themes/SoftWaves/index.theme b/themes/SoftWaves/index.theme new file mode 100644 index 0000000..75320b2 --- /dev/null +++ b/themes/SoftWaves/index.theme @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=SoftWaves +Comment=Greybird-based theme for BunsenLabs Helium +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=SoftWaves +MetacityTheme= +IconTheme= +CursorTheme= +ButtonLayout= diff --git a/themes/SoftWaves/openbox-3/bullet.xbm b/themes/SoftWaves/openbox-3/bullet.xbm new file mode 100644 index 0000000..8543cdb --- /dev/null +++ b/themes/SoftWaves/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define bullet_width 8 +#define bullet_height 8 +static unsigned char bullet_bits[] = { + 0x00, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/close.xbm b/themes/SoftWaves/openbox-3/close.xbm new file mode 100644 index 0000000..f6ecebd --- /dev/null +++ b/themes/SoftWaves/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0x00, 0x66, 0x7e, 0x3c, 0x3c, 0x7e, 0x66, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/desk.xbm b/themes/SoftWaves/openbox-3/desk.xbm new file mode 100644 index 0000000..10ac3b3 --- /dev/null +++ b/themes/SoftWaves/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3 }; diff --git a/themes/SoftWaves/openbox-3/desk_toggled.xbm b/themes/SoftWaves/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..2ac7158 --- /dev/null +++ b/themes/SoftWaves/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x66, 0x7e, 0x24, 0x24, 0x7e, 0x66, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/iconify.xbm b/themes/SoftWaves/openbox-3/iconify.xbm new file mode 100644 index 0000000..8f1adbd --- /dev/null +++ b/themes/SoftWaves/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/max.xbm b/themes/SoftWaves/openbox-3/max.xbm new file mode 100644 index 0000000..3550875 --- /dev/null +++ b/themes/SoftWaves/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0x00, 0x78, 0x70, 0x62, 0x46, 0x0e, 0x1e, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/max_toggled.xbm b/themes/SoftWaves/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..3f15ddc --- /dev/null +++ b/themes/SoftWaves/openbox-3/max_toggled.xbm @@ -0,0 +1,4 @@ +#define max_toggled_width 8 +#define max_toggled_height 8 +static unsigned char max_toggled_bits[] = { + 0x10, 0x30, 0x70, 0xf0, 0x0f, 0x0e, 0x0c, 0x08 }; diff --git a/themes/SoftWaves/openbox-3/shade.xbm b/themes/SoftWaves/openbox-3/shade.xbm new file mode 100644 index 0000000..9ccffe6 --- /dev/null +++ b/themes/SoftWaves/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/shade_toggled.xbm b/themes/SoftWaves/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..7e4b5f9 --- /dev/null +++ b/themes/SoftWaves/openbox-3/shade_toggled.xbm @@ -0,0 +1,4 @@ +#define shade_toggled_width 8 +#define shade_toggled_height 8 +static unsigned char shade_toggled_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/themes/SoftWaves/openbox-3/themerc b/themes/SoftWaves/openbox-3/themerc new file mode 100644 index 0000000..0c6ef45 --- /dev/null +++ b/themes/SoftWaves/openbox-3/themerc @@ -0,0 +1,93 @@ +!! Menu settings + +menu.title.bg: flat gradient vertical bevel1 +menu.title.bg.color: #3c3c3c +menu.title.bg.colorTo: #3c3c3c +menu.title.text.color: #cbcbcb +menu.title.text.justify: right + +menu.items.bg: flat solid +menu.items.bg.color: #3C3C3C +menu.items.text.color: #cbcbcb +menu.items.disabled.text.color: #575757 + +menu.items.active.bg: flat gradient vertical bevel1 +menu.items.active.bg.color: #729992 +menu.items.active.bg.colorTo:#729992 +menu.items.active.text.color: #101010 +menu.bullet.selected.image.color: #101010 + +menu.separator.color: #a6a6a6 + +!! focused window settings + +window.active.title.bg: flat gradient vertical bevel1 +window.active.title.bg.color: #3c3c3c +window.active.title.bg.colorTo: #3C3C3C +window.active.title.separator.color: #3C3C3C + +window.active.handle.bg: flat gradient vertical bevel1 +window.active.handle.bg.color: #3C3C3C +window.active.handle.bg.colorTo: #3C3C3C + +window.active.grip.bg: parentrelative + +window.active.label.bg: parentrelative +window.active.label.text.color: #cbcbcb + +window.*.button.*.bg: parentrelative +window.active.button.*.image.color: #cbcbcb +window.active.button.*.hover.image.color: #FFFFFF +window.active.button.*.pressed.image.color: #666666 +window.active.button.disabled.image.color: #575757 + +!! unfocused window settings + +window.inactive.title.bg: flat gradient vertical bevel1 +window.inactive.title.bg.color: #cbcbcb +window.inactive.title.bg.colorTo: #cbcbcb +window.inactive.title.separator.color: #cbcbcb + +window.inactive.handle.bg: flat gradient vertical bevel1 +window.inactive.handle.bg.color: #cbcbcb +window.inactive.handle.bg.colorTo: #cbcbcb + +window.inactive.grip.bg: parentrelative + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #666666 + +window.inactive.button.*.image.color: #666666 +window.inactive.button.*.hover.image.color: #101010 +window.inactive.button.*.pressed.image.color: #666666 +window.inactive.button.disabled.image.color: #575757 + +!! Global width settings +border.Width: 1 +padding.width: 1 +window.handle.width: 0 +window.client.padding.width: 0 +menu.overlap.x: -6 + +!! Miscellaneous settings + +window.active.border.color: #3c3c3c +window.inactive.border.color: #cbcbcb + +!! OSD +osd.bg: flat gradient vertical bevel1 +osd.bg.color: #3c3c3c +osd.bg.colorTo: #3c3c3c +osd.label.bg: parentrelative +osd.hilight.bg: flat solid +osd.hilight.bg.color: #a3a3a3 +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #545454 +osd.label.text.color: #cbcbcb + +!! font me! +window.label.text.justify: center +window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1 +menu.items.font: +menu.title.text.font:shadow=n:shadowtint=70 diff --git a/themes/SoftWaves/xfce-notify-4.0/gtk.css b/themes/SoftWaves/xfce-notify-4.0/gtk.css new file mode 100644 index 0000000..88aa76c --- /dev/null +++ b/themes/SoftWaves/xfce-notify-4.0/gtk.css @@ -0,0 +1,57 @@ +#XfceNotifyWindow { + background-color: #cecece; + color: #13071B; + border: 0px solid shade(#C8CFCB, 1.0); + border-radius: 1px; +} + +#XfceNotifyWindow:hover { + background-color: #cecece; + color: #212121; + border: 1px solid shade(#3c3c3c, 0.0); + border-radius: 1px; +} + +#XfceNotifyWindow button { + background-image: linear-gradient(to bottom, + shade(#cecece, 1.08), + shade(#cecece, 1.02) + ); + color: shade(#13071B, 0.4); + border-color: shade(#cecece, 0.75); + border-radius: 3px; +} + +#XfceNotifyWindow button:hover { + background-image: linear-gradient(to bottom, + shade(#cecece, 1.14), + shade(#cecece, 1.08) + ); +} + +#XfceNotifyWindow button:active { + background-color: shade(#C8CFCB, 0.8); +} + +#XfceNotifyWindow label#summary { + font-weight: bold; +} + +#XfceNotifyWindow progressbar { + min-height: 6px; + border-radius: 3px; +} + +#XfceNotifyWindow progressbar progress { + background-image: none; + background-color: #729992; +} + +#XfceNotifyWindow progressbar trough { + background-image: linear-gradient(to bottom, + shade(#808080, 1.0), + shade(#808080, 1.0) + ); + border: 1px solid shade(#808080, 1.0); + border-radius: 3px; +} diff --git a/themes/SoftWaves/xfce-notify-4.0/gtkrc b/themes/SoftWaves/xfce-notify-4.0/gtkrc new file mode 100644 index 0000000..13d8db5 --- /dev/null +++ b/themes/SoftWaves/xfce-notify-4.0/gtkrc @@ -0,0 +1,57 @@ +style "bunsen-notify-window" +{ + bg[NORMAL] = "#cecece" + XfceNotifyWindow::border-color = "#cecece" + XfceNotifyWindow::border-color-hover = "#3c3c3c" + XfceNotifyWindow::border-radius = 0.0 + XfceNotifyWindow::border-width = 0.0 + XfceNotifyWindow::border-width-hover = 2.0 + XfceNotifyWindow::summary-bold = 1 +} +class "XfceNotifyWindow" style "bunsen-notify-window" + +style "bunsen-notify-button" +{ + bg[NORMAL] = "#cecece" + bg[PRELIGHT] = "#dbdbdb" + fg[NORMAL] = "#212121" + fg[PRELIGHT] = "#212121" +} + +style "bunsen-notify-text" +{ + fg[NORMAL] = "#212121" + GtkWidget::link-color = "#a7a7a7" +} + +style "bunsen-notify-progressbar" +{ + xthickness = 1 + ythickness = 1 + + bg[SELECTED] = "#808080" + bg[ACTIVE] = "#4a4a4a" + + GtkProgressBar::min-vertical-bar-width = 4 + GtkProgressBar::min-horizontal-bar-height = 4 + + engine "murrine" { + gradient_shades = {1.1,0.95,1.1,0.85} + contrast = 0.5 + border_shades = { 0.9, 0.9 } + progressbarstyle = 0 + } +} + +style "bunsen-summary" +{ + font_name = "Bold" +} + + +widget "XfceNotifyWindow.*.summary" style "bunsen-summary" +widget_class "XfceNotifyWindow.*.GtkButton*" style "bunsen-notify-button" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-text" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +widget_class "XfceNotifyWindow.*." style "bunsen-notify-progressbar" +