From 20223dab4ed9b8603567a6bb787847c6d071a164 Mon Sep 17 00:00:00 2001 From: johnraff Date: Sun, 30 Jun 2019 15:30:22 +0900 Subject: [PATCH] Restore grey theme Bunsen-He from Helium. --- themes/Bunsen-He/LICENSE.CC | 359 ++ themes/Bunsen-He/LICENSE.GPL | 339 ++ themes/Bunsen-He/README | 2 + themes/Bunsen-He/gtk-2.0/apps/chromium.rc | 19 + themes/Bunsen-He/gtk-2.0/apps/claws-mail.rc | 3 + .../Bunsen-He/gtk-2.0/apps/gmusicbrowser.rc | 17 + themes/Bunsen-He/gtk-2.0/apps/terminal.rc | 51 + themes/Bunsen-He/gtk-2.0/apps/thunar.rc | 79 + .../gtk-2.0/apps/thunar/breadcrumb_active.png | Bin 0 -> 1198 bytes .../apps/thunar/breadcrumb_default.png | Bin 0 -> 725 bytes .../apps/thunar/breadcrumb_prelight.png | Bin 0 -> 724 bytes .../gtk-2.0/apps/thunar/sidebar_active.png | Bin 0 -> 194 bytes themes/Bunsen-He/gtk-2.0/apps/xfce-panel.rc | 140 + themes/Bunsen-He/gtk-2.0/gtkrc | 804 +++ themes/Bunsen-He/gtk-2.0/resize_grip.png | Bin 0 -> 187 bytes themes/Bunsen-He/gtk-2.0/xfsmlogout.png | Bin 0 -> 131 bytes themes/Bunsen-He/gtk-3.0/Gemfile | 2 + themes/Bunsen-He/gtk-3.0/Gemfile.lock | 13 + themes/Bunsen-He/gtk-3.0/README | 35 + themes/Bunsen-He/gtk-3.0/_colors-public.scss | 112 + themes/Bunsen-He/gtk-3.0/_colors.scss | 71 + themes/Bunsen-He/gtk-3.0/_common.scss | 4283 +++++++++++++++ themes/Bunsen-He/gtk-3.0/_drawing.scss | 641 +++ themes/Bunsen-He/gtk-3.0/_gnome-apps.scss | 57 + .../gtk-3.0/_lightdm-gtk-greeter.scss | 166 + themes/Bunsen-He/gtk-3.0/_unity.scss | 78 + themes/Bunsen-He/gtk-3.0/_xfce.scss | 88 + .../gtk-3.0/apps/granite-widgets.css | 687 +++ .../gtk-3.0/apps/lightdm-unity-greeter.css | 67 + .../gtk-3.0/assets/bullet-symbolic.svg | 155 + .../assets/bullet-symbolic.symbolic.png | Bin 0 -> 147 bytes .../gtk-3.0/assets/check-symbolic.svg | 155 + .../assets/check-symbolic.symbolic.png | Bin 0 -> 324 bytes .../assets/checkbox-active-selectionmode.png | Bin 0 -> 346 bytes .../checkbox-backdrop-selectionmode.png | Bin 0 -> 352 bytes .../checkbox-checked-active-selectionmode.png | Bin 0 -> 583 bytes ...heckbox-checked-backdrop-selectionmode.png | Bin 0 -> 577 bytes .../checkbox-checked-hover-selectionmode.png | Bin 0 -> 614 bytes .../assets/checkbox-checked-insensitive.png | Bin 0 -> 577 bytes .../assets/checkbox-hover-selectionmode.png | Bin 0 -> 346 bytes .../gtk-3.0/assets/checkbox-mixed-hover.png | Bin 0 -> 388 bytes .../assets/checkbox-mixed-insensitive.png | Bin 0 -> 385 bytes .../gtk-3.0/assets/checkbox-mixed.png | Bin 0 -> 381 bytes .../gtk-3.0/assets/checkbox-selectionmode.png | Bin 0 -> 346 bytes .../assets/checkbox-unchecked-insensitive.png | Bin 0 -> 352 bytes .../gtk-3.0/assets/dash-symbolic.svg | 153 + .../gtk-3.0/assets/dash-symbolic.symbolic.png | Bin 0 -> 130 bytes .../gtk-3.0/assets/grid-selection-checked.png | Bin 0 -> 1131 bytes .../assets/grid-selection-unchecked.png | Bin 0 -> 330 bytes .../menuitem-checkbox-checked-hover.png | Bin 0 -> 285 bytes .../menuitem-checkbox-checked-insensitive.png | Bin 0 -> 363 bytes .../assets/menuitem-checkbox-checked.png | Bin 0 -> 367 bytes .../assets/menuitem-checkbox-mixed-hover.png | Bin 0 -> 158 bytes .../menuitem-checkbox-mixed-insensitive.png | Bin 0 -> 167 bytes .../assets/menuitem-checkbox-mixed.png | Bin 0 -> 168 bytes .../assets/menuitem-radio-checked-hover.png | Bin 0 -> 167 bytes .../menuitem-radio-checked-insensitive.png | Bin 0 -> 181 bytes .../gtk-3.0/assets/menuitem-radio-checked.png | Bin 0 -> 205 bytes .../assets/pane-separator-vertical.png | Bin 0 -> 148 bytes .../gtk-3.0/assets/pane-separator.png | Bin 0 -> 151 bytes .../gtk-3.0/assets/radio-mixed-hover.png | Bin 0 -> 583 bytes .../assets/radio-mixed-insensitive.png | Bin 0 -> 563 bytes .../Bunsen-He/gtk-3.0/assets/radio-mixed.png | Bin 0 -> 578 bytes .../gtk-3.0/assets/radio-selected-hover.png | Bin 0 -> 643 bytes .../assets/radio-selected-insensitive.png | Bin 0 -> 631 bytes .../gtk-3.0/assets/radio-selected.png | Bin 0 -> 625 bytes .../assets/radio-unselected-insensitive.png | Bin 0 -> 527 bytes .../gtk-3.0/assets/radio-unselected.png | Bin 0 -> 542 bytes .../Bunsen-He/gtk-3.0/assets/resize-grip.png | Bin 0 -> 187 bytes .../assets/titlebutton-close-active.png | Bin 0 -> 337 bytes .../assets/titlebutton-close-hover.png | Bin 0 -> 245 bytes .../gtk-3.0/assets/titlebutton-close.png | Bin 0 -> 252 bytes .../assets/titlebutton-maximize-active.png | Bin 0 -> 229 bytes .../assets/titlebutton-maximize-hover.png | Bin 0 -> 223 bytes .../gtk-3.0/assets/titlebutton-maximize.png | Bin 0 -> 222 bytes .../assets/titlebutton-minimize-active.png | Bin 0 -> 170 bytes .../assets/titlebutton-minimize-hover.png | Bin 0 -> 167 bytes .../gtk-3.0/assets/titlebutton-minimize.png | Bin 0 -> 183 bytes themes/Bunsen-He/gtk-3.0/gtk-contained.css | 4588 +++++++++++++++++ themes/Bunsen-He/gtk-3.0/gtk-contained.scss | 16 + themes/Bunsen-He/gtk-3.0/gtk.css | 1 + themes/Bunsen-He/gtk-3.0/gtk.gresource.xml | 56 + themes/Bunsen-He/gtk-3.0/parse-sass.sh | 3 + themes/Bunsen-He/gtk-3.0/settings.ini | 3 + themes/Bunsen-He/index.theme | 10 + themes/Bunsen-He/openbox-3/bullet.xbm | 4 + themes/Bunsen-He/openbox-3/close.xbm | 4 + themes/Bunsen-He/openbox-3/desk.xbm | 4 + themes/Bunsen-He/openbox-3/desk_toggled.xbm | 4 + themes/Bunsen-He/openbox-3/iconify.xbm | 4 + themes/Bunsen-He/openbox-3/max.xbm | 4 + themes/Bunsen-He/openbox-3/max_toggled.xbm | 4 + themes/Bunsen-He/openbox-3/shade.xbm | 4 + themes/Bunsen-He/openbox-3/shade_toggled.xbm | 4 + themes/Bunsen-He/openbox-3/themerc | 100 + themes/Bunsen-He/xfce-notify-4.0/gtk.css | 57 + themes/Bunsen-He/xfce-notify-4.0/gtkrc | 64 + 97 files changed, 13510 insertions(+) create mode 100644 themes/Bunsen-He/LICENSE.CC create mode 100644 themes/Bunsen-He/LICENSE.GPL create mode 100644 themes/Bunsen-He/README create mode 100644 themes/Bunsen-He/gtk-2.0/apps/chromium.rc create mode 100644 themes/Bunsen-He/gtk-2.0/apps/claws-mail.rc create mode 100644 themes/Bunsen-He/gtk-2.0/apps/gmusicbrowser.rc create mode 100644 themes/Bunsen-He/gtk-2.0/apps/terminal.rc create mode 100644 themes/Bunsen-He/gtk-2.0/apps/thunar.rc create mode 100644 themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_active.png create mode 100644 themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_default.png create mode 100644 themes/Bunsen-He/gtk-2.0/apps/thunar/breadcrumb_prelight.png create mode 100644 themes/Bunsen-He/gtk-2.0/apps/thunar/sidebar_active.png create mode 100644 themes/Bunsen-He/gtk-2.0/apps/xfce-panel.rc create mode 100644 themes/Bunsen-He/gtk-2.0/gtkrc create mode 100644 themes/Bunsen-He/gtk-2.0/resize_grip.png create mode 100644 themes/Bunsen-He/gtk-2.0/xfsmlogout.png create mode 100644 themes/Bunsen-He/gtk-3.0/Gemfile create mode 100644 themes/Bunsen-He/gtk-3.0/Gemfile.lock create mode 100644 themes/Bunsen-He/gtk-3.0/README create mode 100644 themes/Bunsen-He/gtk-3.0/_colors-public.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_colors.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_common.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_drawing.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_gnome-apps.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_lightdm-gtk-greeter.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_unity.scss create mode 100644 themes/Bunsen-He/gtk-3.0/_xfce.scss create mode 100644 themes/Bunsen-He/gtk-3.0/apps/granite-widgets.css create mode 100644 themes/Bunsen-He/gtk-3.0/apps/lightdm-unity-greeter.css create mode 100644 themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.svg create mode 100644 themes/Bunsen-He/gtk-3.0/assets/bullet-symbolic.symbolic.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/check-symbolic.svg create mode 100644 themes/Bunsen-He/gtk-3.0/assets/check-symbolic.symbolic.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-active-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-backdrop-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-active-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-backdrop-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-hover-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-checked-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-hover-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-mixed.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-selectionmode.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/checkbox-unchecked-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.svg create mode 100644 themes/Bunsen-He/gtk-3.0/assets/dash-symbolic.symbolic.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/grid-selection-checked.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/grid-selection-unchecked.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-checked.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-checkbox-mixed.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/menuitem-radio-checked.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/pane-separator-vertical.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/pane-separator.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-mixed-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-mixed-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-mixed.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-selected-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-selected-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-selected.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-unselected-insensitive.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/radio-unselected.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/resize-grip.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-active.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-close-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-close.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-active.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-maximize.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-active.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize-hover.png create mode 100644 themes/Bunsen-He/gtk-3.0/assets/titlebutton-minimize.png create mode 100644 themes/Bunsen-He/gtk-3.0/gtk-contained.css create mode 100644 themes/Bunsen-He/gtk-3.0/gtk-contained.scss create mode 100644 themes/Bunsen-He/gtk-3.0/gtk.css create mode 100644 themes/Bunsen-He/gtk-3.0/gtk.gresource.xml create mode 100755 themes/Bunsen-He/gtk-3.0/parse-sass.sh create mode 100644 themes/Bunsen-He/gtk-3.0/settings.ini create mode 100644 themes/Bunsen-He/index.theme create mode 100644 themes/Bunsen-He/openbox-3/bullet.xbm create mode 100644 themes/Bunsen-He/openbox-3/close.xbm create mode 100644 themes/Bunsen-He/openbox-3/desk.xbm create mode 100644 themes/Bunsen-He/openbox-3/desk_toggled.xbm create mode 100644 themes/Bunsen-He/openbox-3/iconify.xbm create mode 100644 themes/Bunsen-He/openbox-3/max.xbm create mode 100644 themes/Bunsen-He/openbox-3/max_toggled.xbm create mode 100644 themes/Bunsen-He/openbox-3/shade.xbm create mode 100644 themes/Bunsen-He/openbox-3/shade_toggled.xbm create mode 100644 themes/Bunsen-He/openbox-3/themerc create mode 100644 themes/Bunsen-He/xfce-notify-4.0/gtk.css create mode 100644 themes/Bunsen-He/xfce-notify-4.0/gtkrc 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 0000000000000000000000000000000000000000..08fa7d0559b0f23d4fbfe7d1cc6e644d621c1f3e GIT binary patch literal 1198 zcmV;f1X25mP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyk* z0Sp25rcZkS00b^cL_t(&-tC#sYZE~f$7g4=ZGJR4ByFLjJ>;f;fOt_)f)?~p{U7w) zOQAW%)@-2*IrP}0px{A858_Sm>_KvCQ(6kP2a_~~nk7lIGhSSoOy8RyIaSEQvXl9> zJD>T!H*Y3{Os>gwoh~O%)M~X9rS!vKFu2D#PfgJL1>`sbLdfm4wY48cAa{0lzHrVT z6bc36x-M}XC+>yyY^vp02%k>maLcllQ3Vh-KMq)|r`^$x}){ zRw@;WeN!S%FvilJ=Yh)8snSM?x^_BcnJP6-WA74GCyocopP!%idcEGQR4Vn75K>ku zQhaedOYu_#3aJ%RpR68nmUU2}HjsLBs#UeYz8lLg7K=&7*y`5S)>AD=$h=f}GE@j0 z_)-9jIB6CO!IeI+34`jZT!ozPc^+9@Tud^?UirR%LkSX6pbjbo7E^efh6Z5b`%DH5 zsT;Ed6R2WdI-MqSb8|_~`R5=AGD_3NR%R8z_{QLw_+6XD#HKA)CQr60(An8pn$2bx z27|#Ht&fx&>wKB&gLL2^-(+gmCV)*;FS|9}!dfgAldkLD-`w0>MSY~{>MYKxNj=rz zOv_DFsVkE$PlPD~)y2-GQYlRcscvj++(i{>8md4LRe`!HfS1ip2UWHLQ=lewO<;PS zN0yeBQiPCC<#Ks}VlmseaUi5@mBM9Zo37lDl5AFcY>c{HlX&HFIg-!kGt<-4@8~!k zOs)~|L&jJ{g`JJ{eid8sv9{1YS2WRBU4{b~QL&8>RQqikWw+aH)@(LAj^jK|K%J{h z71~nCPnC&7`B3PkE7O6u$(Q?q`jz4LdOdP{eB5JmyHX+)F-`Z zjYcCJ4u@~6)#~djr$4f^A#=qbK|rCa+A&9zX`o$j6Dp3pfjN{x&EK)51#jLG*QXOfB*mh M07*qoM6N<$f->tgj{pDw literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..57b41e94753d7419a4b76a94b20755dc26b1076f GIT binary patch literal 725 zcmV;`0xJE9P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyk* z3l12qYyj^700LD>L_t(&-tC#OYZ_q~hu`nK6Ys9zW}qM$f++3cP}<3%rArDeE$QYT zU=fE(vShQA&YeX>D>#I9X&`f;gG17x7!5hPBvQ2);#I4k_U^v>x-^oscWTYj!u!Ar zAKW`V-0yze9RPy-OOW$JrBad4&d%OaO7Akp6jU?8;GExy$K#*o61ly-z2otC9z>&2 z@cDeG?-$Kx6Kb{ESI+s3cs#Dp6j?5php|{pu`CNr(?o+8I6gi$yWMU@)3ke;OvZNF z5zY^cF-1`nl<2_n^0FjJ((O0+_CHdQ1Fn?9l_ zLO2|j2_bI^g+gSiNEAAKR8@swFerOGo}E&uq+S#$Iz=0CXK86k==b~AbzLt5z+=~F zBePjqS@C(j-uwA{{y9eb3PT8iNF<^XLSE%^xfn+K3V6L<2!%q*(b3WSY&LsSbZTv6 zKKy<^1OkC;olfVS=oD?_udo2&%V zMtcDmV{mYAFa&@^GMTJiYHci=`8hm19Ga%Nl}e?`t{*Ls>71OLn7v-_vm{B+9A6PJ z+Oz3)yU=JfC?VuwB9Sm%MPjtw8IQ+Muh&P6u_x>6>tBAqj;%chwrxYTTK#TW*6WRp zja{dmiAX^ZhLlnjMgEDVX+K7z(Z|7H@WO3pQZ}lp?(XmJgKgVr?gH(0n|C@L-7t(b zxBoSl?nuKhp31WPVQ+8m7Nt}`g%eCc5LP!gH+58j{6G8zQAw$Qi0v2Q00000NkvXX Hu0mjfSujYn literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..dbd7bc73b34dc48e3c95341e448b81d55f79afd8 GIT binary patch literal 724 zcmV;_0xSKAP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iyk* z0Sqm~ej}Iw00LA=L_t(&-tCz|i`qaG$7eLvsJVEoo)$q$<6fk+2kD`um+jipvi$<$ zA!SeX8(2!u{R~wWwltRtdv&3R7waN|dJyqoBUO}CN)mJ?Gd*lw>~7SsduieQ;K4v% zEwU1lzu#~rvRp2o_KyY!nH?HkTj> zD3M46FvcHMRlT!OBnaJHk|d#>ot*&2_@q!MgjPigtB>~b24FprNW?Rn%_5AkBZSZk zNaPJF9*>JYpYO@>@$nnSVFQxf51-xL-4Mq3eX&@4=$J^r9ik{AS(bx>Abcqni?;=* zsSUUz91f#sG%9JDrV38`NWeXeF-j@5A(1y=G#atNV4zb5b}EM z5fPHPnaN~=dcB^>Ie(@o3UL$(iQJ53S*X!ySd6ikilThKd>s<$0?s+A*XzFsAs-G8 z4^N$XE<}30Uc)eq5Qw}=tJRvDrul6=9>3lCgD2q9o@1x?eqrfE83>|ovh zn!ge`olajxqtUOGO68tqSsqY$4#t>JO80WPoDMdC|A*g0&wb)gE0w1J0000{XE)7O>#E;~CHzr0t=RS}?&zo(01h{fsTl!Sy0=?aVnMg|5a zCah}g7vc5cQDG8eV{7|wa@C<)owtYg|H+LH|7UENw4zaPRoleI#)tNXe!u#CE+4f|Nr|9HKiE1HVHrZ!4+l-G@8NF)z4*}Q$iB};b}aH literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4aabef3b8ba1528af43bb096bb0985987052fc49 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4%JB>7u;-UBJd;vjb?hIQv;UIICs0X`wF3=HYh zrcK+tdGo9tv6dheB|(0{3=Yq3q=7g|-tI089jvk*Ams%fk;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{Wh081HYoJnCMoZkesKBV+hCf*v}LOBXfTrMqa3s$o*cx5qN UcX7PC5vY>E)78&qol`;+0I)_X-v9sr literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..609a954d3ce468fdd07cc0ded03497dfc15823f4 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6n2@gAK?!X0G-eNO2Z;L>4nJa0`PlBg3pY5H=O_IpfRqT1>fT)s&_Atg^2#}JR>Z;x!`WnkbqyrJX&`L}WZ8Y&Dttr+wtt9V*v ZFdk23aoA+vl@C=n8Ax;1Q literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2ccb0e861afdca8a43bb6c1016fc67817865e41b GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK^1VD=978lF zCMQVDZ0K!lTsXC{@u8r|b^`;04MK}If_U~)d1`KtlXaxz7ilLQTJ+K0FzJSgo>CAG p^9Cb_KVJm8q$N9e<~(F$@O&n`dE0-6tw2*5JYD@<);T3K0RWo^EJpwU literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ee7acdc6868e0bc4ca0390a91c32ba39ed51939c GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&AOk^)LNZHo zQW@Oy@^e!af-7^A@^dni6+Dyk^AtidQgc)LmT0a9DxK!(;uxYaaqoFwuEszSwg>I& zm%KT2z%J)NOjtq+W15kHa+=$zfV8j#)??QaQdX4suG^Kj?~lm)7bW-R1-IL$f8mu< zu3^%e;Z}0)v>2OehTKKbxm(sG$)EOY6DyQAIJ5rSB%_2jrqe0gJKN=gj_Vyho?^G) z;}hP1!)AvW)lE)cuw}i*xog2+uB8>CiT`7#JbJhMMfpy~|CiL?ORTaC2D*^J)78&q Iol`;+0Do0=B>(^b literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..283ae530cb7bb7b374b61529be11b995acc72ea1 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqk1!vvd|=BQTcD6+iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f0cPZ!4!i_>=}+pat0z|*q->okR38uslT=OzfNxcmA|FkW&; zcum+!fdH%Dv)EY_IXpZ(b`%;LZ#pjbqip8?eXn=rz2BQY?|FNIpyK)BTifn3ws$++ z|GrU!>(r(rQNIHmLM4w2zPI(gEWyCYp}1xe=}pIv*%fv07Eg`ljg{$dk~sP{(`E_y56+EdpXEizf;k z+S<^uC*_WeK0~0$-e-S!{?Fswm%ix_ q(q)bx)j3k=6B=s$;KwwRc?|WAjuTcq@3;l@6N9I#pUXO@geCxjM}`vs literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2f21288b6a1c37beb11a81b411f408f56730e5ba GIT binary patch literal 583 zcmV-N0=WH&P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00FN_L_t(I%f*wiOXOe>#eYez zu}ZZzUMcKWRyJ!Fk%fgcYq$S_<@U<{4_1K%i*z>H%G%%NT7#vXhgSpwrZGDCd{!Ga z;GNCE4Gc5GH;;MqF%SN?dF$l%_Etqv@c#b($7bL6>GgVyMx!-u1i*5+)ZN{k%uIhX zGt>S3y>4!91pEM&0HkRuGm~@fOE1e(gTX++Z{WKR;G81}0wf{nQ~Hv4etss7V;&wJ z04BgMfBh&4&+{;|w%+urs)*y5)oR7b$qB$u03T>S?)?0m!^1fqo&fR2ui^!E0qi;IhP&klqA{e1wkEF+F%9v>gu z$-BF|TwY${`#xsYWsoF^%uHsc`Ft)wfVQ@_1Skwc<$12x*H@XDk|g<@fthi3cE)@@ z2jJ!9g&+t>)0BR{k8_UAet>TPp65~5H9-*2G!3Vxr-WfhmSsdy#CSYz!F65Zd0zLF zudlDQy}ixe-X1{^0JL#^C+nE!IYm)0nM}Nn7Ot+Y^z`)fr51K}b~rvh_Wqd~KLD)D VMTJE*NH_oh002ovPDHLkV1m7q1g-!8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f29b8016f09660b8bd63e9cbc314f0603c3fc826 GIT binary patch literal 577 zcmV-H0>1r;P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00F5#Dc>@U|1k)&9gII~ZVqs}#YiDO;w$=+s3OhT&E+FovF@Yt4{B5(zD!U(F zv#)g z=|h7!j=5g1IF5s^>)(K=1n_t~&@>HE6h9@X*XxW%BY-mSRRlm6h+1Swfnx0VHjAJ#bh!8_zoZf1@>mMLDMvR-+w#( zRXm%`P*wH!wQ>T0^ZATz+w}YW!sJ!l?RHtO*F2xkcY~au)9Ce1VJDSLnKKej$`KYIkGHc+cv7IqU(Ag4#N;Z5Z+7KG|h3f zTBY4?BS{iK5%W69e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00GWPL_t(I%f*wwixWW<$3HW> zLJkagU_wa9d4j)KL$DHrU~`y4MM=Oy4zUmpL9g+TIJC1mwY)n!N&2L)vC=9RuSpR} zP6?51va8_6*`2YFT@y6e2o5~n8|Hn#?>lei!T(+&4%+Ruaa|X!^}=K+C7DcyYPBi= zUcK%b0nlo-OfHwhaU5*hUPuszA-!IY4~HXm-Y=0lB9Q>&@fgQ(kW!+xUT9KE^7%Z^ z-@#`;WWCI`4G={UmSrXKg%H10H^$)mKAU@eKKYWZdWNf&(gPVE8ew?+3&v^8!G@fIQ+u?(Bt85KOva~ zUplkQqiZLbOeXULv4Zo(GywZUkIlV4V{e*(SB@|7_|^%elqjVV0y|cqwPw9i;A;@_ ztUaJJ@VN2hEmNgAnzDI%w?sOfN_z4~1xhJ4)>gQGWfg#_(nu-Tx_yq-Oo}Lqn9WZV z2q6f90L!un!;p=&BI%SxXXtbB)G;b&mlJRh1ar?U0GiFF$!4>Z%VjLf0!V!PPh#Kg zc5z*oTCFDLW}(q&n9*qT*I6hO3e@X$@z1952cG!>D%+;cY5)KL07*qoM6N<$f(H== A_W%F@ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f29b8016f09660b8bd63e9cbc314f0603c3fc826 GIT binary patch literal 577 zcmV-H0>1r;P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00F5#Dc>@U|1k)&9gII~ZVqs}#YiDO;w$=+s3OhT&E+FovF@Yt4{B5(zD!U(F zv#)g z=|h7!j=5g1IF5s^>)(K=1n_t~&@>HE6h9@X*XxW%BY-mSRRlm6h+1Swfnx0VHjAJ#bh!8_zoZf1@>mMLDMvR-+w#( zRXm%`P*wH!wQ>T0^ZATz+w}YW!sJ!l?RHtO*F2xkcY~au)9Ce1VJDSLnKKej$`KYIkGHc+cv7IqU(Ag4#N;Z5Z+7KG|h3f zTBY4?BS{iK5%W69=}+pat0z|*q->okR38uslT=OzfNxcmA|FkW&; zcum+!fdH%Dv)EY_IXpZ(b`%;LZ#pjbqip8?eXn=rz2BQY?|FNIpyK)BTifn3ws$++ z|GrU!>(r(rQNIHmLM4w2zPI(gEWyCYp}1xe79^7Cd=QFNC&PxjcOCZ3SKu} zN@LAr$`x=?)t=6>P|a=9q(#!v6J<|yJ!D99e(>R5`{R#tf4&R0S4W0kJtyIO|NG=5 zP1Qn~;Au~Ven>Es#{O3E^tddt^oq&>OZVH`B$73{oESV9vfr+ebkKC2mKu@0e>c;I zd*^2z7kK|y)4{9q>VspySQ`YAG}g?&uhy$STm9VE?&3$Uzy1BicdYg5aiF4?o-U3d7N?I+KAYQOAmAo%=EdGIUuglGR)f$Y+a;_Tj8QiZ zFJoQNAZ4+O>GYzOHHCVShu(FmUUciypXPS|yN&U@#{YKruK&GMdUy4;S(Wq5k2-NY zvRI~by8J;hvax4;Zh!Nb Zzm>XI#&kw?CZMMoJYD@<);T3K0RRtilN|s6 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7b266a19a4d2dd575c4ccfaa6273aa80b11cab08 GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqk1!vP?6Qex0)Rr2C9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3hti10pX2&;y^`DJzX3_EKVPt?3>qYAmBFt?VG67_8*oka~g#Y-04Yd%o{}W_qN$ zo_9jfzg30Ve;FM(HnPlGcGKiq>Djga3cPb}mx&ilKWG&YdNo^hPJE?>jrQNuzA+5v zb}m12Zs%(K=?sA)3%Ax;982GPZI%Jg`?80*5^d)*XO)#Jaxi_esb}B!FGYGkW1qKI V#`(|lR{=fD;OXk;vd$@?2>=JhlnDR; literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..283ae530cb7bb7b374b61529be11b995acc72ea1 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPqk1!vvd|=BQTcD6+iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f0cPZ!4!i_>=}+pat0z|*q->okR38uslT=OzfNxcmA|FkW&; zcum+!fdH%Dv)EY_IXpZ(b`%;LZ#pjbqip8?eXn=rz2BQY?|FNIpyK)BTifn3ws$++ z|GrU!>(r(rQNIHmLM4w2zPI(gEWyCYp}1xe=}pIv*%fv07Eg`ljg{$dk~sP{(`E_y56+EdpXEizf;k z+S<^uC*_WeK0~0$-e-S!{?Fswm%ix_ q(q)bx)j3k=6B=s$;KwwRc?|WAjuTcq@3;l@6N9I#pUXO@geCxjM}`vs literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c20d4bac52551bd00de0a3e70d1a2f543d2256d1 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xamSQK*5Dp-y;YjHK@-01G978lF zCMQU+x-jOmv9+o5@bLUEd~h5{#oaKmJGPj!P5z*Wap2*VaV$BtM-Ci#;K|$FX3M}J Xy+bPFNlOG1&=3YsS3j3^P6xplFeVMFc_gLJS(Th!$y!U}i4Nrj&sh+6@E|1IE+^0~OPr=b42! z$+VkUS&REy9?$=r4-eQvD@u99FFe*0}uh`RaN~B9%z!6#@+1Ua=AD@J_gVN ze*r(={Ql})yu7^3;o%{XNCY4Nw5h79-2DEk!2SJw#>U2oL?Yzm za2QFFn3_n2Jgt2He%IWDTO-)V6 zvYb>CjYer~Y~<|h3`J4UXfzZT7qhmu_9$Fhz?zyG91cekG8_)$^?K>+>r1M!SS%bJ z9dUJa1;ozX-rio)8qWd*XlrX@VPPR@gHR~M_VzYYQ&aJ=iHQl^Za1M&2#B4#)zwvu zM&qM#@QAy3U|@iYiwmZwr{jknVohVS*{Gt|a7boYU!~yuAELIC#Qcyt1-FdwY8lQj#PF2M1|sX?ZdZo&Xd= zu(7d0Yiny9snh8&8jaZP_GiI82?#Ny)9GYp-Ak0eR#?(U+~J>QG^v#c~eK91RJ zrl6pJl9H0=STdfk0%ciF`@eB@b#+F7R9EHg+z0#&yq}w!%V^UK^EuUE$}^}aiWxY6 xQBGpczwDWmH~0DNZeIP<$3yuBd}`i2@P8|yYFv3#6!HK7002ovPDHLkV1ht75di=I literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..318f4176e9d3867486aa20dcd8acf152d70334ee GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEEX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4icZF0OJrH~v;Y5^V>c2@niX554OE`in4d8Y7v05VrnX?~o5uXa9hyAH0w?wX Py~N<@>gTe~DWM4fhnRe3 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a0e3ca2eff645f30e3e2d0fea98a5ddadd623ad5 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)GdCx3>Kym!Y}$V})9H|pQ=7{w z`36CQzfU|}Ke}8BykwE~iAkeDCS%G(s{_Z*#012DKE|3cy)*j2N#XC4QquTt{Jh01 z(YDLv&Ev;h6<)7AXL)O>oSjp=y}ml_z|44^)ibWLu8V(^+w-{g0iR5R%C`hIhs|vJ aKQbM$pC(o@Q9}giY6eeNKbLh*2~7Z-vS>>H literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5b8c68796177840f10a5af038ec389877f159fff GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)GdCxXLe_nr(?Fpgo-U3d7N?(1-s^QZL8NWI`HYhX z9e1S^l?N%sH9VT6&v)=(=$z7bD({*qSogNDT<&+^@VF~e#oqMb*`jrgmumFbZV9yS z`sVZeyY2rCbyJ@IY~1>7%hbK1&Am%JFPpS$Gxr>S%RTrMchc6g6@*wH|ciPf$osP7qGo zxXt?P8G|$5&&EgCUyOQxw6NyN&u?8Pybj+vPXeKZQW}-hV*&QeOIsA#jdmTimn0sz6R#xGrx^~99t0d z^Xhc3mH7$M7F%^z3r>7&b3VRp?N=|~%O$r=&I)h1?JT;};F!*_w9B&{r=`x%z0G#O z=%r-*R4$k!I2khZ6bV~EA++bT&E}WHE^H tBpg(7(}%rwHrf0}fY#LMEOrjv*GOlmGnxZ_ljS(Anr@ki{U% zli(jRXq(G3Qbh`n3x%6H}G<5+-O`5)X(7Q>gTe~DWM4f DZe}b$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..28ef0f7abff6adc967cb3f91983abd0757a30b68 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE%r?BB!Q>EoVAyZEm#}JFt$$$R;w`W#u=xlT{$YK!X zNpKV|C@efEy}tU}o5Uq+x#RX!D0+4=_AJ&c6p&zG2wBPVPM!6iBG3Q^Pgg&ebxsLQ E0H{zcWdHyG literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f1b8c38d038ee657da53015b85e1f4108611ed17 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEZGA;i(mGfI=poE{-7Z%`dk14ZppcWNi(`nz>Er|nRuN{m7$NUzI-JP~ z2^oz=*-1%BVS>2~A)mcW9v0-Z89Xd-;GURd!K)zkz-U36hv6yaLXiMQ1_twXK`w#E SLOwv#7(8A5T-G@yGywoG`YR6r literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e0c5c3e533c2bd602a7d7dbce1f57fbf42bd941a GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEaS&)XfRkfkIK9E{-7Hak`=SWqyx rvGHI-W8*_vW@cxxbq+GDAq)&Rwux%F)JjPKZDH_q^>bP0l+XkK>|iuq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..060cf03151ef8531a287cd73a3dd39373f920eb6 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^96-#>!3HGPo$&JjQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#E|WB`q=D929gt2%PZ!4!j_b*DY^%T3ySpFPoo`qB k3CPxAo88&Sps<30q35-T?^*Hc5TIfPPgg&ebxsLQ0HszY%K!iX literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..616ec90946787b41dc9dd55b10268580d47b8f6d GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oVGw3ym^DWND9B#o>FdgVmr068*<3>|>i|$l#nZ(xgyVYh9NX$|^=ujmdy1c* qOOt4SdU?73zJhZ%H>Ya`u`%@NNuK$%tUME_p25@A&t;ucLK6UKO)BaD literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1dc344a0efe47ba11e65fa4a83d49f8c6f4f33f9 GIT binary patch literal 583 zcmV-N0=WH&P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00FN_L_t(I%f-__iyA=~2Jk1d zj_fStyu!wyLJA9;+a;eMEH=x*#vG|kmF9|T^AXafO^P&E7*t5Oi$M{wNVk=QCC!vq zh}vm#0cT)mXHp$xIo&Fd7p8gP`OP2Z1^#zE*wcH|?RE!3h!dsM!$P6(n=$sITrPhI zg5YBwKzhC2b(*H3=Xt2t>tKvwx7%T{SRjsLSeEs*)9E}1pzm!v7!1CQ$73UeFiNR= zO9){`qmk+N`@_F;1OTSf=}WEkGvD_?DcyTlN-2Ebht@ir&1Rhpu-$IYUDrJrzN=!f z2-kJ7*=)}5dIbQGQl3<+RRF-N_whmC^1?%{R>OQgcQb%7=7=!{0Qi3MGxrpXF&JZx zG61FYR!Vv7I1ZjXKF$S%5TKOaW&p-myj(7yHX03FUU<2{YPAAmEY3V)sZ@H$IY*Kt zx#1*9z&VHGIBzpRtJV5U2)T};2ui8FVWkwJD1v2KS3wYr_x{A;aQMj>bJlD&QK?j5 z+cu<>Sg+UMoP!W@6^7vp0OsHe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00EmxL_t(I%f-{NiW)&22Jr7@ zon>c1glJ<>FM+ezChIdS%fU8ct1sd{fzB2xr%xro|av=H3kW_IT) zi{*5yK>p4oO>-D|@(C>iBWb#-n7C(8O2TJL?V@WBoTrP1sou0eh z?);Jy0GQ9`4{4g-ECT?g6rSfHP1F0uV)2jxj>n_py6(;LWlYnA>$*4`4$dVj0Dusp zT&vXp0E5BcCJ=@p>h(HSt5rDzXssz@3;-}34s!v<7_`x9CiPP!S*IIve90%2E6_#Z|2!Z{656(FVAy4ggdy%^f zv)Qbnl=>osD5q&^5<*@r%lexn$+u3Yv-{`U_y(vsriYv1u)P2P002ovPDHLkV1n_P B?g9V+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c0db5e79b59384ab17121eaaf23d12801ee3db69 GIT binary patch literal 578 zcmV-I0=@l-P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00F8=L_t(I%f-_%iyA=`2k`&R zI$+dE z05TX19+D*S8jS|3)hZZcI2;aGtyT!b5Qbs=Xt&$f0Mv_XN2AgA>2#_&=UPhn;&9IO zWHQmi;c)zSjsU=XK7X&2x^f%`l+vTKQcB@C4wO>fVzFqafc<`dYuon8@N?z!dDym% z-EMdL+{*!g5aP02E&~9%-R?=i_kC0<6)cxaI|XR1&lzI?fL^bc2{6W>wLVV)l+q_5 z#B0m4(CKtC$KafUQu>qv7-Qjjy?#@x)!_SnCa~FTz!(ctk60)aK1Wf6IF2*JaU3Ix zB3PF7DFrl}&2NN|had050y6*JoPaKcOU$xfn>h(HGr4mfjgb)JT z?G{lKfe>=h($ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..01dba20d3f2be41d37d230c98776df599237161a GIT binary patch literal 643 zcmV-}0(||6P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00HYsL_t(I%f*wyYZ^fq#b0(E zyCZE3#fxPX$t8GbRtWT5_9lgmv^m*RF8%{O_2i+~T$4k4w5S9U+@OfaQs^HLmR>eF z1tP1LplJkWz}=Z%5|br1r$Pq?X1?M5=JD}9;D4``CAC+zTCK?#+YEx>MJyJZQc8cN zQmL=SV)6TvfO@@dhhb7Gm&@Brtu&j>R;SaEj4>Gm z!K2L>lkIj}HX054p-usSUa$922(fLNCI}(-_Ezo<5<*~_CWH`HzuzxM0F%k2Vi?9k ze0jyNd*I^D=bzX;aB+FX008lL9EM?FJRVmf0M7ZQuIr26s)y$|y|@OShd8~sM)mM~ z@s`PCz!)iWJ901!f;y0d|;^))2oDz?_wP~F*p5CQ-&91cM#b?*Q%07xd2`<~~$&E;|+ zgg}4!4BslRBQ8``#e6=8=XppZ5_^ww&}y}g9mkQJ^QAf9oJ+@Xq;12w;Jrh#*g(P#wE^Pniov1M5wo}7hlxBD&#f=`_Df)FC9D9Ue5)7&r&zm!U) dAOCzB{{Rjr_^9d$O!fc(002ovPDHLkV1myv5^n$i literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c544b2d7106867569d30f7ae8eb2b90b592ba674 GIT binary patch literal 631 zcmV--0*L*IP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00G}gL_t(I%f*vVi`qaK#vdn+ zWW*p;FBWwz?!`-^Um%bm3%Q6_{Q&t;xeDUdli1)XkYgh~G>1TUx1wIQdJvM({Oe)6 zX@kq23LO}jd57osKJU!D!2ceFS7PPaY&P_L|6LSCv{)>LjImR_UUyVgb>9LM=JWYo z9LG2Pejn|28;mh{o`>CThwXL?j^iGu)9EJw=@nqHSlkJM&`}fxl+r6(VHjew+2C@y zJWeK)^-G)pzID_e4?5#IEZ?mSqTn09lsd zy3eJTN+pP*h|}rR%K?HQs5P6-ESsijFijJl=fN~hXquLtwOTFszF*4$(ln)vG5lV` zw(VT~wrwL#pYM$^hBQrS4nQdlgCNKRgTWvN_n6iD5dCjyD$tR_Zox{gkcEBaZoOozvLVY zhr@4#kO#}M5JeFPA>cSJn}iTVQ3T7fz;WEYs;b{#{fW!va+s#+hhDFTMxz0q=Me+} zj>jV$#{nVael!{xZ}!4!wQ5IE^f3s6T9PCsLdZ{^=YPa;{CPYcAO3ka{sMc`#kq}@ R-`W5G002ovPDHLkV1m1D5r6;y literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..80f218f82ad93a5b37074403592145ce3eecb6ff GIT binary patch literal 625 zcmV-%0*?KOP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00G%aL_t(I%f*vHi`qaG$Nw80 z$%w8OFZLjUCoheDfP|WxELdB5viJQ0{RqAG+DlFWiwdP%QxuU9`VkU($stEkZ%Ve{ z447nk*=9Frdn$C`!MqvX|NY?oAMn4=)rGfbqtR%}7<(Q?Q8}N_|D=@us8*{+uh;wZ zHvwrp9)FGFxZiHKQLooQDaG-4#CpAk=XuEGa^Hr-;VS^iS=;G!I$JCjf-xqdC^`$q zn3&J!VltUnPwONASglrXlO%bm>pBP_k9b#)fP@g}x{f4C`nGKkGXjUh;Z{+Uv^WR? zbh}-Y%Vl)CT?9b@04Nj+P!t9G{r)zCZ<^*I48s&xRaF5X4OLaszc37iX_|)&fe_-F zQi_K=T-VJsa9tNd2mk=36hesWi~u3zo^zfSbUK}kz|)*D213YvMu1Z4Z8n>fz%UGG znub!T1WnUm7)DC4-EKiC^?nQF0iaT;eDr<)MWfLGAq3546Si$-YO_9;S177naNAO%z4%IOpvoNh*>gg|aMraU8!N3e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00DPNL_t(I%f-_%Ya&4u2k?Jp z9oZ*{aM}oJ?jX%JSwF+F1hx@d{d$7fT8RIC1FnX{;a!$x*X?#2tyT*} zgu~&0<#LI|Vgb+dUi$t1JplI!7>!1E<#PFF6h+{ie;P|`jrn|z{eJ(_>-DC`J_CU1 zbb4d0{W1&yoO47`1Z(Z}Y&N^e0lVEU2*dEp@Ue=;BEm4lcDoI7fKsa3Xf!U`db8Pt zl(L!woO7IrE&_-M&N-d~IOkd^brB$?1m|4m03v!@tyUKS>-8E$^p*oEmCAz<0$S^{ zVXZZU5Ga*Oe{w(^$4`v0ziFDn7;`dgj6s^F@I3E1Ns`x-mpC4eW9QtjAP7*e*Wvp< zlv3DiHV{I9G4|Z)bY^FNVKSMtj4`)Lsj9WM$Qb+Zeg8envftfqcm3bL@gMPOorBKb R*g60J002ovPDHLkV1fzQ;f??R literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9667f92ba45b4c21e408e1b702c01ee691d0761d GIT binary patch literal 542 zcmV+(0^$9MP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00D+cL_t(I%f-_%iyA=`2k?Jp z9oZ*D8ygR`x4HE*EH=x*#yhSuy-C0G%1f>F$6PM=n~0vvmVW=4hJlkOT=*u$8nxIoz67?b2N519R8e6r&da7wbn;1rL>dD#1007 z@!vTH0Q33$voYqA@B84KpS&yQ9KP?v7!xiQi%tgE?RH(y^WF^qseC>U&-1X|Zo3&k zDRo(`R?m9%TCD~trI!J$wM8O23m_s`Yl|6xbG}zfodrlK!8zY&03wQ4tJPV+dc6h_ z#TlSfDt!?`AW4#U!%31r2!TSO@Q?vot=135*eHr3Xsu6%wbqED2#(`C20<`A`4h+E z@po(OO{393rBZ?Gx=>1Cv)Moh0mj&47>2h1?3=qVo6WAY)^|#&rZJ|(7<+MDH%`;^ gzTIyB`sdsD3cp;pj1j{%yZ`_I07*qoM6N<$g2E%^=Kufz literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4aabef3b8ba1528af43bb096bb0985987052fc49 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4%JB>7u;-UBJd;vjb?hIQv;UIICs0X`wF3=HYh zrcK+tdGo9tv6dheB|(0{3=Yq3q=7g|-tI089jvk*Ams%fk;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{Wh081HYoJnCMoZkesKBV+hCf*v}LOBXfTrMqa3s$o*cx5qN UcX7PC5vY>E)78&qol`;+0I)_X-v9sr literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bdba751b7f745cb9756785affc95e08235354faa GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2a~84bEH?bBv9y{r;B5V#p$<`?6a5x1={y-*UJ9W z9HqN4Vgu(BruPin}Rs}1u&h9ts>R(NW zH@`po=L~k{|0j=Ht-n^ecRG9Ig*$6A-i6IEkAD93$Y#Sx1tqIlx{MxL{VPQh%w7o| z-?&rD!n5st{EYkQtaiul-YIw}-Z1~zhTgE-88@0Xgj&=TGQZw4ZFTRKFrMGJhaP=B zc}FDTx#_Dbj1|&v7%P726dw4n_udngr)wVUjAova`G3MXT_vlT>@Hi`#kRk5a0zkw e68De2h~;H^xYk6w1Zkj889ZJ6T-G@yGywonSBCBY literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b962c9ad8b24c3afa7c6f6320bf23a3c5aba2862 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2a~9V6u46X=j)|T=z_ymNu>YZ@8&PlghW_Y12-xpOod|(r0+> zX9H8i?&c+bSVB$&h2L@e@ke7-)t%6-y8mt+JQcI+(41gB#_El`nHj##4Ds0AYHREn lxgd}GErYVs`(OMQq@ONu<}?f_GzPkc!PC{xWt~$(69B>~S;_za literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..79809380ba8f2aafa19e2ef88c9e77fe85c7d0df GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2a~8eN443VJ3ygMPZ!4!i_>o>9^_?KX$5`14vUj}7r*JBT7Kl#hwI&Ea%SD!^V;5T@initQ)_RWdG^VF>g9s( zmd6+rl=L(lvUvqHR@#<^XRg*v8*jImE*RkMx+&-pn1=+j}wd(3B sdk@`KS&)oaL)Y#gIfvX>0gg4=GN@FI7x6n_YYAIE_EL9J=Nd&-Z8yr zwU?9tf^BLW4nJ*eY5B05A=2^Irs@ATW-3_;u-^C|JdN+(-s%y zf#-;h>ebW9Pj#1`+0f6T@_WxU zt(C2kWob`c95xBNurMr`Vk9@&ggJET-c9$`3Y_Ih`(~3kDR;}4z+A_fGJAKq=t=|a OW$<+Mb6Mw<&;$TKZcHQq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6375bc9651a59552f39fa1340dfe01223e24bc8a GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2a~9o>UgSJrz~OTKlH?tw z=u`&xlMFLIO!L?;($NBi+AOx=d7M$c6guAgg0M< zx;(j!b5ftWIcyTX62-`1`Mhw(N$DNC=PoQ-zi&cN)NX^5W>LRZ@J&#V<@*0rNf~G@ NgQu&X%Q~loCIE&9O>Y1I literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8a1b071089276dea3ce5ce8fed3ae06d206a30e7 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2cxKppxV(6L!gkkr;B5V#p&b(3D(0528+07n8f|+ z_dh(d%2vcy=LJ_!$kC6tD%vJ+%h^`7TxTsRD(YD*Xnuo%;o>1qN0X1u2|yzlJYD@< J);T3K0RYIEFtq>x literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4c44d6ae6ef9755a9aa970ab3b7f02e1376b065b GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~2cxKxWSz_MR-llHr;B5V#p&b(3D(0528*~YtgZha zU!M5>-d>HWhzp_}ot=Ttn#}X>Jt%GL=-_yqafH{5f#LmI4o{A44EKQg89ZJ6T-G@y GGywpW<}rH! literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f49bdac2cc3395266a207e6d0df73665beaa0b7c GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE({w$@cHh4-+>~W1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~yQH{@{!aPbEI=U_PZ!4!i_^(_%HPW|t2T5tIvHd! zi1H*jiq9~~yi{K!_36_miH}kWYHDtixFs$M3(3pN$BEbc`og)N`+{iCGG;5F!HyjQ VMSb60mI2LU@O1TaS?83{1OOC6GV}ld literal 0 HcmV?d00001 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" +