dotfiles

Unnamed repository; edit this file 'description' to name the repository.
git clone git://edryd.org/dotfiles
Log | Files | Refs

commit f7daf85954dc4759373536cab2e2ff2310630a93
parent bc287afd207b9c41f9080ca91669157858a0e188
Author: Ed van Bruggen <edvb54@gmail.com>
Date:   Thu, 25 Feb 2016 21:41:52 -0800

Themes: Add Numix

Diffstat:
themes/Numix/.editorconfig | 29+++++++++++++++++++++++++++++
themes/Numix/.gitignore | 7+++++++
themes/Numix/.hound.yml | 2++
themes/Numix/.scss-lint.yml | 193+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/CREDITS | 4++++
themes/Numix/LICENSE | 674+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/Makefile | 45+++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/README.md | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-2.0/gtkrc | 806+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/assets/checkbox-checked-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-checked-dark.svg | 7+++++++
themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/checkbox-checked.png | 0
themes/Numix/gtk-3.0/assets/checkbox-checked.svg | 7+++++++
themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.svg | 7+++++++
themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.png | 0
themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/checkbox-mixed.png | 0
themes/Numix/gtk-3.0/assets/checkbox-mixed.svg | 7+++++++
themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.svg | 6++++++
themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg | 6++++++
themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.svg | 6++++++
themes/Numix/gtk-3.0/assets/checkbox-unchecked.png | 0
themes/Numix/gtk-3.0/assets/checkbox-unchecked.svg | 6++++++
themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.png | 0
themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.svg | 7+++++++
themes/Numix/gtk-3.0/assets/grid-selection-checked.png | 0
themes/Numix/gtk-3.0/assets/grid-selection-checked.svg | 7+++++++
themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.png | 0
themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.svg | 6++++++
themes/Numix/gtk-3.0/assets/grid-selection-unchecked.png | 0
themes/Numix/gtk-3.0/assets/grid-selection-unchecked.svg | 6++++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.png | 0
themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.svg | 11+++++++++++
themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.png | 0
themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg | 5+++++
themes/Numix/gtk-3.0/assets/menuitem-radio-checked.png | 0
themes/Numix/gtk-3.0/assets/menuitem-radio-checked.svg | 5+++++
themes/Numix/gtk-3.0/assets/pane-handle-vertical.svg | 7+++++++
themes/Numix/gtk-3.0/assets/pane-handle.svg | 7+++++++
themes/Numix/gtk-3.0/assets/radio-checked-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-checked-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-checked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/radio-checked.png | 0
themes/Numix/gtk-3.0/assets/radio-mixed-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-mixed-dark.svg | 7+++++++
themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.png | 0
themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/radio-mixed.png | 0
themes/Numix/gtk-3.0/assets/radio-mixed.svg | 7+++++++
themes/Numix/gtk-3.0/assets/radio-selected-dark.svg | 7+++++++
themes/Numix/gtk-3.0/assets/radio-selected-insensitive-dark.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/radio-selected-insensitive.svg | 9+++++++++
themes/Numix/gtk-3.0/assets/radio-selected.svg | 7+++++++
themes/Numix/gtk-3.0/assets/radio-unchecked-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive-dark.png | 0
themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive.png | 0
themes/Numix/gtk-3.0/assets/radio-unchecked.png | 0
themes/Numix/gtk-3.0/assets/radio-unselected-dark.svg | 6++++++
themes/Numix/gtk-3.0/assets/radio-unselected-insensitive-dark.svg | 6++++++
themes/Numix/gtk-3.0/assets/radio-unselected-insensitive.svg | 6++++++
themes/Numix/gtk-3.0/assets/radio-unselected.svg | 6++++++
themes/Numix/gtk-3.0/gtk-dark.css | 1+
themes/Numix/gtk-3.0/gtk-widgets-assets-dark.css | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/gtk-widgets-assets.css | 154+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/gtk-widgets.css | 3995+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/gtk.css | 1+
themes/Numix/gtk-3.0/gtk.gresource.xml | 44++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/_colors.scss | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/_functions.scss | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/_global.scss | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/_widgets.scss | 36++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_gedit.scss | 132+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_lightdm.scss | 193+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_nautilus.scss | 77+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_nemo.scss | 36++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_panel.scss | 80+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_synaptic.scss | 15+++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_unity-greeter.scss | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_unity.scss | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/apps/_xfce.scss | 26++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/gtk-dark.scss | 3+++
themes/Numix/gtk-3.0/scss/gtk.scss | 3+++
themes/Numix/gtk-3.0/scss/widgets/_actionbar.scss | 106+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_base.scss | 100+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_button.scss | 361+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_calendar.scss | 29+++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_choosers.scss | 125+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_entry.scss | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_grid.scss | 48++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_infobar.scss | 38++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_menu.scss | 250+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_misc.scss | 227+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_notebook.scss | 126+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_osd.scss | 131+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_overshoot.scss | 119+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_progress.scss | 173+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_scrollbar.scss | 86+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_sidebar.scss | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_spinner.scss | 24++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_toggle.scss | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_toolbar.scss | 123+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_view.scss | 191+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/scss/widgets/_window.scss | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/gtk-3.0/thumbnail.png | 0
themes/Numix/index.theme | 10++++++++++
themes/Numix/openbox-3/close.xbm | 4++++
themes/Numix/openbox-3/desk.xbm | 4++++
themes/Numix/openbox-3/desk_toggled.xbm | 4++++
themes/Numix/openbox-3/iconify.xbm | 4++++
themes/Numix/openbox-3/max.xbm | 4++++
themes/Numix/openbox-3/max_toggled.xbm | 4++++
themes/Numix/openbox-3/shade.xbm | 4++++
themes/Numix/openbox-3/shade_toggled.xbm | 4++++
themes/Numix/openbox-3/themerc | 133+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
themes/Numix/xfce-notify-4.0/gtkrc | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
140 files changed, 10235 insertions(+), 0 deletions(-)

diff --git a/themes/Numix/.editorconfig b/themes/Numix/.editorconfig @@ -0,0 +1,29 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# change these settings to your own preference +indent_style = space +indent_size = 4 + +# we recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[*.yml] +indent_style = space +indent_size = 2 + +[Makefile] +indent_style = tab +indent_size = 4 diff --git a/themes/Numix/.gitignore b/themes/Numix/.gitignore @@ -0,0 +1,7 @@ +# Ignore Backup Copies from Text Editor +*~ + +# Ignore SASS files +.sass-cache +gtk.gresource +dist diff --git a/themes/Numix/.hound.yml b/themes/Numix/.hound.yml @@ -0,0 +1,2 @@ +scss: + config_file: .scss-lint.yml diff --git a/themes/Numix/.scss-lint.yml b/themes/Numix/.scss-lint.yml @@ -0,0 +1,193 @@ +linters: + + BangFormat: + enabled: true + space_before_bang: true + space_after_bang: false + + BorderZero: + enabled: true + + ColorKeyword: + enabled: true + + ColorVariable: + enabled: true + + Comment: + enabled: false + + DebugStatement: + enabled: true + + DeclarationOrder: + enabled: true + + DisableLinterReason: + enabled: true + + DuplicateProperty: + enabled: true + + ElsePlacement: + enabled: true + style: same_line + + EmptyLineBetweenBlocks: + enabled: true + ignore_single_line_blocks: false + + EmptyRule: + enabled: true + + ExtendDirective: + enabled: false + + FinalNewline: + enabled: true + present: true + + HexLength: + enabled: true + style: short + + HexNotation: + enabled: true + style: lowercase + + HexValidation: + enabled: true + + IdSelector: + enabled: false + + ImportantRule: + enabled: true + + ImportPath: + enabled: true + leading_underscore: false + filename_extension: false + + Indentation: + enabled: true + character: space + width: 4 + + LeadingZero: + enabled: true + style: exclude_zero + + MergeableSelector: + enabled: false + + NameFormat: + enabled: false + convention: hyphenated_lowercase + + NestingDepth: + enabled: true + max_depth: 5 + + PlaceholderInExtend: + enabled: false + + PropertyCount: + enabled: false + + PropertySortOrder: + enabled: false + + PropertySpelling: + enabled: true + extra_properties: [ "icon-shadow", "outline-radius" ] + + PropertyUnits: + enabled: true + global: [ "px", "%", "s", "ms" ] + + QualifyingElement: + enabled: false + allow_element_with_attribute: false + allow_element_with_class: false + allow_element_with_id: false + + SelectorDepth: + enabled: true + max_depth: 5 + + SelectorFormat: + enabled: false + convention: hyphenated_lowercase + + Shorthand: + enabled: true + + SingleLinePerProperty: + enabled: true + allow_single_line_rule_sets: true + + SingleLinePerSelector: + enabled: false + + SpaceAfterComma: + enabled: true + + SpaceAfterPropertyColon: + enabled: true + style: one_space + + SpaceAfterPropertyName: + enabled: true + + SpaceAfterVariableName: + enabled: true + + SpaceAroundOperator: + enabled: true + + SpaceBeforeBrace: + enabled: true + style: space + allow_single_line_padding: true + + SpaceBetweenParens: + enabled: true + spaces: 0 + + StringQuotes: + enabled: true + style: double_quotes + + TrailingSemicolon: + enabled: true + + TrailingZero: + enabled: true + + UnnecessaryMantissa: + enabled: true + + UnnecessaryParentReference: + enabled: true + + UrlFormat: + enabled: false + + UrlQuotes: + enabled: true + + VariableForProperty: + enabled: false + + VendorPrefix: + enabled: false + identifier_list: base + include: [] + exclude: [] + + ZeroUnit: + enabled: true + + Compass::*: + enabled: false diff --git a/themes/Numix/CREDITS b/themes/Numix/CREDITS @@ -0,0 +1,4 @@ +Simon Steinbeiß <simon.steinbeiss@univie.ac.at> +Joern Konopka <cldx3000@googlemail.com> +Georgi Karavasilev <motorslav@gmail.com> +David Barr <dpbarr@gmail.com> diff --git a/themes/Numix/LICENSE b/themes/Numix/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU 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. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/themes/Numix/Makefile b/themes/Numix/Makefile @@ -0,0 +1,45 @@ +SASS=scss +SASSFLAGS=--sourcemap=none +GLIB_COMPILE_RESOURCES=glib-compile-resources +RES_DIR=gtk-3.0 +SCSS_DIR=$(RES_DIR)/scss +DIST_DIR=$(RES_DIR)/dist +INSTALL_DIR=$(DESTDIR)/usr/share/themes/Numix + +all: clean gresource + +css: + $(SASS) --update $(SASSFLAGS) $(SCSS_DIR):$(DIST_DIR) + +gresource: css + $(GLIB_COMPILE_RESOURCES) --sourcedir=$(RES_DIR) $(RES_DIR)/gtk.gresource.xml + +watch: clean + while true; do \ + make gresource; \ + inotifywait @gtk.gresource -qr -e modify -e create -e delete $(RES_DIR); \ + done + +clean: + rm -rf $(DIST_DIR) + rm -f $(RES_DIR)/gtk.gresource + +install: all + install -d -m755 $(INSTALL_DIR) + + for f in *; do cp -pr $$f $(INSTALL_DIR)/; done + +uninstall: + rm -rf $(INSTALL_DIR) + +.PHONY: all +.PHONY: css +.PHONY: watch +.PHONY: gresource +.PHONY: clean +.PHONY: install +.PHONY: uninstall + +.DEFAULT_GOAL := all + +# vim: set ts=4 sw=4 tw=0 noet : diff --git a/themes/Numix/README.md b/themes/Numix/README.md @@ -0,0 +1,61 @@ +Numix is a modern flat theme with a combination of light and dark elements. It supports Gnome, Unity, XFCE and Openbox. + +Numix is a part of the [Numix Project](http://numixproject.org). + +### Manual installation + +First, you need to compile the theme using the [Sass](http://sass-lang.com/) compiler. + +To install Sass, install ruby and the gem command using your distro's package manager. Then install `sass` with the `gem` command, + +`gem install sass` + +You'll also need the following commands in your path to generate the gresource binary. Install them using your distro's package manager. + +* `glib-compile-schemas` +* `gdk-pixbuf-pixdata` + +After installing all the dependencies, switch to the cloned directory and, run the following in Terminal, + +```sh +make +sudo make install +``` + +To set the theme in Gnome, run the following commands in Terminal, + +```sh +gsettings set org.gnome.desktop.interface gtk-theme "Numix" +gsettings set org.gnome.desktop.wm.preferences theme "Numix" +``` + +To set the theme in Xfce, run the following commands in Terminal, + +```sh +xfconf-query -c xsettings -p /Net/ThemeName -s "Numix" +xfconf-query -c xfwm4 -p /general/theme -s "Numix" +``` + +### For developers + +If you want to hack on the theme, make sure you have the `inotifywait` command available, which is used for watching and automatically building the files. + +To start watching for changes, run the following, + +```sh +make watch +``` + +If you change any assets, you'll need to regenerate the `gtk.gresource.xml` and `gtk.gresource` files. You can use [grrr](https://github.com/satya164/grrr) to do it easily. + +### Requirements + +GTK+ 3.16 or above + +Murrine theme engine + +### Code and license + +Report bugs or contribute at [GitHub](https://github.com/shimmerproject/Numix) + +License: GPL-3.0+ diff --git a/themes/Numix/gtk-2.0/gtkrc b/themes/Numix/gtk-2.0/gtkrc @@ -0,0 +1,806 @@ +# Numix GTK Theme + +gtk-color-scheme = "bg_color:#eeeeee\nfg_color:#555555\nbase_color:#ffffff\ntext_color:#333333\nselected_bg_color:#f0544c\nselected_fg_color:#ffffff\ntooltip_bg_color:#444444\ntooltip_fg_color:#eeeeee\ntitlebar_bg_color:#444444\ntitlebar_fg_color:#dddddd\nmenubar_bg_color:#444444\nmenubar_fg_color:#dddddd\ntoolbar_bg_color:#eeeeee\ntoolbar_fg_color:#555555\nmenu_bg_color:#444444\nmenu_fg_color:#dddddd\npanel_bg_color:#444444\npanel_fg_color:#dddddd\nlink_color:#f06860" + +# Default Style + +style "murrine-default" { + GtkArrow::arrow-scaling= 0.6 + + GtkButton::child-displacement-x = 0 + GtkButton::child-displacement-y = 0 + + GtkButton::default-border = { 0, 0, 0, 0 } + + GtkButtonBox::child-min-height = 26 + + GtkCheckButton::indicator-size = 16 + + # The following line hints to gecko (and possibly other appliations) + # that the entry should be drawn transparently on the canvas. + # Without this, gecko will fill in the background of the entry. + GtkEntry::honors-transparent-bg-hint = 1 + GtkEntry::state-hint = 0 + + GtkExpander::expander-size = 16 + + GtkImage::x-ayatana-indicator-dynamic = 1 + + GtkMenu::horizontal-padding = 0 + GtkMenu::vertical-padding = 0 + + GtkMenuBar::internal-padding = 0 + GtkMenuBar::window-dragging = 1 + + GtkMenuItem::arrow-scaling= 0.5 + + GtkPaned::handle-size = 1 + + GtkProgressBar::min-horizontal-bar-height = 12 + GtkProgressBar::min-vertical-bar-width = 12 + + GtkRange::trough-border = 0 + GtkRange::slider-width = 12 + GtkRange::stepper-size = 12 + GtkRange::stepper_spacing = 0 + GtkRange::trough-under-steppers = 1 + + GtkScale::slider-length = 16 + GtkScale::slider-width = 16 + GtkScale::trough-side-details = 1 + + GtkScrollbar::activate-slider = 1 + GtkScrollbar::has-backward-stepper = 0 + GtkScrollbar::has-forward-stepper = 0 + GtkScrollbar::has-secondary-backward-stepper = 0 + GtkScrollbar::has-secondary-forward-stepper = 0 + GtkScrollbar::min-slider-length = 80 + GtkScrollbar::slider-width = 12 + GtkScrollbar::trough-border = 0 + + GtkScrolledWindow::scrollbar-spacing = 0 + GtkScrolledWindow::scrollbars-within-bevel = 1 + + GtkSeparatorMenuItem::horizontal-padding = 0 + + GtkToolbar::internal-padding = 0 + + GtkTreeView::expander-size = 11 + GtkTreeView::vertical-separator = 0 + + GtkWidget::focus-line-width = 1 + # The following line prevents the Firefox tabs + # from jumping a few pixels when you create a new tab + GtkWidget::focus-padding = 0 + + GtkWidget::wide-separators = 1 + GtkWidget::separator-width = 1 + GtkWidget::separator-height = 1 + + GtkWindow::resize-grip-height = 0 + GtkWindow::resize-grip-width = 0 + + WnckTasklist::fade-overlay-rect = 0 + + 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 + + GtkToolbar::shadow-type = GTK_SHADOW_NONE # Makes toolbars flat and unified + GtkMenuBar::shadow-type = GTK_SHADOW_NONE # Makes menubars flat and unified + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.5, @bg_color, @fg_color) + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.02, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[ACTIVE] = shade (0.9, @bg_color) + bg[INSENSITIVE] = @bg_color + + base[NORMAL] = @base_color + base[PRELIGHT] = shade (0.95, @base_color) + base[SELECTED] = @selected_bg_color + base[ACTIVE] = @selected_bg_color + base[INSENSITIVE] = shade (0.85, @base_color) + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.5, @base_color, @text_color) + + engine "murrine" { + animation = FALSE + arrowstyle = 1 # 0 = normal arrows, 1 = filled arrows + border_shades = { 1.0, 1.0 } # gradient to draw on border + colorize_scrollbar = FALSE + comboboxstyle = 0 # 0 = normal combobox, 1 = colorized combobox below arrow + contrast = 0.8 # overal contrast with borders + focusstyle = 1 # 0 = none, 1 = grey dotted, 2 = colored with fill, 3 = colored glow + glazestyle = 0 # 0 = flat highlight, 1 = curved highlight, 2 = concave, 3 = top curved highlight, 4 = beryl highlight + glowstyle = 0 # 0 = glow on top, 1 = glow on bottom, 2 = glow on top and bottom, 3 = glow on middle vertically, 4 = glow on middle horizontally, 5 = glow on all sides + glow_shade = 1.0 # amount of glow + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } # gradient to draw on widgets + highlight_shade = 1.0 # amount of highlight + lightborder_shade = 1.0 # amount of inset light border + lightborderstyle = 1 # 0 = lightborder on top side, 1 = lightborder on all sides + listviewheaderstyle = 0 # 0 = flat, 1 = glassy, 2 = raised + listviewstyle = 0 # 0 = none, 1 = dotted, 2 = line + menubaritemstyle = 0 # 0 = menuitem look, 1 = button look + menubarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped + menuitemstyle = 0 # 0 = flat, 1 = glassy, 2 = striped + menustyle = 0 # 0 = none, 1 = vertical striped + progressbarstyle = 0 # 0 = none, 1 = diagonal striped, 2 = vertical striped + reliefstyle = 0 # 0 = flat, 1 = inset, 2 = shadow, 3 = shadow with gradient, 4 = stronger shadow with gradient + roundness = 2 # roundness of widgets + scrollbarstyle = 0 # 0 = none, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles + sliderstyle = 0 # 0 = none, 1 = handles + stepperstyle = 1 # 0 = standard, 1 = integrated stepper handles + toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient + } +} + +style "murrine-wide" { + xthickness = 2 + ythickness = 2 +} + +style "murrine-wider" { + xthickness = 3 + ythickness = 3 +} + +style "murrine-thin" { + xthickness = 0 + ythickness = 0 +} + +# Notebook + +style "murrine-notebook-bg" { + bg[NORMAL] = @base_color + bg[ACTIVE] = shade (0.87, @base_color) +} + +style "murrine-notebook" = "murrine-notebook-bg" { + xthickness = 2 + ythickness = 2 + + engine "murrine" { + roundness = 2 + } +} + +# Various Standard Widgets + +style "murrine-button" = "murrine-wider" { + bg[NORMAL] = shade (1.08, @bg_color) + bg[PRELIGHT] = shade (1.10, @bg_color) + bg[ACTIVE] = shade (0.95, @bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + + engine "murrine" { + } +} + +style "murrine-scrollbar" { + bg[NORMAL] = mix (0.21, @fg_color, @bg_color) + bg[PRELIGHT] = mix (0.31, @fg_color, @bg_color) + bg[ACTIVE] = @selected_bg_color + + engine "murrine" { + roundness = 0 + contrast = 0.0 + border_shades = { 0.9, 0.9 } + trough_shades = { 0.97, 0.97 } + trough_border_shades = { 1.0, 1.0 } + } +} + +style "murrine-overlay-scrollbar" { + bg[ACTIVE] = shade (0.8, @bg_color) + bg[INSENSITIVE] = shade (0.97, @bg_color) + + base[SELECTED] = shade (0.6, @base_color) + base[INSENSITIVE] = shade (0.85, @base_color) +} + +style "murrine-scale" = "murrine-thin" { + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = shade (0.95, @bg_color) + + engine "murrine" { + roundness = 8 + gradient_shades = { 1.08, 1.08, 1.08, 1.08 } + border_shades = { 1.0, 1.0 } + trough_shades = { 1.08, 1.08 } + trough_border_shades = { 0.8, 0.8 } + } +} + +style "murrine-progressbar" = "murrine-thin" { + bg[NORMAL] = @bg_color + bg[ACTIVE] = shade (1.08, @bg_color) + + fg[PRELIGHT] = @selected_fg_color + + engine "murrine" { + roundness = 2 + border_shades = { 1.2, 1.2 } + trough_border_shades = { 0.8, 0.8 } + } +} + +style "murrine-treeview-header" = "murrine-button" { + engine "murrine" { + roundness = 0 + } +} + +style "murrine-treeview" { + engine "murrine" { + roundness = 0 + } +} + +style "murrine-frame-title" { + fg[NORMAL] = lighter (@fg_color) +} + +style "murrine-tooltips" { + xthickness = 5 + ythickness = 5 + + bg[NORMAL] = @tooltip_bg_color + bg[SELECTED] = @tooltip_bg_color + + fg[NORMAL] = @tooltip_fg_color + + engine "murrine" { + textstyle = 0 + roundness = 2 + rgba = FALSE + } +} + +style "murrine-spinbutton" = "murrine-button" { + engine "murrine" { + } +} + +style "murrine-radiocheck" = "murrine-default" { + bg[SELECTED] = @base_color + + text[NORMAL] = @selected_bg_color + text[PRELIGHT] = @selected_bg_color +} + +style "murrine-entry" = "murrine-wider" { + engine "murrine" { + border_shades = { 1.15, 1.15 } + } +} + +style "metacity-frame" = "murrine-default" { + bg[SELECTED] = @selected_bg_color +} + +style "murrine-statusbar" { } +style "murrine-comboboxentry" = "murrine-entry" { } +style "murrine-hscale" = "murrine-scale" { } +style "murrine-vscale" = "murrine-scale" { } +style "murrine-hscrollbar" = "murrine-scrollbar" { } +style "murrine-vscrollbar" = "murrine-scrollbar" { } + +# Menus + +style "murrine-menu" = "murrine-thin" { + bg[NORMAL] = @menu_bg_color + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + bg[ACTIVE] = @menu_bg_color + bg[INSENSITIVE] = @menu_bg_color + + fg[NORMAL] = @menu_fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) + + text[NORMAL] = @menu_fg_color + text[PRELIGHT] = @selected_fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @selected_fg_color + text[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) + + engine "murrine" { + roundness = 0 + } +} + +style "murrine-menu-item" = "murrine-wider" { + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + bg[ACTIVE] = @selected_bg_color + + fg[NORMAL] = @menu_fg_color # Fix for XFCE menu text + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + fg[INSENSITIVE] = mix (0.5, @menu_bg_color, @menu_fg_color) + + engine "murrine" { + textstyle = 0 + border_shades = { 1.2, 1.2 } + } +} + +style "murrine-separator-menu-item" = "murrine-thin" { } + +style "murrine-menubar" { + bg[NORMAL] = @menubar_bg_color + bg[PRELIGHT] = mix (0.21, @menubar_fg_color, @menubar_bg_color) + bg[SELECTED] = mix (0.21, @menubar_fg_color, @menubar_bg_color) + bg[ACTIVE] = shade (0.9, @menubar_bg_color) + bg[INSENSITIVE] = @menubar_bg_color + + fg[NORMAL] = @menubar_fg_color + fg[PRELIGHT] = shade (1.08, @menubar_fg_color) + fg[SELECTED] = shade (1.08, @menubar_fg_color) + fg[ACTIVE] = @menubar_fg_color + fg[INSENSITIVE] = mix (0.5, @menubar_bg_color, @menubar_fg_color) + + engine "murrine" { + roundness = 0 + } +} + +style "murrine-menubaritem" { + bg[NORMAL] = @menubar_bg_color + bg[PRELIGHT] = mix (0.21, @menubar_fg_color, @menubar_bg_color) + bg[SELECTED] = mix (0.21, @menubar_fg_color, @menubar_bg_color) + bg[ACTIVE] = shade (0.9, @menubar_bg_color) + bg[INSENSITIVE] = @menubar_bg_color + + fg[NORMAL] = @menubar_fg_color + fg[PRELIGHT] = shade (1.08, @menubar_fg_color) + fg[SELECTED] = shade (1.08, @menubar_fg_color) + fg[ACTIVE] = @menubar_fg_color + fg[INSENSITIVE] = mix (0.5, @menubar_bg_color, @menubar_fg_color) + + engine "murrine" { + roundness = 0 + } +} + +# Toolbars + +style "murrine-toolbar" = "murrine-thin" { + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade (1.02, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[ACTIVE] = shade (0.9, @bg_color) + bg[INSENSITIVE] = @bg_color + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.5, @bg_color, @fg_color) + + engine "murrine" { + } +} + +style "murrine-toolbutton" = "murrine-button" { + bg[NORMAL] = shade (1.08, @bg_color) + bg[PRELIGHT] = shade (1.10, @bg_color) + bg[SELECTED] = @selected_bg_color + bg[ACTIVE] = shade (0.95, @bg_color) + bg[INSENSITIVE] = shade (0.85, @bg_color) + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @fg_color + fg[INSENSITIVE] = mix (0.5, @bg_color, @fg_color) + + engine "murrine" { + } +} + +class "GtkToolbar" style "murrine-toolbar" +class "GtkHandleBox" style "murrine-toolbar" +widget_class "*Toolbar*.*Separator*" style "murrine-toolbar" + +# Panels + +style "murrine-panel" = "murrine-thin" { + xthickness = 2 + + bg[NORMAL] = @panel_bg_color + bg[PRELIGHT] = mix (0.21, @panel_fg_color, @panel_bg_color) + bg[SELECTED] = mix (0.21, @panel_fg_color, @panel_bg_color) + bg[ACTIVE] = shade (0.8, @panel_bg_color) + bg[INSENSITIVE] = @panel_bg_color + + fg[NORMAL] = @panel_fg_color + fg[PRELIGHT] = shade (1.08, @panel_fg_color) + fg[SELECTED] = shade (1.08, @panel_fg_color) + fg[ACTIVE] = @panel_fg_color + fg[INSENSITIVE] = mix (0.5, @panel_bg_color, @panel_fg_color) + + base[NORMAL] = @panel_bg_color + base[PRELIGHT] = mix (0.21, @panel_fg_color, @panel_bg_color) + base[SELECTED] = mix (0.21, @panel_fg_color, @panel_bg_color) + base[ACTIVE] = shade (0.9, @panel_bg_color) + base[INSENSITIVE] = @panel_bg_color + + text[NORMAL] = @panel_fg_color + text[PRELIGHT] = shade (1.08, @panel_fg_color) + text[SELECTED] = shade (1.08, @panel_fg_color) + text[ACTIVE] = @panel_fg_color + text[INSENSITIVE] = mix (0.5, @panel_bg_color, @panel_fg_color) + + engine "murrine" { + roundness = 0 + contrast = 0.0 + } +} + +widget "*PanelWidget*" style "murrine-panel" +widget "*PanelApplet*" style "murrine-panel" +widget "*fast-user-switch*" style "murrine-panel" +widget "*CPUFreq*Applet*" style "murrine-panel" +widget "*indicator-applet*" style "murrine-panel" +class "PanelApp*" style "murrine-panel" +class "PanelToplevel*" style "murrine-panel" +widget_class "*PanelToplevel*" style "murrine-panel" +widget_class "*notif*" style "murrine-panel" +widget_class "*Notif*" style "murrine-panel" +widget_class "*Tray*" style "murrine-panel" +widget_class "*tray*" style "murrine-panel" +widget_class "*computertemp*" style "murrine-panel" +widget_class "*Applet*Tomboy*" style "murrine-panel" +widget_class "*Applet*Netstatus*" style "murrine-panel" +widget "*gdm-user-switch-menubar*" style "murrine-panel" + +# LXPanel (code based on Lubuntu-default theme's gtkrc file) +widget "*.tclock.*" style "murrine-panel" +widget "*.taskbar.*" style "murrine-panel" +widget_class "*GtkBgbox*" style "murrine-panel" + +style "bold-panel-item" { + font_name = "Bold" + + engine "murrine" { + roundness = 0 + } +} + +widget "*Panel*MenuBar*" style "bold-panel-item" +widget "*gimmie*" style "bold-panel-item" + +# widget_class "*Mail*" style "murrine-panel" # Disabled to fix Evolution bug +# class "*Panel*" style "murrine-panel" # Disabled to fix bug + +# XFCE Styles + +style "workspace-switcher" = "murrine-panel" { + bg[ACTIVE] = @selected_bg_color + bg[SELECTED] = @selected_bg_color +} + +style "xfce-header" { + bg[NORMAL] = shade (0.9, @bg_color) + base[NORMAL] = shade (1.18, @bg_color) +} + +style "xfdesktop-windowlist" { + bg[NORMAL] = @base_color + fg[INSENSITIVE] = shade (0.95, @base_color) + text[INSENSITIVE] = shade (0.95, @base_color) +} + +style "xfdesktop-icon-view" { + XfdesktopIconView::label-alpha = 0 + XfdesktopIconView::selected-label-alpha = 60 + XfdesktopIconVIew::ellipsize-icon-labels = 1 + + base[NORMAL] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[ACTIVE] = @selected_bg_color + + fg[NORMAL] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = @selected_fg_color + + engine "murrine" { + textstyle = 5 + text_shade = 0.05 + } +} + +style "xfwm-tabwin" { + Xfwm4TabwinWidget::border-width = 1 + Xfwm4TabwinWidget::border-alpha = 1.0 + Xfwm4TabwinWidget::icon-size = 64 + Xfwm4TabwinWidget::alpha = 1.0 + Xfwm4TabwinWidget::border-radius = 2 + + bg[NORMAL] = @menu_bg_color + bg[SELECTED] = @menu_bg_color + + fg[NORMAL] = @menu_fg_color + + engine "murrine" { + contrast = 0.0 + border_shades = { 0.9, 0.9 } + } +} + +style "xfwm-tabwin-button" { + font_name = "bold" + + bg[SELECTED] = @selected_bg_color +} + +style "xfsm-logout" { + bg[NORMAL] = @menu_bg_color + bg[ACTIVE] = @menu_bg_color + bg[PRELIGHT] = shade (1.1, @menu_bg_color) + bg[SELECTED] = shade (0.5, @menu_bg_color) + bg[INSENSITIVE] = shade (1.3, @menu_bg_color) + + fg[NORMAL] = @menu_fg_color + fg[PRELIGHT] = @menu_fg_color + + text[NORMAL] = @menu_fg_color + + engine "murrine" { + } +} + +style "xfsm-logout-button" { + bg[NORMAL] = shade (1.2, @menu_bg_color) + bg[PRELIGHT] = shade (1.4, @menu_bg_color) + + engine "murrine" { + } +} + +widget "*Pager*" style "workspace-switcher" + +widget "*Xfce*Panel*" style "murrine-panel" +class "*Xfce*Panel*" style "murrine-panel" + +# Thunar Styles + +style "sidepane" { + base[NORMAL] = @bg_color + base[INSENSITIVE] = mix (0.4, shade (1.35, @selected_bg_color), shade (0.9, @base_color)) + bg[NORMAL] = @bg_color + text[NORMAL] = mix (0.9, @fg_color, @bg_color) +} + +widget_class "*ThunarShortcutsView*" style "sidepane" +widget_class "*ThunarTreeView*" style "sidepane" +widget_class "*ThunarLocationEntry*" style "murrine-entry" + +style "whiskermenu" { + bg[NORMAL] = @menu_bg_color + bg[ACTIVE] = mix (0.21, @menubar_fg_color, @menubar_bg_color) + bg[PRELIGHT] = @selected_bg_color + + fg[NORMAL] = @menu_fg_color + fg[ACTIVE] = @menu_fg_color + fg[PRELIGHT] = @menu_fg_color +} + +style "whiskermenu-scrollbar" = "murrine-scrollbar" { + bg[NORMAL] = mix (0.21, @fg_color, @bg_color) + bg[PRELIGHT] = mix (0.31, @fg_color, @bg_color) + bg[ACTIVE] = @selected_bg_color + + engine "murrine" { + trough_shades = { 4.97, 4.97 } + trough_border_shades = { 5.0, 5.0 } + } +} + +widget "whiskermenu-window*" style "whiskermenu" +widget "*whisker*GtkVScrollbar" style "whiskermenu-scrollbar" + +# Gtk2 Open-File Dialog + +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*" style "sidepane" +widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.<GtkTreeView>.<GtkButton>" style "murrine-treeview-header" + +# Google Chrome/Chromium Styles (requires 9.0.597 or newer) + +style "chromium-toolbar-button" { + engine "murrine" { + roundness = 2 + textstyle = 0 + } +} + +style "chrome-gtk-frame" { + ChromeGtkFrame::frame-color = @titlebar_bg_color + ChromeGtkFrame::inactive-frame-color = @titlebar_bg_color + + ChromeGtkFrame::frame-gradient-size = 0 + ChromeGtkFrame::frame-gradient-color = @titlebar_bg_color + + ChromeGtkFrame::incognito-frame-color = @titlebar_bg_color + ChromeGtkFrame::incognito-inactive-frame-color = @titlebar_bg_color + + ChromeGtkFrame::incognito-frame-gradient-size = 0 + ChromeGtkFrame::incognito-frame-gradient-color = @titlebar_bg_color + + ChromeGtkFrame::scrollbar-trough-color = @bg_color + ChromeGtkFrame::scrollbar-slider-normal-color = mix (0.21, @fg_color, @bg_color) + ChromeGtkFrame::scrollbar-slider-prelight-color = mix (0.31, @fg_color, @bg_color) +} + +class "ChromeGtkFrame" style "chrome-gtk-frame" + +widget_class "*Chrom*Button*" style "chromium-toolbar-button" + +# General Styles + +class "GtkWidget" style "murrine-default" + +class "GtkFrame" style "murrine-wide" +class "MetaFrames" style "metacity-frame" +class "GtkWindow" style "metacity-frame" + +class "GtkSeparator" style "murrine-wide" +class "GtkCalendar" style "murrine-wide" + +class "GtkSpinButton" style "murrine-spinbutton" + +class "GtkScale" style "murrine-scale" +class "GtkVScale" style "murrine-vscale" +class "GtkHScale" style "murrine-hscale" +class "GtkScrollbar" style "murrine-scrollbar" +class "GtkVScrollbar" style "murrine-vscrollbar" +class "GtkHScrollbar" style "murrine-hscrollbar" + +class "GtkRadio*" style "murrine-radiocheck" +class "GtkCheck*" style "murrine-radiocheck" + +class "GtkEntry" style "murrine-entry" + +widget_class "*<GtkNotebook>" style "murrine-notebook" +widget_class "*<GtkNotebook>*<GtkEventBox>" style "murrine-notebook-bg" +widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "murrine-notebook-bg" +widget_class "*<GtkNotebook>*<GtkLayout>" style "murrine-notebook-bg" +widget_class "*.GtkNotebook.*.GtkViewport" style "murrine-notebook" + +widget_class "*<GtkButton>" style "murrine-button" +widget_class "*<GtkStatusbar>*" style "murrine-statusbar" +widget_class "*<GtkProgress>" style "murrine-progressbar" +widget_class "*<GtkProgressBar>" style "murrine-progressbar" + +widget_class "*<GtkComboBoxEntry>*" style "murrine-comboboxentry" +widget_class "*<GtkCombo>*" style "murrine-comboboxentry" + +widget_class "*<GtkMenu>*" style "murrine-menu" +widget_class "*<GtkMenuItem>*" style "murrine-menu-item" +widget_class "*<GtkSeparatorMenuItem>*" style "murrine-separator-menu-item" +widget_class "*Menu*.*Sepa*" style "murrine-separator-menu-item" +widget_class "*<GtkMenuBar>*" style "murrine-menubar" +widget_class "*<GtkMenuBar>*<GtkMenuItem>*" style "murrine-menubaritem" + +widget_class "*GtkToolButton*" style "murrine-toolbutton" +widget_class "*GtkToggleToolButton*" style "murrine-toolbutton" +widget_class "*GtkMenuToolButton*" style "murrine-toolbutton" +widget_class "*GtkToolbar*Button" style "murrine-toolbutton" + +widget_class "*.<GtkFrame>.<GtkLabel>" style "murrine-frame-title" + +widget_class "*.<GtkTreeView>*" style "murrine-treeview" +widget_class "*.<GtkTreeView>.<GtkButton>" style "murrine-treeview-header" +widget_class "*.<GtkCTree>.<GtkButton>" style "murrine-treeview-header" +widget_class "*.<GtkList>.<GtkButton>" style "murrine-treeview-header" +widget_class "*.<GtkCList>.<GtkButton>" style "murrine-treeview-header" + +widget "gtk-tooltip*" style "murrine-tooltips" + +widget_class "*<GtkScrolledWindow>*<OsScrollbar>" style "murrine-overlay-scrollbar" + +# Workarounds and Non-Standard Styling + +style "text-is-fg-color-workaround" { + text[NORMAL] = @text_color + text[PRELIGHT] = @fg_color + text[SELECTED] = @selected_fg_color + text[ACTIVE] = @fg_color + text[INSENSITIVE] = mix (0.5, @bg_color, @fg_color) +} + +widget_class "*.<GtkComboBox>.<GtkCellView>" style "text-is-fg-color-workaround" + +style "fg-is-text-color-workaround" { + fg[NORMAL] = @text_color + fg[PRELIGHT] = @text_color + fg[ACTIVE] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = darker (@fg_color) +} + +widget_class "*<GtkListItem>*" style "fg-is-text-color-workaround" +widget_class "*<GtkCList>" style "fg-is-text-color-workaround" +widget_class "*<EelEditableLabel>" style "fg-is-text-color-workaround" + +style "murrine-evo-new-button-workaround" { + engine "murrine" { + toolbarstyle = 0 + } +} + +widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround" + +style "inkscape-toolbar-fix" { + engine "murrine" { + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } + highlight_shade = 1.0 + } +} + +#widget "*GtkHandleBox*" style "inkscape-toolbar-fix" +#widget "*HandleBox*CommandsToolbar*" style "inkscape-toolbar-fix" +#widget "*HandleBox*SnapToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*SelectToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*NodeToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*TweakToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*ZoomToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*StarToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*RectToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*3DBoxToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*ArcToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*SpiralToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*PencilToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*PenToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*CalligraphyToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*EraserToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*LPEToolToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*DropperToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*ConnectorToolbar*" style "inkscape-toolbar-fix" +widget "*HandleBox*PaintbucketToolbar*" style "inkscape-toolbar-fix" + +# Performance Fixes + +style "performance-fix" { + engine "murrine" { + textstyle = 0 + } +} + +widget_class "*gtkmm__GtkWindow*" style "performance-fix" # Inkscape +widget_class "*GimpDisplayShell*" style "performance-fix" # Gimp +widget_class "*GimpToolbox*" style "performance-fix" +widget_class "*GimpMenuDock*" style "performance-fix" +widget "*OOoFixed*" style "performance-fix" # Openoffice/Libreoffice +widget_class "*MozContainer*" style "performance-fix" # Firefox (Not sure if this one does anything though.) + +widget_class "*XfceHeading*" style "xfce-header" +widget_class "*XfceDesktop*" style "xfdesktop-windowlist" +widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view" +widget "xfwm4-tabwin*" style "xfwm-tabwin" +widget "xfwm4-tabwin*GtkButton*" style "xfwm-tabwin-button" +widget_class "*XfsmLogoutDialog*" style "xfsm-logout" +widget_class "*XfsmLogoutDialog*GtkButton" style "xfsm-logout-button" diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-checked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-checked-dark.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14.789" x=".684" y="1037.078" rx="1" height="14.758" style="fill:#393939"/> +<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 1.7429523,1036.9203 12.7034987,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034987,0 c -0.5864782,0 -1.05862497,-0.4681 -1.05862497,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214677,-1.0495 1.05862497,-1.0495 z"/> +</g> +<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)"> +<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<path style="line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.png b/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.svg b/themes/Numix/gtk-3.0/assets/checkbox-checked-insensitive.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14.505" x=".747" y="1037.046" rx="1" height="14.568" style="fill:#d3d3d3"/> +</g> +<g style="fill:#aaa" transform="translate(0 -1036.3622)"> +<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<path style="line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked.png b/themes/Numix/gtk-3.0/assets/checkbox-checked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-checked.svg b/themes/Numix/gtk-3.0/assets/checkbox-checked.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-mixed-dark.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14.821" x=".621" y="1037.046" rx="1" height="14.758" style="fill:#393939"/> +<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="1043.362" height="2" style="fill:#d64937"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 1.7429523,1036.9203 12.7034987,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034987,0 c -0.5864782,0 -1.05862497,-0.4681 -1.05862497,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214677,-1.0495 1.05862497,-1.0495 z"/> +</g> +<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)"> +<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="1043.362" height="2"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.png b/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.svg b/themes/Numix/gtk-3.0/assets/checkbox-mixed-insensitive.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d3d3d3" d="m 1.7339331,1037.2359 12.5952689,0 c 0.581481,0 1.049605,0.4581 1.049605,1.0271 l 0,12.3247 c 0,0.569 -0.468124,1.027 -1.049605,1.027 l -12.5952689,0 c -0.5814816,0 -1.04960577,-0.458 -1.04960577,-1.027 l 0,-12.3247 c 0,-0.569 0.46812417,-1.0271 1.04960577,-1.0271 z"/> +</g> +<g style="fill:#aaa" transform="translate(0 -1036.3622)"> +<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="1043.362" height="2"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed.png b/themes/Numix/gtk-3.0/assets/checkbox-mixed.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-mixed.svg b/themes/Numix/gtk-3.0/assets/checkbox-mixed.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="1043.362" height="2" style="fill:#d64937"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-dark.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14.442" x=".811" y="1036.92" rx="1" height="14.947" style="fill:#393939"/> +<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 1.6166832,1037.0567 12.7034988,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034988,0 c -0.5864782,0 -1.05862494,-0.4681 -1.05862494,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214674,-1.0495 1.05862494,-1.0495 z"/> +<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.png b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.svg b/themes/Numix/gtk-3.0/assets/checkbox-unchecked-insensitive.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d3d3d3" d="m 1.6707985,1036.9834 12.5952685,0 c 0.581481,0 1.049606,0.4621 1.049606,1.0361 l 0,12.4328 c 0,0.574 -0.468125,1.0362 -1.049606,1.0362 l -12.5952685,0 c -0.5814816,0 -1.0496057,-0.4622 -1.0496057,-1.0362 l 0,-12.4328 c 0,-0.574 0.4681241,-1.0361 1.0496057,-1.0361 z"/> +<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked.png b/themes/Numix/gtk-3.0/assets/checkbox-unchecked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/checkbox-unchecked.svg b/themes/Numix/gtk-3.0/assets/checkbox-unchecked.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.png b/themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.svg b/themes/Numix/gtk-3.0/assets/grid-selection-checked-dark.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1012.3622)"> +<rect width="37.054" x="1.429" y="1013.791" rx="1" height="37.054" style="fill:#393939"/> +<path style="fill:#1f1f1f" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/> +<path style="fill:#d64937;line-height:normal;color:#000" d="m 29.13352,1022.158 c -0.914683,0.025 -1.818308,0.4057 -2.463877,1.0665 l -10.073226,9.5917 -3.455547,-3.8722 c -1.229737,-1.64 -3.926399,-1.8163 -5.3516312,-0.35 -1.4252323,1.4662 -1.2275153,4.2135 0.3923797,5.452 l 5.9579565,6.3997 c 2.342312,2.3423 3.397624,2.029 5.762435,-0.3357 0,0 8.126148,-9.7758 12.889022,-13.08 1.052818,-0.998 1.492196,-1.2755 0.94419,-2.6305 -0.548004,-1.355 -3.164817,-2.29 -4.601702,-2.2415 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-checked.png b/themes/Numix/gtk-3.0/assets/grid-selection-checked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-checked.svg b/themes/Numix/gtk-3.0/assets/grid-selection-checked.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1012.3622)"> +<rect width="37.5" x="1.429" y="1013.791" rx="1" height="37.5" style="fill:#f9f9f9"/> +<path style="fill:#aaa" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/> +<path style="fill:#d64937;line-height:normal;color:#000" d="m 29.13352,1022.158 c -0.914683,0.025 -1.818308,0.4057 -2.463877,1.0665 l -10.073226,9.5917 -3.455547,-3.8722 c -1.229737,-1.64 -3.926399,-1.8163 -5.3516312,-0.35 -1.4252323,1.4662 -1.2275153,4.2135 0.3923797,5.452 l 5.9579565,6.3997 c 2.342312,2.3423 3.397624,2.029 5.762435,-0.3357 0,0 8.126148,-9.7758 12.889022,-13.08 1.052818,-0.998 1.492196,-1.2755 0.94419,-2.6305 -0.548004,-1.355 -3.164817,-2.29 -4.601702,-2.2415 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.png b/themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.svg b/themes/Numix/gtk-3.0/assets/grid-selection-unchecked-dark.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1012.3622)"> +<rect width="37.054" x="1.429" y="1013.791" rx="1" height="37.054" style="fill:#393939"/> +<path style="fill:#1f1f1f" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-unchecked.png b/themes/Numix/gtk-3.0/assets/grid-selection-unchecked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/grid-selection-unchecked.svg b/themes/Numix/gtk-3.0/assets/grid-selection-unchecked.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1012.3622)"> +<rect width="37.5" x="1.429" y="1013.791" rx="1" height="37.5" style="fill:#f9f9f9"/> +<path style="fill:#aaa" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#f9f9f9;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#999;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-checked.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<rect width="8" x="4" y="7" height="2" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<rect width="8" x="4" y="7" height="2" style="fill:#aaa" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<rect width="8" x="4" y="7" height="2" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.png b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.svg b/themes/Numix/gtk-3.0/assets/menuitem-checkbox-mixed.svg @@ -0,0 +1,11 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<defs> +<filter width="1.09" x="-.045" y="-.18" height="1.36" id="filter3971"> +<feGaussianBlur stdDeviation=".15"/> +</filter> +</defs> +<g transform="translate(0 -1036.3622)"> +<rect width="8" x="4" y="1043.451" height="2" style="fill:#555753;filter:url(#filter3971)"/> +<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.png b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.svg b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-hover.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#f9f9f9" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#aaa" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked.png b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/menuitem-radio-checked.svg b/themes/Numix/gtk-3.0/assets/menuitem-radio-checked.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/pane-handle-vertical.svg b/themes/Numix/gtk-3.0/assets/pane-handle-vertical.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 4"> +<g style="color:#000" transform="translate(0 -1048.3622)"> +<rect width="1" x="-9" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/> +<rect width="1" x="-5" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/> +<rect width="1" x="-1" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/pane-handle.svg b/themes/Numix/gtk-3.0/assets/pane-handle.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 9"> +<g style="color:#000" transform="translate(0 -1043.3622)"> +<rect width="1" x="1051.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/> +<rect width="1" x="1047.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/> +<rect width="1" x="1043.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-checked-dark.png b/themes/Numix/gtk-3.0/assets/radio-checked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-checked-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/radio-checked-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-checked-insensitive.png b/themes/Numix/gtk-3.0/assets/radio-checked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-checked.png b/themes/Numix/gtk-3.0/assets/radio-checked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-dark.png b/themes/Numix/gtk-3.0/assets/radio-mixed-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-dark.svg b/themes/Numix/gtk-3.0/assets/radio-mixed-dark.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#393939" d="M 15,8 A 7,7 0 1 1 1,8 7,7 0 1 1 15,8 z" transform="matrix(1.06059 0 0 1.05421 -.46237 1036.0847)"/> +<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive-dark.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 8.1785714,1037.0497 c 4.0385816,0 7.3124996,3.254 7.3124996,7.2678 0,4.0139 -3.273918,7.2679 -7.3124996,7.2679 -4.0385821,0 -7.31249997,-3.254 -7.31249997,-7.2679 0,-4.0138 3.27391787,-7.2678 7.31249997,-7.2678 z"/> +</g> +<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)"> +<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="7" height="2" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.png b/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.svg b/themes/Numix/gtk-3.0/assets/radio-mixed-insensitive.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d3d3d3" d="m 8.0669643,1037.1836 c 4.0755647,0 7.3794647,3.224 7.3794647,7.2009 0,3.9769 -3.3039,7.2009 -7.3794647,7.2009 -4.0755656,0 -7.3794643,-3.224 -7.3794643,-7.2009 0,-3.9769 3.3038987,-7.2009 7.3794643,-7.2009 z"/> +</g> +<g style="fill:#aaa" transform="translate(0 -1036.3622)"> +<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="7" height="2" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed.png b/themes/Numix/gtk-3.0/assets/radio-mixed.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-mixed.svg b/themes/Numix/gtk-3.0/assets/radio-mixed.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-selected-dark.svg b/themes/Numix/gtk-3.0/assets/radio-selected-dark.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#393939" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/> +<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-selected-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/radio-selected-insensitive-dark.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 8.0319969,1037.1354 c 4.0385821,0 7.3125001,3.254 7.3125001,7.2678 0,4.0139 -3.273918,7.2679 -7.3125001,7.2679 -4.0385817,0 -7.31249964,-3.254 -7.31249964,-7.2679 0,-4.0138 3.27391794,-7.2678 7.31249964,-7.2678 z"/> +</g> +<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)"> +<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<path style="opacity:.8" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-selected-insensitive.svg b/themes/Numix/gtk-3.0/assets/radio-selected-insensitive.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d3d3d3" d="m 8.0315672,1036.8571 c 4.1275048,0 7.4735088,3.3602 7.4735088,7.5051 0,4.1449 -3.346004,7.5051 -7.4735088,7.5051 -4.1275049,0 -7.47350894,-3.3602 -7.47350894,-7.5051 0,-4.1449 3.34600404,-7.5051 7.47350894,-7.5051 z"/> +</g> +<g style="fill:#aaa" transform="translate(0 -1036.3622)"> +<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<path d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-selected.svg b/themes/Numix/gtk-3.0/assets/radio-selected.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-unchecked-dark.png b/themes/Numix/gtk-3.0/assets/radio-unchecked-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive-dark.png b/themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive-dark.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive.png b/themes/Numix/gtk-3.0/assets/radio-unchecked-insensitive.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-unchecked.png b/themes/Numix/gtk-3.0/assets/radio-unchecked.png Binary files differ. diff --git a/themes/Numix/gtk-3.0/assets/radio-unselected-dark.svg b/themes/Numix/gtk-3.0/assets/radio-unselected-dark.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#393939" d="M 15,8 A 7,7 0 1 1 1,8 7,7 0 1 1 15,8 z" transform="matrix(1.04961 0 0 1.03157 -.42841 1036.2044)"/> +<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-unselected-insensitive-dark.svg b/themes/Numix/gtk-3.0/assets/radio-unselected-insensitive-dark.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#2a2a2a" d="m 7.9891678,1037.1027 c 4.0385812,0 7.3124992,3.254 7.3124992,7.2678 0,4.0139 -3.273918,7.2679 -7.3124992,7.2679 -4.0385821,0 -7.31249997,-3.254 -7.31249997,-7.2679 0,-4.0138 3.27391787,-7.2678 7.31249997,-7.2678 z"/> +<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-unselected-insensitive.svg b/themes/Numix/gtk-3.0/assets/radio-unselected-insensitive.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#d3d3d3" d="m 7.9368654,1036.9834 c 4.1798076,0 7.5682106,3.3036 7.5682106,7.3788 0,4.0752 -3.388403,7.3788 -7.5682106,7.3788 -4.1798073,0 -7.56821074,-3.3036 -7.56821074,-7.3788 0,-4.0752 3.38840344,-7.3788 7.56821074,-7.3788 z"/> +<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/assets/radio-unselected.svg b/themes/Numix/gtk-3.0/assets/radio-unselected.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> +<g transform="translate(0 -1036.3622)"> +<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/> +<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/> +</g> +</svg> diff --git a/themes/Numix/gtk-3.0/gtk-dark.css b/themes/Numix/gtk-3.0/gtk-dark.css @@ -0,0 +1 @@ +@import url("resource:///org/numixproject/gtk/dist/gtk-dark.css"); diff --git a/themes/Numix/gtk-3.0/gtk-widgets-assets-dark.css b/themes/Numix/gtk-3.0/gtk-widgets-assets-dark.css @@ -0,0 +1,67 @@ +/******************* +* check and radio * +*******************/ +/* draw regular check and radio items using our assets */ +.check { + -gtk-icon-source: url("assets/checkbox-unchecked-dark.svg"); +} + +.check:insensitive { + -gtk-icon-source: url("assets/checkbox-unchecked-insensitive-dark.svg"); +} + +.check:checked { + -gtk-icon-source: url("assets/checkbox-checked-dark.svg"); +} + +.check:checked:insensitive { + -gtk-icon-source: url("assets/checkbox-checked-insensitive-dark.svg"); +} + +.check:inconsistent { + -gtk-icon-source: url("assets/checkbox-mixed-dark.svg"); +} + +.check:inconsistent:insensitive { + -gtk-icon-source: url("assets/checkbox-mixed-insensitive-dark.svg"); +} + +.radio { + -gtk-icon-source: url("assets/radio-unselected-dark.svg"); +} + +.radio:insensitive { + -gtk-icon-source: url("assets/radio-unselected-insensitive-dark.svg"); +} + +.radio:checked { + -gtk-icon-source: url("assets/radio-selected-dark.svg"); +} + +.radio:checked:insensitive { + -gtk-icon-source: url("assets/radio-selected-insensitive-dark.svg"); +} + +.radio:inconsistent { + -gtk-icon-source: url("assets/radio-mixed-dark.svg"); +} + +.radio:inconsistent:insensitive { + -gtk-icon-source: url("assets/radio-mixed-insensitive-dark.svg"); +} + +.menuitem.check { + -gtk-icon-source: none; +} + +.menuitem.radio { + -gtk-icon-source: none; +} + +GtkIconView.content-view.cell.check { + -gtk-icon-source: url("assets/grid-selection-unchecked-dark.svg"); +} + +GtkIconView.content-view.cell.check:active { + -gtk-icon-source: url("assets/grid-selection-checked-dark.svg"); +} diff --git a/themes/Numix/gtk-3.0/gtk-widgets-assets.css b/themes/Numix/gtk-3.0/gtk-widgets-assets.css @@ -0,0 +1,154 @@ +/******************* + * check and radio * + *******************/ +/* draw regular check and radio items using our assets */ +.check { + -gtk-icon-source: url("assets/checkbox-unchecked.svg"); +} + +.check:insensitive { + -gtk-icon-source: url("assets/checkbox-unchecked-insensitive.svg"); +} + +.check:checked { + -gtk-icon-source: url("assets/checkbox-checked.svg"); +} + +.check:checked:insensitive { + -gtk-icon-source: url("assets/checkbox-checked-insensitive.svg"); +} + +.check:inconsistent { + -gtk-icon-source: url("assets/checkbox-mixed.svg"); +} + +.check:inconsistent:insensitive { + -gtk-icon-source: url("assets/checkbox-mixed-insensitive.svg"); +} + +.radio { + -gtk-icon-source: url("assets/radio-unselected.svg"); +} + +.radio:insensitive { + -gtk-icon-source: url("assets/radio-unselected-insensitive.svg"); +} + +.radio:checked { + -gtk-icon-source: url("assets/radio-selected.svg"); +} + +.radio:checked:insensitive { + -gtk-icon-source: url("assets/radio-selected-insensitive.svg"); +} + +.radio:inconsistent { + -gtk-icon-source: url("assets/radio-mixed.svg"); +} + +.radio:inconsistent:insensitive { + -gtk-icon-source: url("assets/radio-mixed-insensitive.svg"); +} + +.menuitem.check { + -gtk-icon-source: none; +} + +.menuitem.check:active, +.menuitem.check:checked { + -gtk-icon-source: url("assets/menuitem-checkbox-checked.svg"); +} + +.menuitem.check:active:hover, +.menuitem.check:checked:hover { + -gtk-icon-source: url("assets/menuitem-checkbox-checked-hover.svg"); +} + +.menuitem.check:active:insensitive, +.menuitem.check:checked:insensitive { + -gtk-icon-source: url("assets/menuitem-checkbox-checked-insensitive.svg"); +} + +.menuitem.check:inconsistent:hover, +.menuitem.radio:inconsistent:hover { + -gtk-icon-source: url("assets/menuitem-checkbox-mixed-hover.svg"); +} + +.menuitem.check:inconsistent, +.menuitem.radio:inconsistent { + -gtk-icon-source: url("assets/menuitem-checkbox-mixed.svg"); +} + +.menuitem.check:inconsistent:insensitive, +.menuitem.radio:inconsistent:insensitive { + -gtk-icon-source: url("assets/menuitem-checkbox-mixed-insensitive.svg"); +} + +.menuitem.radio { + -gtk-icon-source: none; +} + +.menuitem.radio:active, +.menuitem.radio:checked { + -gtk-icon-source: url("assets/menuitem-radio-checked.svg"); +} + +.menuitem.radio:active:hover, +.menuitem.radio:checked:hover { + -gtk-icon-source: url("assets/menuitem-radio-checked-hover.svg"); +} + +.menuitem.radio:active:insensitive, +.menuitem.radio:checked:insensitive { + -gtk-icon-source: url("assets/menuitem-radio-checked-insensitive.svg"); +} + +GtkIconView.content-view.cell.check { + -gtk-icon-source: url("assets/grid-selection-unchecked.svg"); +} + +GtkIconView.content-view.cell.check:active { + -gtk-icon-source: url("assets/grid-selection-checked.svg"); +} + +/****************** + * pane separator * + ******************/ +.pane-separator, +.pane-separator.horizontal { + background-image: linear-gradient(to bottom, + shade(@theme_bg_color, 0.8) 0%, + shade(@theme_bg_color, 0.8) 20%, + transparent 20%, + transparent 45%, + shade(@theme_bg_color, 0.8) 45%, + shade(@theme_bg_color, 0.8) 55%, + transparent 55%, + transparent 80%, + shade(@theme_bg_color, 0.8) 80%, + shade(@theme_bg_color, 0.8) + ); + + background-size: 4px 10px; + background-repeat: no-repeat; + background-position: center center; +} + +.pane-separator.vertical { + background-image: linear-gradient(to right, + shade(@theme_bg_color, 0.8) 0%, + shade(@theme_bg_color, 0.8) 20%, + transparent 20%, + transparent 45%, + shade(@theme_bg_color, 0.8) 45%, + shade(@theme_bg_color, 0.8) 55%, + transparent 55%, + transparent 80%, + shade(@theme_bg_color, 0.8) 80%, + shade(@theme_bg_color, 0.8) + ); + + background-size: 10px 4px; + background-repeat: no-repeat; + background-position: center center; +} diff --git a/themes/Numix/gtk-3.0/gtk-widgets.css b/themes/Numix/gtk-3.0/gtk-widgets.css @@ -0,0 +1,3995 @@ +/* NOTES to contributors: + * use 4 spaces indents, and keep code ALIGNED and ORDERED */ + +/* default */ +* { + -GtkArrow-arrow-scaling: 0.5; + -GtkButton-child-displacement-x: 0; + -GtkButton-child-displacement-y: 0; + -GtkButton-default-border: 0; + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 1; + -GtkButton-interior-focus: true; + -GtkButtonBox-child-min-height: 24; + -GtkButtonBox-child-internal-pad-y: 1; + -GtkCheckButton-indicator-size: 16; + -GtkCheckMenuItem-indicator-size: 14; + -GtkExpander-expander-size: 8; + -GtkMenu-horizontal-padding: 0; + -GtkMenu-vertical-padding: 0; + -GtkPaned-handle-size: 4; + -GtkProgressBar-min-horizontal-bar-height: 12; + -GtkProgressBar-min-vertical-bar-width: 12; + -GtkRange-slider-width: 12; + -GtkRange-stepper-spacing: 0; + -GtkRange-trough-border: 0; + -GtkRange-trough-under-steppers: 1; + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + -GtkScrollbar-min-slider-length: 80; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkScrolledWindow-scrollbars-within-bevel: 1; + -GtkStatusbar-shadow-type: none; + -GtkTextView-error-underline-color: @error_color; + -GtkToolButton-icon-spacing: 6; + -GtkToolItemGroup-expander-size: 8; + -GtkTreeView-expander-size: 8; + -GtkWindow-resize-grip-height: 0; + -GtkWindow-resize-grip-width: 0; + -WnckTasklist-fade-overlay-rect: 0; + + /* legacy only */ + -GtkWidget-focus-line-width: 1; + -GtkWidget-focus-padding: 0; + + background-clip: padding-box; + + /* + outline-color: alpha(@theme_selected_bg_color, 0.5); + outline-style: dashed; + outline-width: 1px; + outline-offset: -2px; + outline-radius: 2px; + */ +} + +/*************** + * base states * + ***************/ +.background { + background-color: @theme_bg_color; + color: @theme_fg_color; +} + +.background:backdrop { + text-shadow: none; + icon-shadow: none; +} + +*:selected, +*:selected:focus { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +*:insensitive, +*:insensitive:insensitive { + color: mix(@theme_fg_color, @theme_bg_color, 0.5); +} + +/* apply effects to insensitive and prelit images */ +*:insensitive { + -gtk-image-effect: dim; +} + +*:hover { + -gtk-image-effect: highlight; +} + +.gtkstyle-fallback { + background-color: @theme_bg_color; + color: @theme_fg_color; +} + +.gtkstyle-fallback:prelight { + background-color: shade(@theme_bg_color, 1.1); + color: @theme_fg_color; +} + +.gtkstyle-fallback:active { + background-color: shade(@theme_bg_color, 0.9); + color: @theme_fg_color; +} + +.gtkstyle-fallback:insensitive { + background-color: shade(shade(@theme_bg_color, 0.95), 1.05); + color: mix(@theme_fg_color, @theme_bg_color, 0.5); +} + +.gtkstyle-fallback:selected { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +GtkImage, +GtkImage:insensitive, +GtkLabel, +GtkLabel:insensitive, +GtkBox, +GtkBox:insensitive, +GtkGrid, +GtkGrid:insensitive { + background-color: transparent; +} + +/************** + * hyperlinks * + **************/ +* { + -GtkHTML-link-color: @link_color; + -GtkIMHtml-hyperlink-color: @link_color; + -GtkWidget-link-color: @link_color; + -GtkWidget-visited-link-color: @link_color; +} + +*:link, +*:visited { + color: @link_color; +} + +/****************** + * visual effects * + ******************/ +/* transitions */ +.button { + transition: border 100ms ease-in-out; +} + +.entry { + transition: border 100ms ease-out; +} + +.entry:focus { + transition: border 100ms ease-in; +} + +.entry.image.left { + padding-right: 4px; +} + +.notebook tab GtkLabel, +.notebook .prelight-page, +.notebook .prelight-page GtkLabel, +.notebook .active-page, +.notebook .active-page GtkLabel { + transition: all 200ms ease-in; +} + +/* inset shadows */ +.button:active, +.primary-toolbar .button:active, +.toolbar .button:active, +.header-bar .button:active, +.button:checked, +.primary-toolbar .button:checked, +.toolbar .button:checked, +.header-bar .button:checked, +.notebook.header { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07), + inset 0 -1px alpha(@dark_shadow, 0.05); +} + +.entry { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.10), + inset 0 1px alpha(@dark_shadow, 0.12), + inset -1px 0 alpha(@dark_shadow, 0.10), + inset 0 -1px alpha(@dark_shadow, 0.05); +} + +/* disable inset shadow */ +.button:active:insensitive, +.primary-toolbar .button:active:insensitive, +.toolbar .button:active:insensitive, +.header-bar .button:active:insensitive, +.button:checked:insensitive, +.primary-toolbar .button:checked:insensitive, +.toolbar .button:checked:insensitive, +.header-bar .button:checked:insensitive, +.entry:insensitive { + box-shadow: none; +} + +/************* + * assistant * + *************/ +GtkAssistant .sidebar .highlight { + font: bold; +} + +GtkAssistant .sidebar { + padding: 4px; + border-width: 0 1px 0 0; + border-style: solid; + border-right-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + background-color: @theme_bg_color; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +/********** + * button * + **********/ +.button { + -GtkWidget-focus-padding: 1; + -GtkWidget-focus-line-width: 0; + + padding: 3px; + border-width: 1px; + border-radius: 2px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.08); + background-image: none; + color: @theme_fg_color; +} + +.button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.button:active, +.button:checked { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.button:active:hover, +.button:checked:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.button:focus, +.button:hover:focus, +.button:active:focus, +.button:active:hover:focus, +.button:checked:focus, +.button:checked:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.button:active:insensitive, +.button:checked:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/* default button */ +.button.default { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.08); + color: @theme_selected_fg_color; +} + +.button.default:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: @theme_selected_bg_color; +} + +.button.default:active, +.button.default:checked { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.95); +} + +.button.default:active:hover, +.button.default:checked:hover { + border-color: shade(@theme_selected_bg_color, 0.7); + background-color: shade(@theme_selected_bg_color, 0.97); +} + +.button.flat, +.button.flat:insensitive { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: none; +} + +/**************** + * cell and row * + ****************/ +.cell { + border-width: 0; + border-radius: 0; +} + +.cell:selected, +.cell:selected:focus { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +row:selected, +row:selected:hover, +row:selected:focus { + -GtkWidget-focus-padding: 1; + -GtkWidget-focus-line-width: 0; + + border-width: 1px 0; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +/***************** + * column-header * + *****************/ +column-header .button, +column-header .button:active, +column-header .button:checked { + border-width: 0 1px 1px 0; + border-radius: 0; +} + +column-header .button, +column-header .button:active, +column-header .button:checked, +column-header .button:focus, +column-header .button:active:focus, +column-header .button:checked:focus { + border-color: shade(@theme_base_color, 0.9); + border-bottom-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.97); + background-image: none; +} + +column-header .button:hover, +column-header .button:active:hover, +column-header .button:checked:hover, +column-header .button:hover:focus, +column-header .button:active:hover:focus, +column-header .button:checked:hover:focus { + border-color: shade(@theme_base_color, 0.9); + border-bottom-color: shade(@theme_base_color, 0.8); + background-color: shade(@theme_base_color, 0.99); + background-image: none; +} + +column-header:last-child .button { + border-width: 0 0 1px 0; +} + +/**************** + * content view * + ****************/ +.content-view.subtitle { + font: smaller; + padding: 0 12px; +} + +.content-view.view { + background-color: @theme_base_color; +} + +.content-view.view:prelight { + background-color: alpha(@theme_selected_bg_color, 0.6); +} + +.content-view.view:selected, +.content-view.view:active { + background-color: @theme_selected_bg_color; +} + +.content-view.view:insensitive { + background-color: shade(@theme_base_color, 0.9); +} + +GdMainIconView.content-view { + -GdMainIconView-icon-size: 40; +} + +GtkIconView.content-view.check { + background-color: transparent; +} + +GtkIconView.content-view.check:active { + background-color: transparent; +} + +.content-view.view.check, +.content-view.view.check:active { + background-color: transparent; +} + +GtkIconView.content-view.check:prelight, +GtkIconView.content-view.check:insensitive, +GtkIconView.content-view.check:selected { + background-color: transparent; +} + +/**************** + * drawing area * + ****************/ +GtkDrawingArea { + background-color: transparent; +} + +GtkDrawingArea:insensitive { + background-color: shade(@theme_base_color, 0.9); +} + +/*********** + * gtkhtml * + ***********/ +GtkHTML { + background-color: @theme_base_color; + color: @theme_text_color; +} + +/*********** +* calendar * +************/ +GtkCalendar { + padding: 4px; + outline-offset: -1px; +} + +GtkCalendar:inconsistent { + color: mix(@theme_fg_color, @theme_bg_color, 0.5); +} + +GtkCalendar.view, +GtkCalendar.header, +GtkCalendar.button, +GtkCalendar.button:hover, +GtkCalendar.button:insensitive { + border-width: 0; + background-color: transparent; + background-image: none; +} + +.highlight, +GtkCalendar.highlight { + border-width: 0; + background-color: transparent; + color: @theme_selected_bg_color; +} + +/****************** + * combobox entry * + ******************/ +.primary-toolbar GtkComboBox.combobox-entry .entry, +.primary-toolbar GtkComboBox.combobox-entry .entry:active, +.primary-toolbar GtkComboBox.combobox-entry .entry:focus, +.primary-toolbar GtkComboBox.combobox-entry .entry:insensitive, +GtkComboBox.combobox-entry .entry, +GtkComboBox.combobox-entry .entry:active, +GtkComboBox.combobox-entry .entry:focus, +GtkComboBox.combobox-entry .entry:insensitive { + border-width: 1px 0 1px 1px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.primary-toolbar GtkComboBox.combobox-entry .button, +.primary-toolbar GtkComboBox.combobox-entry .button:hover, +.primary-toolbar GtkComboBox.combobox-entry .button:active, +.primary-toolbar GtkComboBox.combobox-entry .button:checked, +.primary-toolbar GtkComboBox.combobox-entry .button:insensitive, +GtkComboBox.combobox-entry .button, +GtkComboBox.combobox-entry .button:hover, +GtkComboBox.combobox-entry .button:active, +GtkComboBox.combobox-entry .button:checked, +GtkComboBox.combobox-entry .button:insensitive { + border-width: 1px 1px 1px 1px; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +/********* + * entry * + *********/ +.entry { + padding: 4px 3px; + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 2px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +.entry:active, +.entry:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.entry:selected, +.entry:selected:focus { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +.entry:insensitive { + background-color: shade(@theme_bg_color, 0.95); + background-image: none; + color: mix(@theme_text_color, @theme_base_color, 0.5); +} + +.entry.progressbar { + border-width: 0; + border-radius: 2px; + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +/************ + * expander * +************/ +GtkExpander { + padding: 3px; + outline-offset: 1px; +} + +.expander { + color: alpha(currentColor, 0.7); + border: alpha(currentColor, 0.7); +} + +.expander:hover { + color: alpha(currentColor, 0.8); + border-color: alpha(currentColor, 0.8); +} + +.expander:active { + color: alpha(currentColor, 0.9); + border-color: alpha(currentColor, 0.9); +} + +/************** + * list boxes * + **************/ +.list { + background-image: none; + background-color: transparent; +} + +.list-row { + border: none; + border-radius: 0; + padding: 3px; + background-image: none; + background-color: transparent; +} + +.list-row:hover { + background-image: none; + background-color: shade(@theme_bg_color, 1.02); +} + +.list-row:selected { + background-image: none; + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +/************** +* flow boxes * +**************/ + +.grid-child { + padding: 3px; +} + +/********* + * frame * + *********/ +.frame { + border: 1px solid shade(@theme_bg_color, 0.8); + border-radius: 0; +} + +.frame.flat { + border: none; + box-shadow: none; +} + +/******************* + * scrolled window * + *******************/ +GtkScrolledWindow.frame { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; +} + +/* avoid double borders when a viewport is + * packed into a GtkScrolledWindow */ +GtkScrolledWindow GtkViewport.frame { + border-style: none; +} + +/************ + * iconview * + ************/ +GtkIconView.view.cell:selected, +GtkIconView.view.cell:selected:focus { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + border-radius: 2px; + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +.content-view.view.rubberband, +.view.rubberband, +.rubberband { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + border-radius: 0; + background-color: alpha(@theme_selected_bg_color, 0.3); +} + +/*********** + * infobar * + ***********/ +GtkInfoBar { + border-width: 0; + border-style: none; +} + +.info { + border-width: 1px; + border-style: solid; + border-color: shade(@info_bg_color, 0.8); + background-color: @info_bg_color; + background-image: none; + color: @info_fg_color; +} + +.info .button { + border-top-color: shade(@info_bg_color, 0.8); + border-right-color: shade(@info_bg_color, 0.72); + border-left-color: shade(@info_bg_color, 0.72); + border-bottom-color: shade(@info_bg_color, 0.7); + background-color: shade(@info_bg_color, 1.08); + color: @info_fg_color; +} + +.info .button:hover { + border-top-color: shade(@info_bg_color, 0.85); + border-right-color: shade(@info_bg_color, 0.78); + border-left-color: shade(@info_bg_color, 0.78); + border-bottom-color: shade(@info_bg_color, 0.7); + background-color: shade(@info_bg_color, 1.10); +} + +.info .button:active, +.info .button:checked { + border-color: shade(@info_bg_color, 0.6); + background-color: shade(@info_bg_color, 0.95); +} + +.info .button:active:hover, +.info .button:active:checked { + border-top-color: shade(@info_bg_color, 0.85); + border-right-color: shade(@info_bg_color, 0.78); + border-left-color: shade(@info_bg_color, 0.78); + border-bottom-color: shade(@info_bg_color, 0.7); +} + +.info .button.close { + color: @info_fg_color; +} + +.info .button.close:hover { + background-color: alpha(white, 0.2); +} + +.info .button.close:active { + color: @info_fg_color; + background-color: alpha(black, 0.1); +} + +.warning { + border-width: 1px; + border-style: solid; + border-color: shade(@warning_bg_color, 0.8); + background-color: @warning_bg_color; + background-image: none; + color: @warning_fg_color; +} + +.warning .button { + border-top-color: shade(@warning_bg_color, 0.8); + border-right-color: shade(@warning_bg_color, 0.72); + border-left-color: shade(@warning_bg_color, 0.72); + border-bottom-color: shade(@warning_bg_color, 0.7); + background-color: shade(@warning_bg_color, 1.08); + color: @warning_fg_color; +} + +.warning .button:hover { + border-top-color: shade(@warning_bg_color, 0.85); + border-right-color: shade(@warning_bg_color, 0.78); + border-left-color: shade(@warning_bg_color, 0.78); + border-bottom-color: shade(@warning_bg_color, 0.7); + background-color: shade(@warning_bg_color, 1.10); +} + +.warning .button:active, +.warning .button:checked { + border-color: shade(@warning_bg_color, 0.6); + background-color: shade(@warning_bg_color, 0.95); +} + +.warning .button:active:hover, +.warning .button:checked:hover { + border-top-color: shade(@warning_bg_color, 0.85); + border-right-color: shade(@warning_bg_color, 0.78); + border-left-color: shade(@warning_bg_color, 0.78); + border-bottom-color: shade(@warning_bg_color, 0.7); +} + +.warning .button.close { + color: @warning_fg_color; +} + +.warning .button.close:hover { + background-color: alpha(white, 0.2); +} + +.warning .button.close:active { + color: @warning_fg_color; + background-color: alpha(black, 0.1); +} + +.question { + border-width: 1px; + border-style: solid; + border-color: shade(@question_bg_color, 0.8); + background-color: @question_bg_color; + background-image: none; + color: @question_fg_color; +} + +.question .button { + border-top-color: shade(@question_bg_color, 0.8); + border-right-color: shade(@question_bg_color, 0.72); + border-left-color: shade(@question_bg_color, 0.72); + border-bottom-color: shade(@question_bg_color, 0.7); + background-color: shade(@question_bg_color, 1.08); + color: @question_fg_color; +} + +.question .button:hover { + border-top-color: shade(@question_bg_color, 0.85); + border-right-color: shade(@question_bg_color, 0.78); + border-left-color: shade(@question_bg_color, 0.78); + border-bottom-color: shade(@question_bg_color, 0.7); + background-color: shade(@question_bg_color, 1.10); +} + +.question .button:active, +.question .button:checked { + border-color: shade(@question_bg_color, 0.6); + background-color: shade(@question_bg_color, 0.95); +} + +.question .button:active:hover, +.question .button:checked:hover { + border-top-color: shade(@question_bg_color, 0.85); + border-right-color: shade(@question_bg_color, 0.78); + border-left-color: shade(@question_bg_color, 0.78); + border-bottom-color: shade(@question_bg_color, 0.7); +} + +.question .button.close { + color: @question_fg_color; +} + +.question .button.close:hover { + background-color: alpha(white, 0.2); +} + +.question .button.close:active { + color: @question_fg_color; + background-color: alpha(black, 0.1); +} + +.error { + border-width: 1px; + border-style: solid; + border-color: shade(@error_bg_color, 0.8); + background-color: @error_bg_color; + background-image: none; + color: @error_fg_color; +} + +.error .button { + border-top-color: shade(@error_bg_color, 0.8); + border-right-color: shade(@error_bg_color, 0.72); + border-left-color: shade(@error_bg_color, 0.72); + border-bottom-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 1.08); + color: @error_fg_color; +} + +.error .button:hover { + border-top-color: shade(@error_bg_color, 0.85); + border-right-color: shade(@error_bg_color, 0.78); + border-left-color: shade(@error_bg_color, 0.78); + border-bottom-color: shade(@error_bg_color, 0.7); + background-color: shade(@error_bg_color, 1.10); +} + +.error .button:active, +.error .button:checked { + border-color: shade(@error_bg_color, 0.6); + background-color: shade(@error_bg_color, 0.95); +} + +.error .button:active:hover, +.error .button:checked:hover { + border-top-color: shade(@error_bg_color, 0.85); + border-right-color: shade(@error_bg_color, 0.78); + border-left-color: shade(@error_bg_color, 0.78); + border-bottom-color: shade(@error_bg_color, 0.7); +} + +.error .button.close { + color: @error_fg_color; +} + +.error .button.close:hover { + background-color: alpha(white, 0.2); +} + +.error .button.close:active { + color: @error_fg_color; + background-color: alpha(black, 0.1); +} + +/******************* + * symbolic images * + *******************/ +.image { + color: alpha(currentColor, 0.5); +} + +.image:hover { + color: alpha(currentColor, 0.9); +} + +.image:selected, +.image:selected:hover { + color: @theme_selected_fg_color; +} + +.view.image, +.view.image:hover { + color: alpha(currentColor, 0.9); +} + +.view.image:selected, +.view.image:selected:hover { + color: @theme_selected_fg_color; +} + +/***************** + * miscellaneous * + *****************/ +.floating-bar { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 2px; + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.floating-bar.top { + border-top-width: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.floating-bar.right { + border-right-width: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.floating-bar.bottom { + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.floating-bar.left { + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.floating-bar .button { + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 0; + + border-style: none; + background-color: transparent; + background-image: none; +} + +.view.dim-label, +.dim-label { + color: alpha(currentColor, 0.5); +} + +.dnd { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); +} + +.grip { + background-color: transparent; +} + +.arrow { + color: alpha(currentColor, 0.7); +} + +/******** + * menu * + ********/ +GtkTreeMenu.menu, +GtkMenuToolButton.menu, +GtkComboBox .menu { + background-color: @menu_bg_color; + margin: 3px; +} + +.primary-toolbar .menu, +.primary-toolbar .button .menu, +.toolbar .menu, +.toolbar .primary-toolbar .menu, +.header-bar .menu, +.header-bar .primary-toolbar .menu, +.menu { + padding: 0; + border-radius: 0; + border-style: none; + background-color: @menu_bg_color; + color: @menu_fg_color; +} + +/* Hover-effect on play-button in ubuntu soundmenu */ +.menu:selected { + background-color: @selected_bg_color; +} + +.menu.button:hover, +.menu.button:active, +.menu.button:checked, +.menu.button:active:insensitive, +.menu.button:checked:insensitive, +.menu.button:insensitive, +.menu.button { + border-width: 0; + background-color: @menu_bg_color; + background-image: none; +} + +.context-menu { + font: initial; +} + +/* ubuntu software center menu */ +#toolbar-popup { + background-color: @menu_bg_color; + color: @menu_fg_color; +} + +/*********** + * menubar * + ***********/ +.menubar { + -GtkWidget-window-dragging: true; + + border-style: none; + background-color: @menubar_bg_color; + background-image: none; + color: @menubar_fg_color; +} + +/*************** + * menubaritem * + ***************/ +.menubar.menuitem, +.menubar .menuitem { + padding: 3px 5px; + border-width: 1px; + border-style: solid; + border-color: transparent; + background-color: transparent; + background-image: none; + color: @menubar_fg_color; +} + +.menubar.menuitem:hover, +.menubar .menuitem:hover { + border-color: mix(@menubar_bg_color, @menubar_fg_color, 0.21); + background-color: mix(@menubar_bg_color, @menubar_fg_color, 0.21); + background-image: none; + color: shade(@menubar_fg_color, 1.08); +} + +.menubar .menuitem *:hover { + color: shade(@menubar_fg_color, 1.08); +} + +/************ + * menuitem * + ************/ +GtkTreeMenu .menuitem { + padding: 0; + border-width: 0; +} + +.menuitem, +.menu .menuitem { + -GtkMenuItem-arrow-scaling: 0.5; + + padding: 3px; + border-width: 1px; + border-style: solid; + border-color: transparent; + border-radius: 0; + background-color: transparent; + background-image: none; + color: @menu_fg_color; +} + +.menu .menuitem:active, +.menu .menuitem:hover { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; +} + +.menu .menuitem:active, +.menu .menuitem *:active, +.menu .menuitem:hover, +.menu .menuitem *:hover { + color: @theme_selected_fg_color; +} + +.menu .menuitem:insensitive, +.menu .menuitem *:insensitive { + color: mix(@menu_fg_color, @menu_bg_color, 0.5); +} + +.menuitem.check, +.menuitem.radio, +.menuitem.check:hover, +.menuitem.radio:hover, +.menuitem.check:insensitive, +.menuitem.radio:insensitive { + border-style: none; + background-color: transparent; + background-image: none; +} + +.menuitem.check:active, +.menuitem.radio:active { + border-style: none; + background-color: transparent; +} + +.menuitem GtkCalendar:inconsistent { + color: mix(@menu_fg_color, @menu_bg_color, 0.5); +} + +.menuitem GtkCalendar.button { + border-style: none; + background-color: transparent; + background-image: none; +} + +.menuitem .entry { + border-color: shade(@menu_bg_color, 0.7); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +.menuitem .entry:active, +.menuitem .entry:focus { + border-color: shade(@menu_bg_color, 0.7); +} + +.menuitem .accelerator { + color: alpha(@menu_fg_color, 0.6); +} + +.menuitem .accelerator:hover { + color: alpha(@theme_selected_fg_color, 0.8); +} + +.menuitem .accelerator:insensitive { + color: alpha(mix(@menu_fg_color, @menu_bg_color, 0.5), 0.6); +} + +GtkModelMenuItem GtkBox GtkImage { + padding-right: 4px; +} + +/************ + * popovers * + ************/ +GtkPopover { + margin: 10px; + padding: 2px; + border-radius: 2px; + border-color: shade(@menu_bg_color, 0.8); + border-width: 1px; + border-style: solid; + background-clip: border-box; + background-image: none; + background-color: @menu_bg_color; + color: @menu_fg_color; + box-shadow: 0 2px 3px alpha(black, 0.5); +} + +GtkPopover.background { + background-image: none; + background-color: @menu_bg_color; +} + +GtkPopover:backdrop { + box-shadow: none; +} + +GtkPopover.osd { + box-shadow: 0 2px 7px 3px alpha(black, 0.5); +} + +GtkPopover > .list, +GtkPopover > .view, +GtkPopover > .toolbar { + background-image: none; + background-color: transparent; +} + +GtkPopover .list-row { + color: @menu_fg_color; +} + +GtkPopover .list-row:hover { + background-image: none; + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +GtkPopover .frame { + border: 1px solid mix(@menu_bg_color, @menu_fg_color, 0.12); + border-radius: 2px; +} + +GtkPopover .entry { + border-color: mix(@menu_bg_color, @menu_fg_color, 0.12); + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +GtkPopover .entry:hover, +GtkPopover .entry:focus, +GtkPopover .entry:active { + border-color: mix(@menu_bg_color, @menu_fg_color, 0.21); +} + +GtkPopover.osd > .toolbar .button { + border-radius: 0; + border-width: 0; + background-image: none; + background-color: transparent; +} + +GtkPopover .separator { + border: 0; + background-color: transparent; + color: alpha(currentColor, 0.1); + font-size: 80%; + font-weight: bold; +} + +.menuitem.button { + color: @menu_fg_color; +} + +.menuitem.button, +.menuitem.button:active, +.menuitem.button:checked, +.menuitem.button:insensitive, +.menuitem.button:active:insensitive, +.menuitem.button:checked:insensitive { + background-color: transparent; + background-image: none; + border: none; + box-shadow: none; + color: @menu_fg_color; +} + +.menuitem.button:active:hover, +.menuitem.button:checked:hover, +.menuitem.button:hover, +.menuitem.button:selected { + border: none; + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GtkModelButton.button { + color: @menu_fg_color; +} + + +GtkModelButton.button:focus, +GtkModelButton.button:active:focus, +GtkModelButton.button:checked:focus, +GtkModelButton.button:active, +GtkModelButton.button:checked, +GtkModelButton.button:insensitive:insensitive, +GtkModelButton.button:active:insensitive, +GtkModelButton.button:checked:insensitive, +GtkModelButton.button { + background-color: transparent; + background-image: none; + border-color: transparent; + border-image: none; + border-style: none; + box-shadow: none; +} + +GtkModelButton.button:backdrop, +GtkModelButton.button:hover:backdrop, +GtkModelButton.button:insensitive:backdrop, +GtkModelButton.button:active:insensitive:backdrop, +GtkModelButton.button:active:backdrop, +GtkModelButton.button:active:hover:backdrop, +GtkModelButton.button:active:selected:backdrop, +GtkModelButton.button:checked:insensitive:backdrop, +GtkModelButton.button:checked:backdrop, +GtkModelButton.button:checked:hover:backdrop, +GtkModelButton.button:checked:selected:backdrop { + text-shadow: none; + icon-shadow: none; + color: @theme_selected_fg_color; + background-color: transparent; + background-image: none; + border-color: transparent; + border-image: none; + border-style: none; + box-shadow: none; +} + +GtkModelButton.button:active:hover, +GtkModelButton.button:checked:hover, +GtkModelButton.button:hover, +GtkModelButton.button:selected { + background-image: none; + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; + text-shadow: none; + border-width: 0; + border-color: transparent; + border-radius: 2px; +} + +/************ + * notebook * + ************/ +.notebook { + padding: 0; + border-width: 1px 0 0 0; + border-style: solid; + border-color: shade(@theme_base_color, 0.7); + border-radius: 0; + background-color: @theme_base_color; + background-image: none; + background-clip: border-box; + + -GtkNotebook-initial-gap: 0; + -GtkNotebook-arrow-spacing: 5; + -GtkNotebook-tab-curvature: 0; + -GtkNotebook-tab-overlap: 1; + -GtkNotebook-has-tab-gap: false; +} + +.notebook.frame { + border-width: 1px; +} + +.notebook.header { + border-width: 0; + background-color: shade(@theme_base_color, 0.85); +} + +.notebook.header.frame { + border-color: shade(@theme_base_color, 0.75); +} + +.notebook.header.frame.top { + border-width: 1px 1px 0 1px; +} + +.notebook.header.frame.right { + border-width: 1px 1px 1px 0; +} + +.notebook.header.frame.bottom { + border-width: 0 1px 1px 1px; +} + +.notebook.header.frame.left { + border-width: 1px 0 1px 1px; +} + +.notebook GtkViewport { + border-width: 0; + background-color: @theme_base_color; + color: @theme_text_color; +} + +.notebook tab { + padding: 4px 6px; + border-style: solid; + border-width: 1px; + border-color: transparent; + background-color: transparent; + background-image: none; +} + +.notebook tab:active { + background-color: transparent; + background-image: none; +} + +.notebook tab.top { + border-bottom-width: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.notebook tab.top:hover { + border-bottom-color: alpha(@theme_selected_bg_color, 0.3); +} + +.notebook tab.top:active { + border-bottom-color: @theme_selected_bg_color; +} + +.notebook tab.right { + border-left-width: 2px; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.notebook tab.right:hover { + border-left-color: alpha(@theme_selected_bg_color, 0.3); +} + +.notebook tab.right:active { + border-left-color: @theme_selected_bg_color; +} + +.notebook tab.bottom { + border-top-width: 2px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.notebook tab.bottom:hover { + border-top-color: alpha(@theme_selected_bg_color, 0.3); +} + +.notebook tab.bottom:active { + border-top-color: @theme_selected_bg_color; +} + +.notebook tab.left { + border-right-width: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.notebook tab.left:hover { + border-right-color: alpha(@theme_selected_bg_color, 0.3); +} + +.notebook tab.left:active { + border-right-color: @theme_selected_bg_color; +} + +.notebook tab GtkLabel { + color: mix(@theme_text_color, @theme_base_color, 0.3); +} + +.notebook .prelight-page, +.notebook .prelight-page GtkLabel { + color: mix (@theme_text_color, @theme_base_color, 0.15); +} + +.notebook .active-page, +.notebook .active-page GtkLabel { + color: @theme_text_color; +} + +.notebook tab.reorderable-page:hover { + background-color: shade(@theme_base_color, 0.85); + border-left: 0; + border-right: 0; + /* using box shadows instead of borders due to slanted edges */ + box-shadow: inset 0 3px alpha(black, 0.03), inset 0 2px alpha(black, 0.03), inset 0 1px alpha(black, 0.03), + inset 1px 0 shade(@theme_base_color, 0.7), inset -1px 0 shade(@theme_base_color, 0.7); +} + +.notebook tab.reorderable-page:active { + background-color: shade(@theme_base_color, 0.90); + border-left: 0; + border-right: 0; + box-shadow: inset 0 3px alpha(black, 0.03), inset 0 2px alpha(black, 0.03), inset 0 1px alpha(black, 0.03), + inset 1px 0 shade(@theme_base_color, 0.75), inset -1px 0 shade(@theme_base_color, 0.75); +} + +/* close button styling */ +.notebook tab .button, +.notebook tab .button:active, +.notebook tab .button:checked, +.notebook tab .button:hover { + padding: 1px; + border-width: 1px; + border-radius: 2px; + border-style: solid; + border-color: transparent; + background-image: none; + background-color: transparent; + color: mix(@theme_text_color, @theme_base_color, 0.5); +} + +.notebook tab .button:hover { + color: @theme_text_color; + border-color: shade(@theme_base_color, 0.8); +} + +.notebook tab .button:active, +.notebook tab .button:checked, +.notebook tab .button:active:hover, +.notebook tab .button:checked:hover { + border-color: shade(@theme_base_color, 0.7); + background-color: shade(@theme_base_color, 0.95); +} + +/****************** + * pane separator * + ******************/ +.pane-separator { + background-color: @theme_bg_color; + color: transparent; +} + +/************************* + * progressbar and scale * + *************************/ +GtkProgressBar { + padding: 0; + border-width: 1px; + border-radius: 2px; + font-size: smaller; + color: alpha(@theme_fg_color, 0.6); +} + +.progressbar, +.progressbar row, +.progressbar row:hover, +.progressbar row:selected, +.progressbar row:selected:focus { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: linear-gradient(to bottom, + @theme_selected_bg_color, + @theme_selected_bg_color + ); +} + +.progressbar.vertical { + background-color: @theme_selected_bg_color; + background-image: linear-gradient(to right, + @theme_selected_bg_color, + @theme_selected_bg_color + ); +} + +.trough, +.trough row, +.trough row:hover, +.trough row:selected, +.trough row:selected:focus { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.08); + background-image: none; +} + +.trough.vertical { + background-color: shade(@theme_bg_color, 1.08); + background-image: none; +} + +/* level bars as used for password quality or remaining power */ +GtkLevelBar { + -GtkLevelBar-min-block-width: 34; + -GtkLevelBar-min-block-height: 2; +} + +GtkLevelBar.vertical { + -GtkLevelBar-min-block-width: 2; + -GtkLevelBar-min-block-height: 34; +} + +.level-bar.trough { + padding: 1px; + border-radius: 2px; +} + +.level-bar.fill-block { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; +} + +.level-bar.indicator-continuous.fill-block { + padding: 1px; + border-radius: 2px; +} + +.level-bar.indicator-discrete.fill-block.horizontal { + margin: 0 1px; +} + +.level-bar.indicator-discrete.fill-block.vertical { + margin: 1px 0; +} + +/* discrete indicator border rounding, + uncomment when :nth-child will be working + on the widget + +.level-bar.indicator-discrete.fill-block.horizontal:first-child { + border-radius: 2px 0 0 2px; +} + +.level-bar.indicator-discrete.fill-block.horizontal:last-child { + border-radius: 0 2px 2px 0; +} + +.level-bar.indicator-discrete.fill-block.vertical:first-child { + border-radius: 2px 2px 0 0; +} + +.level-bar.indicator-discrete.fill-block.vertical:last-child { + border-radius: 0 0 2px 2px; +} +*/ + +.level-bar.fill-block.level-high { + border-color: shade(@success_color, 0.85); + background-image: linear-gradient(to bottom, + shade(@success_color, 1.2), + @success_color 75%, + shade(@success_color, 0.95) + ); +} + +.level-bar.fill-block.level-low { + border-color: shade(@warning_color, 0.80); + background-image: linear-gradient(to bottom, + shade(@warning_color, 1.3), + @warning_color 75%, + shade(@warning_color, 0.9) + ); +} + +.level-bar.fill-block.empty-fill-block { + border-color: alpha(@theme_fg_color, 0.1); + background-color: transparent; + background-image: none; +} + +.scale { + -GtkRange-slider-width: 16; + -GtkRange-trough-border: 1; + -GtkScale-slider-length: 16; + + padding: 0; + border-width: 1px; + border-radius: 2px; + outline-offset: -1px; +} + +.scale.slider { + border-radius: 8px; + background-color: shade(@theme_bg_color, 1.08); + background-image: none; + /* we will draw the border using box shadow for now */ + box-shadow: inset 1px 0 shade(@theme_bg_color, 0.8), + inset 0 1px shade(@theme_bg_color, 0.8), + inset -1px 0 shade(@theme_bg_color, 0.8), + inset 0 -1px shade(@theme_bg_color, 0.8); +} + +.scale.slider:hover { + box-shadow: inset 1px 0 shade(@theme_bg_color, 0.7), + inset 0 1px shade(@theme_bg_color, 0.7), + inset -1px 0 shade(@theme_bg_color, 0.7), + inset 0 -1px shade(@theme_bg_color, 0.7); +} + +.scale.slider:insensitive { + background-color: shade(@theme_bg_color, 0.9); + background-image: none; + box-shadow: inset 1px 0 shade(@theme_bg_color, 0.85), + inset 0 1px shade(@theme_bg_color, 0.85), + inset -1px 0 shade(@theme_bg_color, 0.85), + inset 0 -1px shade(@theme_bg_color, 0.85); +} + +.scale.slider.fine-tune:active, +.scale.slider.fine-tune:active:hover, +.scale.slider.fine-tune.horizontal:active, +.scale.slider.fine-tune.horizontal:active:hover { + background-size: 50%; + background-repeat: no-repeat; + background-position: center; +} + +.scale.mark { + border-color: shade(@theme_bg_color, 0.8); +} + +.scale.trough { + margin: 7px 0; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_bg_color, 1.08); + background-image: none; +} + +.scale.trough.vertical { + margin: 0 7px; +} + +.menuitem .scale.highlight.left, +.scale.highlight.left { + border-color: @theme_selected_bg_color; + background-color: @theme_selected_bg_color; + background-image: none; +} + +.menuitem .scale.highlight.left:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 0.8); +} + +.scale.highlight.bottom { + border-color: @theme_selected_bg_color; + background-color: @theme_selected_bg_color; + background-image: none; +} + +.scale.trough:insensitive, +.scale.highlight.left:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +/************* + * scrollbar * + *************/ +.scrollbar { + border-width: 1px; + border-style: solid; + padding: 0; +} + +.scrollbars-junction, +.scrollbar.trough { + border-width: 0; + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; +} + +.scrollbar.button, +.scrollbar.button:active, +.scrollbar.button:checked, +.scrollbar.button:active:hover, +.scrollbar.button:checked:hover { + border-width: 0; + border-radius: 0; + background-color: transparent; + background-image: none; + color: shade(@theme_bg_color, 0.6); +} + +.scrollbar.slider { + border-width: 1px; + border-color: mix(shade(@theme_bg_color, 0.87), @theme_fg_color, 0.21); + border-radius: 0; + background-color: mix(@theme_bg_color, @theme_fg_color, 0.21); +} + +.scrollbar.slider:hover, +.scrollbar.slider.vertical:hover { + border-color: mix(shade(@theme_bg_color, 0.87), @theme_fg_color, 0.31); + background-color: mix(@theme_bg_color, @theme_fg_color, 0.31); +} + +.scrollbar.slider:active, +.scrollbar.slider.vertical:active { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; +} + +.scrollbar.slider.fine-tune:prelight:active { + border-width: 2px; + border-color: transparent; +} + +/* overlay scrollbar */ +OsThumb { + color: shade(@theme_bg_color, 0.7); +} + +OsThumb:selected, +OsScrollbar:selected { + background-color: @theme_selected_bg_color; +} + +OsThumb:active, +OsScrollbar:active { + background-color: @theme_selected_bg_color; +} + +OsThumb:insensitive, +OsScrollbar:insensitive { + background-color: shade(@theme_bg_color, 0.9); +} + +/************* + * separator * + *************/ +.sidebar.separator, +.sidebar.view.separator, +.sidebar .view.separator, +.view.separator, +.separator { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.9); + color: shade(@theme_bg_color, 0.9); +} + +.button .separator, +.button.separator { + border-color: shade(@theme_bg_color, 0.95); +} + +.button .separator:insensitive, +.button.separator:insensitive { + border-color: shade(@theme_bg_color, 0.85); +} + +.primary-toolbar GtkSeparatorToolItem, +.primary-toolbar .separator, +.primary-toolbar .separator:insensitive, +.toolbar GtkSeparatorToolItem, +.toolbar .separator, +.toolbar .separator:insensitive { + -GtkWidget-window-dragging: true; + + border-color: shade(@toolbar_bg_color, 0.95); + color: shade(@toolbar_bg_color, 0.95); +} + +.header-bar GtkSeparatorToolItem, +.header-bar .separator, +.header-bar .separator:insensitive, +.titlebar GtkSeparatorToolItem, +.titlebar .separator, +.titlebar .separator:insensitive { + -GtkWidget-window-dragging: true; + + border-color: shade(@titlebar_bg_color, 0.95); + color: shade(@titlebar_bg_color, 0.95); +} + +.primary-toolbar .button .separator, +.primary-toolbar .button.separator, +.toolbar .button .separator, +.toolbar .button.separator { + border-color: shade(@toolbar_bg_color, 0.95); +} + +.header-bar .button .separator, +.header-bar .button.separator, +.titlebar .button .separator, +.titlebar .button.separator { + border-color: shade(@titlebar_bg_color, 0.95); +} + +.primary-toolbar .button .separator:insensitive, +.primary-toolbar .button.separator:insensitive, +.toolbar .button .separator:insensitive, +.toolbar .button.separator:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); +} + +.header-bar .button .separator:insensitive, +.header-bar .button.separator:insensitive, +.titlebar .button .separator:insensitive, +.titlebar .button.separator:insensitive { + border-color: shade(@titlebar_bg_color, 0.85); +} + +.menuitem.separator { + -GtkMenuItem-horizontal-padding: 0; + -GtkWidget-separator-height: 1; + + border-style: none; + color: shade(@menu_bg_color, 0.9); +} + +GtkComboBox .separator { + /* always disable separators */ + -GtkWidget-wide-separators: true; + -GtkWidget-horizontal-separator: 0; + -GtkWidget-vertical-separator: 0; + + border-style: none; +} + +/*********** + * sidebar * + ***********/ +.sidebar, +.sidebar.view, +.sidebar .view, +.sidebar GtkScrolledWindow { + background-color: @theme_bg_color; + color: mix(@theme_fg_color, @theme_bg_color, 0.1); +} + +.sidebar row:selected, +.sidebar row:selected:hover, +.sidebar row:selected:focus, +.sidebar .view row:selected, +.sidebar .view row:selected:hover, +.sidebar .view row:selected:focus { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +.sidebar row:prelight, +.sidebar .view row:prelight { + border-color: shade(@theme_bg_color, 1.05); + background-color: shade(@theme_bg_color, 1.05); + background-image: none; + color: @theme_fg_color; +} + +.sidebar row:selected:prelight, +.sidebar .view row:selected:prelight { + border-color: shade(@theme_selected_bg_color, 1.05); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; + color: @theme_selected_fg_color; +} + +.sidebar .frame { + border-width: 0; +} + +/************** + * spinbutton * + **************/ +.spinbutton .button { + color: mix(@theme_text_color, @theme_base_color, 0.4); + padding: 2px 4px; + border-width: 0; + border-radius: 0; + border-style: none; + background-color: transparent; + background-image: none; + box-shadow: inset 1px 0 shade(@theme_base_color, 0.9); +} + +.spinbutton .button:insensitive { + color: mix(@theme_text_color, @theme_base_color, 0.7); + box-shadow: inset 1px 0 shade(@theme_bg_color, 0.95); +} + +.spinbutton .button:active, +.spinbutton .button:checked, +.spinbutton .button:hover { + color: @theme_fg_color; +} + +.spinbutton .button:first-child { + border-radius: 2px 0 0 2px; + box-shadow: none; +} + +.spinbutton .button:last-child { + border-radius: 0 2px 2px 0; +} + +.spinbutton .button:dir(rtl) { + box-shadow: inset -1px 0 shade(@theme_base_color, 0.9); +} + +.spinbutton.vertical .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 2px; + background-color: shade(@theme_bg_color, 1.08); + background-image: none; + color: @theme_fg_color; + box-shadow: none; +} + +.spinbutton.vertical .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.spinbutton.vertical .button:active, +.spinbutton.vertical .button:checked { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.spinbutton.vertical .button:active:hover, +.spinbutton.vertical .button:checked:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.spinbutton.vertical .button:focus, +.spinbutton.vertical .button:hover:focus, +.spinbutton.vertical .button:active:focus, +.spinbutton.vertical .button:active:hover:focus, +.spinbutton.vertical .button:checked:focus, +.spinbutton.vertical .button:checked:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.spinbutton.vertical .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.spinbutton.vertical .button:first-child { + border-width: 1px; + border-bottom-width: 0; + border-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.spinbutton.vertical .button:last-child { + border-width: 1px; + border-top-width: 0; + border-radius: 2px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.spinbutton.vertical.entry { + border-width: 1px; + border-style: solid; + border-radius: 0; +} + +/*********** + * spinner * + ***********/ +@keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } +} + +.spinner { + background-image: none; + background-color: blue; + opacity: 0; + + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); +} + +.spinner:active { + opacity: 1; + animation: spin 1s linear infinite; +} + +.spinner:active:insensitive { opacity: 0.5; } + +.menu.spinner, +.menu .spinner, +.menu .spinner:hover, +.primary-toolbar .spinner { + color: @theme_selected_bg_color; + border: none; + box-shadow: none; +} + +/************* + * statusbar * + *************/ +GtkStatusbar { + padding: 4px; + color: @theme_fg_color; +} + +/********** + * switch * + **********/ +GtkSwitch { + padding: 0; + border-radius: 2px; + font: bold condensed; + outline-offset: -4px; +} + +GtkSwitch.slider { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 1.08); + background-image: none; +} + +GtkSwitch.slider:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +GtkSwitch.trough { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; + color: @theme_fg_color; +} + +GtkSwitch.trough:active { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; + background-image: none; + color: @theme_selected_fg_color; +} + +GtkSwitch.trough:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; + color: mix(@theme_fg_color, @theme_bg_color, 0.5); +} + +/************ + * textview * + ************/ +GtkTextView { + background-color: @theme_base_color; + color: @theme_text_color; +} + +/***************** + * color chooser * + *****************/ +GtkColorSwatch, +GtkColorSwatch:selected { + border-width: 1px; + border-style: solid; + border-color: alpha(black, 0.1); + border-radius: 1px; + background-color: transparent; + background-clip: border-box; +} + +GtkColorSwatch:hover, +GtkColorSwatch:selected:hover { + border-color: alpha(black, 0.3); +} + +GtkColorSwatch.color-dark:hover { +} + +GtkColorSwatch.color-light:hover { +} + +GtkColorSwatch.color-light:selected:hover, +GtkColorSwatch.color-dark:selected:hover { + background-image: none; +} + +GtkColorSwatch.left, +GtkColorSwatch:first-child { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +GtkColorSwatch.right, +GtkColorSwatch:last-child { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +GtkColorSwatch:only-child { + border-radius: 2px; +} + +GtkColorSwatch.top { + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +GtkColorSwatch.bottom { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +GtkColorChooserWidget #add-color-button { + background-clip: padding-box; + border-color: alpha(black, 0.1); + background-color: shade(@theme_bg_color, 0.95); + color: @theme_fg_color; +} + +GtkColorChooserWidget #add-color-button:hover { + border-color: alpha(black, 0.3); + background-color: shade(@theme_bg_color, 0.90); + color: @theme_fg_color; +} + +.color-active-badge, +.color-active-badge:selected { + border-width: 1px; + border-style: solid; + border-width: 2px; + background-color: transparent; +} + +.color-active-badge.color-light, +.color-active-badge.color-light:hover { + border-color: alpha(black, 0.3); + color: alpha(black, 0.3); +} + +.color-active-badge.color-dark, +.color-active-badge.color-dark:hover { + border-color: alpha(white, 0.3); + color: alpha(white, 0.3); +} + +GtkColorEditor GtkColorSwatch { + border-radius: 2px; +} + +GtkColorEditor GtkColorSwatch.color-dark:hover, +GtkColorEditor GtkColorSwatch.color-light:hover { + background-image: none; + border-color: alpha(black, 0.3); +} + +GtkColorButton.button { + padding: 2px; +} + +/************** + * header-bar * + **************/ +.header-bar { + padding: 4px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@titlebar_bg_color, 0.8); + background-color: @titlebar_bg_color; + background-image: none; + color: @titlebar_fg_color; +} + +.header-bar .button.text-button { + padding: 4px; +} + +.header-bar .button.image-button { + padding: 6px; +} + +.header-bar .title { + font: bold; + padding: 0 12px; +} + +.header-bar .subtitle { + font: smaller; + padding: 0 12px; +} + +.header-bar GtkComboBox, +.header-bar .button { + border-color: shade(@titlebar_bg_color, 0.8); + background-color: shade(@titlebar_bg_color, 1.08); + background-image: none; + color: @titlebar_fg_color; +} + +.header-bar .button:hover { + border-color: shade(@titlebar_bg_color, 0.7); + background-color: shade(@titlebar_bg_color, 1.10); + background-image: none; +} + +.header-bar .button:active, +.header-bar .button:checked { + border-color: shade(@titlebar_bg_color, 0.8); + background-color: shade(@titlebar_bg_color, 0.95); + background-image: none; +} + +.header-bar .button:active:hover, +.header-bar .button:checked:hover { + border-color: shade(@titlebar_bg_color, 0.7); +} + +.header-bar .button:focus, +.header-bar .button:hover:focus, +.header-bar .button:active:focus, +.header-bar .button:checked:focus, +.header-bar .button:active:hover:focus +.header-bar .button:checked:hover:focus { + border-color: shade(@titlebar_bg_color, 0.7); +} + +.header-bar .button:insensitive { + border-color: shade(@titlebar_bg_color, 0.85); + background-color: shade(@titlebar_bg_color, 0.9); + background-image: none; +} + +.header-bar .button:active:insensitive, +.header-bar .button:checked:insensitive { + border-color: shade(@titlebar_bg_color, 0.75); + background-color: shade(@titlebar_bg_color, 0.80); + background-image: none; +} + +.header-bar .entry { + border-color: shade(@titlebar_bg_color, 0.8); +} + +.header-bar .entry:active, +.header-bar .entry:focus { + border-color: shade(@titlebar_bg_color, 0.7); +} + +/*********** + * toolbar * + ***********/ +.toolbar { + padding: 4px; + border-style: none; + background-color: @toolbar_bg_color; + background-image: none; + color: @toolbar_fg_color; +} + +.toolbar .button { + padding: 2px; +} + +.toolbar .button.text-button { + padding: 2px 4px; +} + +.toolbar .button.image-button { + padding: 4px 3px 3px 4px; +} + +.toolbar:insensitive { + background-color: shade(@toolbar_bg_color, 0.9); + color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.5); +} + +/* menubar toolbars */ +.toolbar.menubar { + -GtkToolbar-button-relief: normal; +} + +/******************* + * primary-toolbar * + *******************/ +.primary-toolbar, +.primary-toolbar .toolbar, +.primary-toolbar.toolbar { + -GtkWidget-window-dragging: true; + + padding: 4px; + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@toolbar_bg_color, 0.8); + background-color: @toolbar_bg_color; + background-image: none; + color: @toolbar_fg_color; +} + +.primary-toolbar GtkComboBox, +.primary-toolbar .button { + padding: 2px; + border-width: 1px; + border-color: transparent; + border-radius: 2px; + background-color: transparent; + background-image: none; + color: @toolbar_fg_color; +} + +.primary-toolbar GtkComboBox.flat, +.primary-toolbar .button.flat, +.primary-toolbar GtkComboBox.flat, +.primary-toolbar .button.flat, +.toolbar GtkComboBox.flat, +.toolbar .button.flat, +.primary-toolbar GtkComboBox.flat:insensitive, +.primary-toolbar .button.flat:insensitive, +.primary-toolbar GtkComboBox.flat:insensitive, +.primary-toolbar .button.flat:insensitive, +.toolbar GtkComboBox.flat:insensitive, +.toolbar .button.flat:insensitive { + border-color: transparent; + background-color: transparent; + background-image: none; + box-shadow: none; +} + +.primary-toolbar .raised .button, +.primary-toolbar .raised.button, +.toolbar GtkComboBox, +.toolbar .button { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 1.08); + background-image: none; + color: @toolbar_fg_color; +} + +.primary-toolbar .button:hover, +.toolbar .button:hover { + border-color: shade(@toolbar_bg_color, 0.7); + background-color: shade(@toolbar_bg_color, 1.10); + background-image: none; +} + +.primary-toolbar .button:active, +.toolbar .button:active, +.primary-toolbar .button:checked, +.toolbar .button:checked { + border-color: shade(@toolbar_bg_color, 0.8); + background-color: shade(@toolbar_bg_color, 0.95); + background-image: none; +} + +.primary-toolbar .button:active:hover, +.toolbar .button:active:hover, +.primary-toolbar .button:checked:hover, +.toolbar .button:checked:hover { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.primary-toolbar .button:focus, +.primary-toolbar .button:hover:focus, +.primary-toolbar .button:active:focus, +.primary-toolbar .button:active:hover:focus, +.primary-toolbar .button:checked:focus, +.primary-toolbar .button:checked:hover:focus, +.toolbar .button:focus, +.toolbar .button:hover:focus, +.toolbar .button:active:focus, +.toolbar .button:active:hover:focus, +.toolbar .button:checked:focus, +.toolbar .button:checked:hover:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +.primary-toolbar .button:insensitive, +.toolbar .button:insensitive { + border-color: shade(@toolbar_bg_color, 0.85); + background-color: shade(@toolbar_bg_color, 0.9); + background-image: none; +} + +.primary-toolbar .button:active:insensitive, +.toolbar .button:active:insensitive, +.primary-toolbar .button:checked:insensitive, +.toolbar .button:checked:insensitive { + border-color: shade(@toolbar_bg_color, 0.75); + background-color: shade(@toolbar_bg_color, 0.80); + background-image: none; +} + +.primary-toolbar .entry, +.toolbar .entry { + border-color: shade(@toolbar_bg_color, 0.8); +} + +.primary-toolbar .entry:active, +.primary-toolbar .entry:focus, +.toolbar .entry:active, +.toolbar .entry:focus { + border-color: shade(@toolbar_bg_color, 0.7); +} + +/* inline-toolbar */ +.inline-toolbar.toolbar { + -GtkToolbar-button-relief: normal; + + padding: 1px; + border-width: 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + background-color: @theme_bg_color; + background-image: none; +} + +.inline-toolbar.toolbar:last-child { + border-width: 0 1px 1px 1px; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; +} + +.inline-toolbar.toolbar .button { + padding: 1px; + border-width: 1px 0 1px 1px; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + border-radius: 0; + background-color: shade(@theme_bg_color, 1.08); + background-image: none; + color: @theme_fg_color; +} + +.inline-toolbar.toolbar .button:hover { + border-color: shade(@theme_bg_color, 0.7); + background-color: shade(@theme_bg_color, 1.10); + background-image: none; +} + +.inline-toolbar.toolbar .button:active, +.inline-toolbar.toolbar .button:checked { + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.95); + background-image: none; +} + +.inline-toolbar.toolbar .button:active:hover, +.inline-toolbar.toolbar .button:checked:hover { + border-color: shade(@theme_bg_color, 0.7); +} + +.inline-toolbar.toolbar .button:focus, +.inline-toolbar.toolbar .button:hover:focus, +.inline-toolbar.toolbar .button:active:focus, +.inline-toolbar.toolbar .button:active:hover:focus, +.inline-toolbar.toolbar .button:checked:focus, +.inline-toolbar.toolbar .button:checked:hover:focus { + border-color: shade(@theme_bg_color, 0.7); +} + +.inline-toolbar.toolbar .button:insensitive, +.inline-toolbar.toolbar GtkToolButton .button:insensitive { + border-color: shade(@theme_bg_color, 0.85); + background-color: shade(@theme_bg_color, 0.9); + background-image: none; +} + +.inline-toolbar.toolbar .button:active:insensitive +.inline-toolbar.toolbar GtkToolButton .button:active:insensitive, +.inline-toolbar.toolbar .button:checked:insensitive +.inline-toolbar.toolbar GtkToolButton .button:checked:insensitive { + border-color: shade(@theme_bg_color, 0.75); + background-color: shade(@theme_bg_color, 0.80); + background-image: none; +} + +/****************** + * linked buttons * + *****************/ +/* set up shadows for visual separation */ +.linked .button, +.inline-toolbar.toolbar .button, +.inline-toolbar.toolbar GtkToolButton .button, +.inline-toolbar.toolbar GtkToolButton > .button { + box-shadow: inset -1px 0 shade(@theme_bg_color, 0.9); +} + +.linked .button:active, +.inline-toolbar.toolbar .button:active, +.inline-toolbar.toolbar GtkToolButton .button:active, +.inline-toolbar.toolbar GtkToolButton > .button:active, +.linked .button:checked, +.inline-toolbar.toolbar .button:checked, +.inline-toolbar.toolbar GtkToolButton .button:checked, +.inline-toolbar.toolbar GtkToolButton > .button:checked { + box-shadow: inset -1px 0 shade(@theme_bg_color, 0.9), + inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset 0 -1px alpha(@dark_shadow, 0.05); +} + +.linked .button:insensitive, +.inline-toolbar.toolbar .button:insensitive, +.inline-toolbar.toolbar GtkToolButton .button:insensitive, +.inline-toolbar.toolbar GtkToolButton > .button:insensitive { + box-shadow: inset -1px 0 shade(@theme_bg_color, 0.85); +} + +/* remove box shadow from last-child and only-child */ +.linked .button:last-child, +.linked .button:only-child, +.linked .button:insensitive:last-child, +.linked .button:insensitive:only-child, +.linked .button:active:insensitive:last-child, +.linked .button:active:insensitive:only-child, +.linked .button:checked:insensitive:last-child, +.linked .button:checked:insensitive:only-child, +.inline-toolbar.toolbar .button:last-child, +.inline-toolbar.toolbar .button:only-child, +.inline-toolbar.toolbar .button:insensitive:last-child, +.inline-toolbar.toolbar .button:insensitive:only-child, +.inline-toolbar.toolbar .button:active:insensitive:last-child, +.inline-toolbar.toolbar .button:active:insensitive:only-child, +.inline-toolbar.toolbar .button:checked:insensitive:last-child, +.inline-toolbar.toolbar .button:checked:insensitive:only-child, +.inline-toolbar.toolbar GtkToolButton:last-child > .button, +.inline-toolbar.toolbar GtkToolButton:only-child > .button, +.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive, +.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive, +.inline-toolbar.toolbar GtkToolButton:last-child > .button:active:insensitive, +.inline-toolbar.toolbar GtkToolButton:only-child > .button:active:insensitive, +.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked:insensitive, +.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked:insensitive { + box-shadow: none; +} + +/* add back the inset shadow effect */ +.linked .button:active:last-child, +.linked .button:active:only-child, +.inline-toolbar.toolbar .button:active:last-child, +.inline-toolbar.toolbar .button:active:only-child, +.inline-toolbar.toolbar GtkToolButton:last-child > .button:active, +.inline-toolbar.toolbar GtkToolButton:only-child > .button:active, +.linked .button:checked:last-child, +.linked .button:checked:only-child, +.inline-toolbar.toolbar .button:checked:last-child, +.inline-toolbar.toolbar .button:checked:only-child, +.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked, +.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07); +} + +/* middle button */ +.linked .entry, +.linked .button, +.linked .button:active, +.linked .button:active:hover, +.linked .button:checked, +.linked .button:checked:hover, +.linked .button:insensitive, +.inline-toolbar.toolbar .button, +.inline-toolbar.toolbar .button:active, +.inline-toolbar.toolbar .button:checked, +.inline-toolbar.toolbar .button:insensitive, +.inline-toolbar.toolbar GtkToolButton .button, +.inline-toolbar.toolbar GtkToolButton .button:active, +.inline-toolbar.toolbar GtkToolButton .button:checked, +.inline-toolbar.toolbar GtkToolButton .button:insensitive { + border-width: 1px; + border-radius: 0; + border-right-width: 0; + border-left-width: 0; +} + +/*leftmost button */ +.linked .entry:first-child, +.linked .button:first-child, +.linked .button:active:first-child, +.linked .button:active:hover:first-child, +.linked .button:checked:first-child, +.linked .button:checked:hover:first-child, +.linked .button:insensitive:first-child, +.inline-toolbar.toolbar .button:first-child, +.inline-toolbar.toolbar .button:active:first-child, +.inline-toolbar.toolbar .button:checked:first-child, +.inline-toolbar.toolbar .button:insensitive:first-child, +.inline-toolbar.toolbar GtkToolButton:first-child .button, +.inline-toolbar.toolbar GtkToolButton:first-child .button:active, +.inline-toolbar.toolbar GtkToolButton:first-child .button:checked, +.inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive { + border-width: 1px; + border-radius: 2px; + border-right-width: 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +/* rightmost button */ +.linked .entry:last-child, +.linked .button:last-child, +.linked .button:active:last-child, +.linked .button:active:hover:last-child, +.linked .button:checked:last-child, +.linked .button:checked:hover:last-child, +.linked .button:insensitive:last-child, +.inline-toolbar.toolbar .button:last-child, +.inline-toolbar.toolbar .button:active:last-child, +.inline-toolbar.toolbar .button:checked:last-child, +.inline-toolbar.toolbar .button:insensitive:last-child, +.inline-toolbar.toolbar GtkToolButton:last-child .button, +.inline-toolbar.toolbar GtkToolButton:last-child .button:active, +.inline-toolbar.toolbar GtkToolButton:last-child .button:checked, +.inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive { + border-width: 1px; + border-radius: 2px; + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +/* linked single button */ +.linked .entry:only-child, +.linked .button:only-child, +.linked .button:active:only-child, +.linked .button:active:hover:only-child, +.linked .button:checked:only-child, +.linked .button:checked:hover:only-child, +.linked .button:insensitive:only-child, +.inline-toolbar.toolbar .button:only-child, +.inline-toolbar.toolbar .button:active:only-child, +.inline-toolbar.toolbar .button:checked:only-child, +.inline-toolbar.toolbar .button:insensitive:only-child, +.inline-toolbar.toolbar GtkToolButton:only-child .button, +.inline-toolbar.toolbar GtkToolButton:only-child .button:active, +.inline-toolbar.toolbar GtkToolButton:only-child .button:checked, +.inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive { + border-width: 1px; + border-radius: 2px; +} + +/* linked button shadows (vertical) */ +.linked.vertical .button, +.inline-toolbar.toolbar.vertical .button, +.inline-toolbar.toolbar.vertical GtkToolButton > .button { + box-shadow: inset 0 -1px shade(@theme_bg_color, 0.9); +} + +.linked.vertical .button:active, +.inline-toolbar.toolbar.vertical .button:active, +.inline-toolbar.toolbar.vertical GtkToolButton > .button:activeactive, +.linked.vertical .button:checked, +.inline-toolbar.toolbar.vertical .button:checked, +.inline-toolbar.toolbar.vertical GtkToolButton > .button:checked { + box-shadow: inset 0 -1px shade(@theme_bg_color, 0.9), + inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07); +} + +.linked.vertical .button:insensitive, +.inline-toolbar.toolbar.vertical .button:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton > .button:insensitive { + box-shadow: inset 0 -1px shade(@theme_bg_color, 0.85); +} + +/* remove box shadow from last-child and only-child */ +.linked.vertical .button:last-child, +.linked.vertical .button:only-child, +.linked.vertical .button:insensitive:last-child, +.linked.vertical .button:insensitive:only-child, +.linked.vertical .button:active:insensitive:last-child, +.linked.vertical .button:active:insensitive:only-child, +.linked.vertical .button:checked:insensitive:last-child, +.linked.vertical .button:checked:insensitive:only-child, +.inline-toolbar.toolbar.vertical .button:last-child, +.inline-toolbar.toolbar.vertical .button:only-child, +.inline-toolbar.toolbar.vertical .button:insensitive:last-child, +.inline-toolbar.toolbar.vertical .button:insensitive:only-child, +.inline-toolbar.toolbar.vertical .button:active:insensitive:last-child, +.inline-toolbar.toolbar.vertical .button:active:insensitive:only-child, +.inline-toolbar.toolbar.vertical .button:checked:insensitive:last-child, +.inline-toolbar.toolbar.vertical .button:checked:insensitive:only-child, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked:insensitive, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked:insensitive { + box-shadow: none; +} + +/* add back the inset shadow effect */ +.linked.vertical .button:active:last-child, +.linked.vertical .button:active:only-child, +.inline-toolbar.toolbar.vertical .button:active:last-child, +.inline-toolbar.toolbar.vertical .button:active:only-child, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active, +.linked.vertical .button:active:last-child, +.linked.vertical .button:active:only-child, +.inline-toolbar.toolbar.vertical .button:active:last-child, +.inline-toolbar.toolbar.vertical .button:active:only-child, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active, +.linked.vertical .button:checked:last-child, +.linked.vertical .button:checked:only-child, +.inline-toolbar.toolbar.vertical .button:checked:last-child, +.inline-toolbar.toolbar.vertical .button:checked:only-child, +.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked, +.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07); +} + +/* middle button (vertical) */ +.linked.vertical .entry, +.linked.vertical .button, +.linked.vertical .button:active, +.linked.vertical .button:active:hover, +.linked.vertical .button:checked, +.linked.vertical .button:checked:hover, +.linked.vertical .button:insensitive { + border-width: 1px; + border-radius: 0; + border-top-width: 0; + border-bottom-width: 0; +} + +/* top button (vertical) */ +.linked.vertical .entry:first-child, +.linked.vertical .button:first-child, +.linked.vertical .button:active:first-child, +.linked.vertical .button:active:hover:first-child, +.linked.vertical .button:checked:first-child, +.linked.vertical .button:checked:hover:first-child, +.linked.vertical .button:insensitive:first-child { + border-width: 1px; + border-radius: 2px; + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* bottom button (vertical) */ +.linked.vertical .entry:last-child, +.linked.vertical .button:last-child, +.linked.vertical .button:active:last-child, +.linked.vertical .button:active:hover:last-child, +.linked.vertical .button:checked:last-child, +.linked.vertical .button:checked:hover:last-child, +.linked.vertical .button:insensitive:last-child { + border-width: 1px; + border-radius: 2px; + border-top-width: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* linked single button (vertical) */ +.linked.vertical .entry:only-child, +.linked.vertical .button:only-child, +.linked.vertical .button:active:only-child, +.linked.vertical .button:active:hover:only-child, +.linked.vertical .button:checked:only-child, +.linked.vertical .button:checked:hover:only-child, +.linked.vertical .button:insensitive:only-child { + border-width: 1px; + border-radius: 2px; +} + +/* linked toolbar buttons */ +.primary-toolbar .button.raised.linked, +.primary-toolbar .raised.linked .button, +.toolbar .button.raised.linked, +.toolbar .raised.linked .button, +.toolbar .linked .button { + box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.9); +} + +.primary-toolbar .button.raised.linked:active, +.primary-toolbar .raised.linked .button:active, +.toolbar .button.raised.linked:active, +.toolbar .raised.linked .button:active, +.toolbar .linked .button:active, +.primary-toolbar .raised.linked .button:checked, +.toolbar .button.raised.linked:checked, +.toolbar .raised.linked .button:checked, +.toolbar .linked .button:checked { + box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.9), + inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset 0 -1px alpha(@dark_shadow, 0.05); +} + +.primary-toolbar .button.raised.linked:insensitive, +.primary-toolbar .raised.linked .button:insensitive, +.toolbar .button.raised.linked:insensitive, +.toolbar .raised.linked .button:insensitive, +.toolbar .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.85); +} + +/* remove box shadow from last-child and only-child */ +.primary-toolbar .button.raised.linked:last-child, +.primary-toolbar .button.raised.linked:only-child, +.primary-toolbar .button:insensitive.raised.linked:last-child, +.primary-toolbar .button:insensitive.raised.linked:only-child, +.primary-toolbar .button:active:insensitive.raised.linked:last-child, +.primary-toolbar .button:active:insensitive.raised.linked:only-child, +.primary-toolbar .button:checked:insensitive.raised.linked:last-child, +.primary-toolbar .button:checked:insensitive.raised.linked:only-child, +.primary-toolbar .raised.linked .button:last-child, +.primary-toolbar .raised.linked .button:only-child, +.primary-toolbar .raised.linked .button:insensitive:last-child, +.primary-toolbar .raised.linked .button:insensitive:only-child, +.primary-toolbar .raised.linked .button:active:insensitive:last-child, +.primary-toolbar .raised.linked .button:active:insensitive:only-child, +.primary-toolbar .raised.linked .button:checked:insensitive:last-child, +.primary-toolbar .raised.linked .button:checked:insensitive:only-child, +.toolbar .button.raised.linked:last-child, +.toolbar .button.raised.linked:only-child, +.toolbar .button:insensitive.raised.linked:last-child, +.toolbar .button:insensitive.raised.linked:only-child, +.toolbar .button:active:insensitive.raised.linked:last-child, +.toolbar .button:active:insensitive.raised.linked:only-child, +.toolbar .button:checked:insensitive.raised.linked:last-child, +.toolbar .button:checked:insensitive.raised.linked:only-child, +.toolbar .raised.linked .button:last-child, +.toolbar .raised.linked .button:only-child, +.toolbar .raised.linked .button:insensitive:last-child, +.toolbar .raised.linked .button:insensitive:only-child, +.toolbar .raised.linked .button:active:insensitive:last-child, +.toolbar .raised.linked .button:active:insensitive:only-child, +.toolbar .raised.linked .button:checked:insensitive:last-child, +.toolbar .raised.linked .button:checked:insensitive:only-child, +.toolbar .linked .button:last-child, +.toolbar .linked .button:only-child, +.toolbar .linked .button:insensitive:last-child, +.toolbar .linked .button:insensitive:only-child, +.toolbar .linked .button:active:insensitive:last-child, +.toolbar .linked .button:active:insensitive:only-child +.toolbar .linked .button:checked:insensitive:last-child, +.toolbar .linked .button:checked:insensitive:only-child { + box-shadow: none; +} + +/* add back the inset shadow effect */ +.primary-toolbar .button:active.raised.linked:last-child, +.primary-toolbar .button:active.raised.linked:only-child, +.primary-toolbar .raised.linked .button:active:last-child, +.primary-toolbar .raised.linked .button:active:only-child, +.toolbar .button:active.raised.linked:last-child, +.toolbar .button:active.raised.linked:only-child, +.toolbar .raised.linked .button:active:last-child, +.toolbar .raised.linked .button:active:only-child, +.toolbar .linked .button:active:last-child, +.toolbar .linked .button:active:only-child, +.primary-toolbar .button:checked.raised.linked:last-child, +.primary-toolbar .button:checked.raised.linked:only-child, +.primary-toolbar .raised.linked .button:checked:last-child, +.primary-toolbar .raised.linked .button:checked:only-child, +.toolbar .button:checked.raised.linked:last-child, +.toolbar .button:checked.raised.linked:only-child, +.toolbar .raised.linked .button:checked:last-child, +.toolbar .raised.linked .button:checked:only-child, +.toolbar .linked .button:checked:last-child, +.toolbar .linked .button:checked:only-child { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07); +} + +/* middle button */ +.primary-toolbar .button.raised.linked, +.primary-toolbar .button.raised.linked:active, +.primary-toolbar .button.raised.linked:checked, +.primary-toolbar .button.raised.linked:insensitive, +.primary-toolbar .raised.linked .button, +.primary-toolbar .raised.linked .button:active, +.primary-toolbar .raised.linked .button:checked, +.primary-toolbar .raised.linked .button:insensitive, +.toolbar .button.raised.linked, +.toolbar .button.raised.linked:active, +.toolbar .button.raised.linked:checked, +.toolbar .button.raised.linked:insensitive, +.toolbar .raised.linked .button, +.toolbar .raised.linked .button:active, +.toolbar .raised.linked .button:checked, +.toolbar .raised.linked .button:insensitive, +.toolbar .linked .button, +.toolbar .linked .button:active, +.toolbar .linked .button:checked, +.toolbar .linked .button:insensitive { + border-width: 1px; + border-radius: 0; + border-right-width: 0; + border-left-width: 0; +} + +/* leftmost button */ +.primary-toolbar .button.raised.linked:first-child, +.primary-toolbar .button.raised.linked:active:first-child, +.primary-toolbar .button.raised.linked:checked:first-child, +.primary-toolbar .button.raised.linked:insensitive:first-child, +.primary-toolbar .raised.linked .button:first-child, +.primary-toolbar .raised.linked .button:active:first-child, +.primary-toolbar .raised.linked .button:checked:first-child, +.primary-toolbar .raised.linked .button:insensitive:first-child, +.toolbar .button.raised.linked:first-child, +.toolbar .button.raised.linked:active:first-child, +.toolbar .button.raised.linked:checked:first-child, +.toolbar .button.raised.linked:insensitive:first-child, +.toolbar .raised.linked .button:first-child, +.toolbar .raised.linked .button:active:first-child, +.toolbar .raised.linked .button:checked:first-child, +.toolbar .raised.linked .button:insensitive:first-child, +.toolbar .linked .button:first-child, +.toolbar .linked .button:active:first-child, +.toolbar .linked .button:checked:first-child { + border-width: 1px; + border-radius: 2px; + border-right-width: 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +/* rightmost button */ +.primary-toolbar .button.raised.linked:last-child, +.primary-toolbar .button.raised.linked:active:last-child, +.primary-toolbar .button.raised.linked:checked:last-child, +.primary-toolbar .button.raised.linked:insensitive:last-child, +.primary-toolbar .raised.linked .button:last-child, +.primary-toolbar .raised.linked .button:active:last-child, +.primary-toolbar .raised.linked .button:checked:last-child, +.primary-toolbar .raised.linked .button:insensitive:last-child, +.toolbar .button.raised.linked:last-child, +.toolbar .button.raised.linked:active:last-child, +.toolbar .button.raised.linked:checked:last-child, +.toolbar .button.raised.linked:insensitive:last-child, +.toolbar .raised.linked .button:last-child, +.toolbar .raised.linked .button:active:last-child, +.toolbar .raised.linked .button:checked:last-child, +.toolbar .raised.linked .button:insensitive:last-child, +.toolbar .linked .button:last-child, +.toolbar .linked .button:active:last-child, +.toolbar .linked .button:checked:last-child, +.toolbar .linked .button:insensitive:last-child { + border-width: 1px; + border-radius: 2px; + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +/* linked single button */ +.primary-toolbar .button.raised.linked:only-child, +.primary-toolbar .button.raised.linked:active:only-child, +.primary-toolbar .button.raised.linked:checked:only-child, +.primary-toolbar .button.raised.linked:insensitive:only-child, +.primary-toolbar .raised.linked .button:only-child, +.primary-toolbar .raised.linked .button:active:only-child, +.primary-toolbar .raised.linked .button:checked:only-child, +.primary-toolbar .raised.linked .button:insensitive:only-child, +.toolbar .button.raised.linked:only-child, +.toolbar .button.raised.linked:active:only-child, +.toolbar .button.raised.linked:checked:only-child, +.toolbar .button.raised.linked:insensitive:only-child, +.toolbar .raised.linked .button:only-child, +.toolbar .raised.linked .button:active:only-child, +.toolbar .raised.linked .button:checked:only-child, +.toolbar .raised.linked .button:insensitive:only-child, +.toolbar .linked .button:only-child, +.toolbar .linked .button:active:only-child, +.toolbar .linked .button:checked:only-child, +.toolbar .linked .button:insensitive:only-child { + border-width: 1px; + border-radius: 2px; +} + +/* linked titlebar buttons */ +.header-bar .button.raised.linked, +.header-bar .raised.linked .button, +.header-bar .linked .button { + box-shadow: inset -1px 0 shade(@titlebar_bg_color, 0.9); +} + +.header-bar .button.raised.linked:active, +.header-bar .raised.linked .button:active, +.header-bar .button.raised.linked:checked, +.header-bar .raised.linked .button:checked, +.header-bar .linked .button:active, +.header-bar .linked .button:checked { + box-shadow: inset -1px 0 shade(@titlebar_bg_color, 0.9), + inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset 0 -1px alpha(@dark_shadow, 0.05); +} + +.header-bar .button.raised.linked:insensitive, +.header-bar .raised.linked .button:insensitive, +.header-bar .linked .button:insensitive { + box-shadow: inset -1px 0 shade(@titlebar_bg_color, 0.85); +} + +/* remove box shadow from last-child and only-child */ +.header-bar .button.raised.linked:last-child, +.header-bar .button.raised.linked:only-child, +.header-bar .button:insensitive.raised.linked:last-child, +.header-bar .button:insensitive.raised.linked:only-child, +.header-bar .button:active:insensitive.raised.linked:last-child, +.header-bar .button:active:insensitive.raised.linked:only-child, +.header-bar .button:checked:insensitive.raised.linked:last-child, +.header-bar .button:checked:insensitive.raised.linked:only-child, +.header-bar .raised.linked .button:last-child, +.header-bar .raised.linked .button:only-child, +.header-bar .raised.linked .button:insensitive:last-child, +.header-bar .raised.linked .button:insensitive:only-child, +.header-bar .raised.linked .button:active:insensitive:last-child, +.header-bar .raised.linked .button:active:insensitive:only-child, +.header-bar .raised.linked .button:checked:insensitive:last-child, +.header-bar .raised.linked .button:checked:insensitive:only-child, +.header-bar .linked .button:last-child, +.header-bar .linked .button:only-child, +.header-bar .linked .button:insensitive:last-child, +.header-bar .linked .button:insensitive:only-child, +.header-bar .linked .button:active:insensitive:last-child, +.header-bar .linked .button:active:insensitive:only-child, +.header-bar .linked .button:checked:insensitive:last-child, +.header-bar .linked .button:checked:insensitive:only-child { + box-shadow: none; +} + +/* add back the inset shadow effect */ +.header-bar .button:active.raised.linked:last-child, +.header-bar .button:active.raised.linked:only-child, +.header-bar .raised.linked .button:active:last-child, +.header-bar .raised.linked .button:active:only-child, +.header-bar .linked .button:active:last-child, +.header-bar .linked .button:active:only-child, +.header-bar .button:checked.raised.linked:last-child, +.header-bar .button:checked.raised.linked:only-child, +.header-bar .raised.linked .button:checked:last-child, +.header-bar .raised.linked .button:checked:only-child, +.header-bar .linked .button:checked:last-child, +.header-bar .linked .button:checked:only-child { + box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07), + inset 0 1px alpha(@dark_shadow, 0.08), + inset -1px 0 alpha(@dark_shadow, 0.07); +} + +/* middle button */ +.header-bar .button.raised.linked, +.header-bar .button.raised.linked:active, +.header-bar .button.raised.linked:checked, +.header-bar .button.raised.linked:insensitive, +.header-bar .raised.linked .button, +.header-bar .raised.linked .button:active, +.header-bar .raised.linked .button:checked, +.header-bar .raised.linked .button:insensitive, +.header-bar .linked .button, +.header-bar .linked .button:active, +.header-bar .linked .button:checked, +.header-bar .linked .button:insensitive { + border-width: 1px; + border-radius: 0; + border-right-width: 0; + border-left-width: 0; +} + +/* leftmost button */ +.header-bar .button.raised.linked:first-child, +.header-bar .button.raised.linked:active:first-child, +.header-bar .button.raised.linked:insensitive:first-child, +.header-bar .raised.linked .button:first-child, +.header-bar .raised.linked .button:active:first-child, +.header-bar .raised.linked .button:insensitive:first-child, +.header-bar .linked .button:first-child, +.header-bar .linked .button:active:first-child, +.header-bar .linked .button:insensitive:first-child { + border-width: 1px; + border-radius: 2px; + border-right-width: 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +/* rightmost button */ +.header-bar .button.raised.linked:last-child, +.header-bar .button.raised.linked:active:last-child, +.header-bar .button.raised.linked:checked:last-child, +.header-bar .button.raised.linked:insensitive:last-child, +.header-bar .raised.linked .button:last-child, +.header-bar .raised.linked .button:active:last-child, +.header-bar .raised.linked .button:checked:last-child, +.header-bar .raised.linked .button:insensitive:last-child, +.header-bar .linked .button:last-child, +.header-bar .linked .button:active:last-child, +.header-bar .linked .button:checked:last-child, +.header-bar .linked .button:insensitive:last-child { + border-width: 1px; + border-radius: 2px; + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +/* linked single button */ +.header-bar .button.raised.linked:only-child, +.header-bar .button.raised.linked:active:only-child, +.header-bar .button.raised.linked:checked:only-child, +.header-bar .button.raised.linked:insensitive:only-child, +.header-bar .raised.linked .button:only-child, +.header-bar .raised.linked .button:active:only-child, +.header-bar .raised.linked .button:checked:only-child, +.header-bar .raised.linked .button:insensitive:only-child, +.header-bar .linked .button:only-child, +.header-bar .linked .button:active:only-child, +.header-bar .linked .button:checked:only-child, +.header-bar .linked .button:insensitive:only-child { + border-width: 1px; + border-radius: 2px; +} + +/*********** + * tooltip * + ***********/ +.tooltip { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_tooltip_bg_color, 0.8); + border-radius: 2px; + background-color: @theme_tooltip_bg_color; + background-image: none; + color: @theme_tooltip_fg_color; +} + +.tooltip.background { + background-color: @theme_tooltip_bg_color; + background-clip: padding-box; +} + +.tooltip.window-frame.csd { + background-color: transparent; +} + +.tooltip * { + background-color: transparent; + color: inherit; +} + +/************ + * treeview * + ************/ +GtkTreeView { + -GtkTreeView-vertical-separator: 0; + + outline-offset: -1px; +} + +GtkTreeView.dnd { + border-width: 1px; + border-style: solid; + border-color: @theme_selected_bg_color; + border-radius: 0; +} + +GtkTreeView .entry { + border-radius: 0; + background-color: @theme_base_color; + background-image: none; +} + +/************ + * viewport * + ************/ +GtkViewport.frame { + border-width: 0; +} + +.view { + background-color: @theme_base_color; + color: @theme_text_color; +} + +.view:insensitive, +.view:insensitive:insensitive { + background-color: shade(@theme_base_color, 0.9); + color: mix(@theme_fg_color, @theme_bg_color, 0.5); +} + +.view:selected, +.view:selected:focus { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; +} + +/************** + * action-bar * + **************/ +.action-bar { + padding: 4px; + border-width: 1px 0 0 0; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + background-image: none; + color: @theme_fg_color; +} + +.action-bar .button.text-button { + padding: 4px; +} + +.action-bar .button.image-button { + padding: 6px; +} + +.action-bar .title { + font: bold; + padding: 0 12px; +} + +.action-bar .subtitle { + font: smaller; + padding: 0 12px; +} + +/*************** + * search bars * + ***************/ +.search-bar { + border-width: 0 0 1px 0; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: shade(@theme_bg_color, 0.98); +} + +.search-bar .button.close-button { + padding: 4px; +} + +/*********** + * dialogs * + ***********/ +GtkMessageDialog, +.prompt { + -GtkDialog-content-area-border: 0; + -GtkDialog-action-area-border: 0; + -GtkDialog-button-spacing: 0; + + margin: 0; + padding: 0; +} + +/******************** + * various choosers * + ********************/ +GtkFontButton .separator, +GtkFileChooserButton .separator { + /* always disable separators */ + -GtkWidget-wide-separators: true; + -GtkWidget-horizontal-separator: 0; + -GtkWidget-vertical-separator: 0; +} + +GtkFontButton GtkLabel:last-child { + color: alpha(currentColor, 0.7); +} + +GtkFileChooserButton GtkImage:last-child { + color: alpha(currentColor, 0.7); +} + +GtkFileChooser .pane-separator, +GtkFileChooser .pane-separator:hover { + border-width: 0 1px 0 0; + border-style: solid; + border-color: shade(@theme_bg_color, 0.8); + background-color: @theme_bg_color; + color: shade(@theme_bg_color, 0.9); +} + +/* for fallback when header bar not used */ +GtkFileChooser .dialog-action-box { + border-width: 1px 0 0; + border-style: solid; + border-color: shade(@theme_bg_color, 0.7); +} + +/********************* + * app notifications * + *********************/ +.app-notification { + border-style: solid; + border-color: shade(@theme_base_color, 0.8); + border-width: 0 1px 1px 1px; + border-radius: 0 0 2px 2px; + padding: 8px; + background-color: @theme_base_color; + background-image: none; + color: @theme_text_color; +} + +/******* + * osd * + *******/ +.background.osd { + color: @osd_fg; + background-color: @osd_bg; +} + +GtkOverlay.osd { + background-color: transparent; +} + +.osd.frame { + background-clip: border-box; + background-origin: border-box; +} + +.osd.button, +.osd .button { + padding: 4px; + border-width: 1px; + border-style: solid; + border-color: shade(@osd_bg, 0.8); + border-radius: 2px; + background-color: shade(@osd_bg, 1.08); + background-image: none; + color: @osd_fg; +} + +.osd.button:prelight, +.osd.button:hover, +.osd .button:hover { + border-color: shade(@osd_bg, 0.7); + background-color: shade(@osd_bg, 1.10); + background-image: none; +} + +.osd.button:active, +.osd .button:active, +.osd GtkMenuButton.button:active, +.osd.button:checked, +.osd .button:checked, +.osd GtkMenuButton.button:checked { + border-color: shade(@osd_bg, 0.8); + background-color: shade(@osd_bg, 0.95); + background-image: none; +} + +.osd.button:active:hover, +.osd .button:active:hover, +.osd GtkMenuButton.button:active:hover, +.osd.button:checked:hover, +.osd .button:checked:hover, +.osd GtkMenuButton.button:checked:hover { + border-color: shade(@osd_bg, 0.7); +} + +.osd.button:insensitive, +.osd .button:insensitive { + border-color: shade(@osd_bg, 0.85); + background-color: shade(@osd_bg, 0.9); + background-image: none; +} + +.osd.button:active:insensitive, +.osd .button:active:insensitive, +.osd.button:checked:insensitive, +.osd .button:checked:insensitive { + background-color: shade(@osd_bg, 0.80); + background-image: none; +} + +.osd.toolbar { + -GtkToolbar-button-relief: normal; + + padding: 4px; + border-width: 1px; + border-style: solid; + border-radius: 2px; + border-color: shade(@osd_bg, 0.8); + background-color: @osd_bg; + background-image: none; + color: @osd_fg; +} + +.osd.toolbar .button { + padding: 4px; + border-width: 1px; + border-style: solid; + border-color: shade(@osd_bg, 0.8); + border-radius: 2px; + background-color: shade(@osd_bg, 1.08); + background-image: none; + color: @osd_fg; +} + +.osd.toolbar .button:hover { + border-color: shade(@osd_bg, 0.7); + background-color: shade(@osd_bg, 1.10); + background-image: none; +} + +.osd.toolbar .button:active, +.osd.toolbar .button:checked { + border-color: shade(@osd_bg, 0.8); + background-color: shade(@osd_bg, 0.95); + background-image: none; +} + +.osd.toolbar .button:active:hover, +.osd.toolbar .button:checked:hover { + border-color: shade(@osd_bg, 0.7); +} + +.osd.toolbar .button:focus, +.osd.toolbar .button:hover:focus, +.osd.toolbar .button:active:focus, +.osd.toolbar .button:active:hover:focus, +.osd.toolbar .button:checked:focus, +.osd.toolbar .button:checked:hover:focus { + border-color: shade(@osd_bg, 0.7); +} + +.osd.toolbar .button:insensitive { + border-color: shade(@osd_bg, 0.85); + background-color: shade(@osd_bg, 0.9); + background-image: none; +} + +.osd.toolbar .button:active:insensitive, +.osd.toolbar .button:checked:insensitive { + border-color: shade(@osd_bg, 0.75); + background-color: shade(@osd_bg, 0.80); + background-image: none; +} + +.osd.toolbar .button:first-child { + border-radius: 2px 0 0 2px; + border-width: 1px 0 1px 1px; + box-shadow: inset -1px 0 shade(@osd_bg, 0.9); +} + +.osd.toolbar .button:last-child { + box-shadow: none; + border-radius: 0 2px 2px 0; + border-width: 1px 1px 1px 0; +} + +.osd.toolbar .button:only-child, +.osd.toolbar GtkToolButton .button, +.osd.toolbar GtkToolButton:only-child .button, +.osd.toolbar GtkToolButton:last-child .button, +.osd.toolbar GtkToolButton:first-child .button { + border-width: 1px; + border-radius: 2px; + border-style: solid; +} + +.osd.toolbar .separator { + color: shade(@osd_bg, 0.9); +} + +/* used by gnome-settings-daemon's media-keys OSD */ +.osd.trough { + background-color: shade(@osd_bg, 0.8); +} + +.osd.progressbar { + background-color: @osd_fg; +} + +.osd .scale.slider { + background-color: shade(@osd_bg, 1.08); + background-image: none; + /* we will draw the border using box shadow for now */ + box-shadow: inset 1px 0 shade(@osd_bg, 0.8), + inset 0 1px shade(@osd_bg, 0.8), + inset -1px 0 shade(@osd_bg, 0.8), + inset 0 -1px shade(@osd_bg, 0.8); +} + +.osd .scale.slider:hover { + box-shadow: inset 1px 0 shade(@osd_bg, 0.7), + inset 0 1px shade(@osd_bg, 0.7), + inset -1px 0 shade(@osd_bg, 0.7), + inset 0 -1px shade(@osd_bg, 0.7); +} + +.osd .scale.slider:insensitive { + background-color: shade(@osd_bg, 0.9); + background-image: none; + box-shadow: inset 1px 0 shade(@osd_bg, 0.85), + inset 0 1px shade(@osd_bg, 0.85), + inset -1px 0 shade(@osd_bg, 0.85), + inset 0 -1px shade(@osd_bg, 0.85); +} + +.osd .scale.trough { + border-color: shade(@osd_bg, 0.8); + background-color: shade(@osd_bg, 1.08); + background-image: none; +} + +.osd .scale.trough.highlight { + border-color: @theme_selected_bg_color; + background-color: @theme_selected_bg_color; + background-image: none; +} + +.osd .scale.trough:insensitive, +.osd .scale.trough.highlight:insensitive { + border-color: shade(@osd_bg, 0.85); + background-color: shade(@osd_bg, 0.9); + background-image: none; +} + +.osd GtkProgressBar, +GtkProgressBar.osd { + -GtkProgressBar-xspacing: 0; + -GtkProgressBar-yspacing: 2px; + -GtkProgressBar-min-horizontal-bar-height: 2px; + + padding: 0; +} + +.osd GtkProgressBar.trough, +GtkProgressBar.osd.trough { + padding: 0; + border-style: none; + border-radius: 0; + background-image: none; + background-color: transparent; +} + +.osd GtkProgressBar.progressbar, +GtkProgressBar.osd.progressbar { + border-style: none; + border-radius: 0; + background-color: @theme_selected_bg_color; + background-image: none; +} + +.osd .view, +.osd.view { + background-color: @osd_base; +} + +.osd .scrollbar.trough { + background-color: @osd_bg; +} + +.osd .scrollbar.slider { + border-width: 1px; + border-color: mix(shade(@osd_base, 0.87), @osd_fg, 0.21); + border-radius: 0; + background-color: mix(@osd_base, @osd_fg, 0.21); +} + +.osd .scrollbar.slider:hover { + border-color: mix(shade(@osd_base, 0.87), @osd_fg, 0.31); + background-color: mix(@osd_base, @osd_fg, 0.31); +} + +.osd .scrollbar.slider:active { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: @theme_selected_bg_color; +} + +.osd GtkIconView.cell:selected, +.osd GtkIconView.cell:selected:focus { + background-color: transparent; + border-style: solid; + border-radius: 2px; + border-width: 3px; + border-color: @osd_fg; + outline-color: transparent; +} + +/* used by Documents */ +.osd .page-thumbnail { + border-style: solid; + border-width: 1px; + border-color: shade(@osd_bg, 0.9); + /* when there's no pixbuf yet */ + background-color: @osd_bg; +} + +/****************************** + * destructive action buttons * + ******************************/ +.destructive-action.button { + border-width: 1px; + border-style: solid; + border-color: shade(@error_color, 0.8); + border-radius: 2px; + background-color: @error_color; + background-image: none; + color: mix(@theme_selected_fg_color, @error_color, 0.1); +} + +.destructive-action.button:hover { + border-color: shade(@error_color, 0.7); + background-color: shade(@error_color, 1.12); + background-image: none; +} + +.destructive-action.button:active, +.destructive-action.button:checked { + border-color: shade(@error_color, 0.8); + background-color: shade(@error_color, 0.87); + background-image: none; +} + +.destructive-action.button:hover:active { + border-color: shade(@error_color, 0.7); +} + +/****************************** + * suggested action buttons * + ******************************/ +.suggested-action.button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + border-radius: 2px; + background-color: shade(@theme_selected_bg_color, 1.18); + background-image: none; + color: mix(@theme_selected_fg_color, @theme_selected_bg_color, 0.1); +} + +.suggested-action.button:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.20); + background-image: none; +} + +.suggested-action.button:active, +.suggested-action.button:checked { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; +} + +.suggested-action.button:hover:active, +.suggested-action.button:hover:checked { + border-color: shade(@theme_selected_bg_color, 0.8); +} + +/****************** + * selection mode * + ******************/ +.selection-mode.header-bar, +.selection-mode.toolbar { + border-style: solid; + border-color: @theme_selected_bg_color; + background-color: shade(@theme_selected_bg_color, 1.6); + background-image: none; + color: @theme_selected_bg_color; +} + +.selection-mode.header-bar { + border-top-color: shade(@theme_selected_bg_color, 1.6); + border-bottom-color: @theme_selected_bg_color; +} + +.selection-mode.toolbar { + padding: 4px; +} + +/* regular button */ +.selection-mode.header-bar .button, +.selection-mode.toolbar .button, +.selection-mode.toolbar GtkToolButton .button { + border-width: 1px; + border-style: solid; + border-color: @theme_selected_bg_color; + border-radius: 2px; + background-color: shade(@theme_selected_bg_color, 1.68); + background-image: none; + color: shade(@theme_selected_bg_color, 0.8); +} + +.selection-mode.header-bar .button:hover, +.selection-mode.toolbar .button:hover, +.selection-mode.toolbar GtkToolButton .button:hover { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: shade(@theme_selected_bg_color, 1.70); + background-image: none; +} + +.selection-mode.header-bar .button:active, +.selection-mode.toolbar .button:active, +.selection-mode.toolbar GtkToolButton .button:active, +.selection-mode.header-bar .button:checked, +.selection-mode.toolbar .button:checked, +.selection-mode.toolbar GtkToolButton .button:checked { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: shade(@theme_selected_bg_color, 1.55); + background-image: none; +} + +.selection-mode.header-bar .button:hover:active, +.selection-mode.toolbar .button:hover:active, +.selection-mode.toolbar GtkToolButton .button:hover:active { + border-color: shade(@theme_selected_bg_color, 0.8); +} + +/* suggested button */ +.selection-mode.header-bar .suggested-action.button, +.selection-mode.toolbar .suggested-action.button, +.selection-mode.toolbar GtkToolButton.suggested-action .button { + border-width: 1px; + border-style: solid; + border-color: shade(@theme_selected_bg_color, 0.9); + border-radius: 2px; + background-color: shade(@theme_selected_bg_color, 1.18); + background-image: none; + color: mix(@theme_selected_fg_color, @theme_selected_bg_color, 0.1); +} + +.selection-mode.header-bar .suggested-action.button:hover, +.selection-mode.toolbar .suggested-action.button:hover, +.selection-mode.toolbar GtkToolButton.suggested-action .button:hover { + border-color: shade(@theme_selected_bg_color, 0.8); + background-color: shade(@theme_selected_bg_color, 1.20); + background-image: none; +} + +.selection-mode.header-bar .suggested-action.button:active, +.selection-mode.toolbar .suggested-action.button:active, +.selection-mode.toolbar GtkToolButton.suggested-action:active, +.selection-mode.header-bar .suggested-action.button:checked, +.selection-mode.toolbar .suggested-action.button:checked, +.selection-mode.toolbar GtkToolButton.suggested-action:checked { + border-color: shade(@theme_selected_bg_color, 0.9); + background-color: shade(@theme_selected_bg_color, 1.05); + background-image: none; +} + +.selection-mode.header-bar .suggested-action.button:hover:active, +.selection-mode.toolbar .suggested-action.button:hover:active, +.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:active, +.selection-mode.header-bar .suggested-action.button:hover:checked, +.selection-mode.toolbar .suggested-action.button:hover:checked, +.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:checked { + border-color: shade(@theme_selected_bg_color, 0.8); +} + +/* menu button */ +.selection-mode.header-bar .selection-menu.button, +.selection-mode.toolbar .selection-menu.button { + border-style: none; + background-color: transparent; + background-image: none; + color: shade(@theme_selected_bg_color, 0.8); +} + +.selection-mode.toolbar .dim-label, +.selection-mode.toolbar .selection-menu.button .dim-label { + color: shade(@theme_selected_bg_color, 0.7); +} + +.selection-mode.header-bar .selection-menu.button:hover, +.selection-mode.toolbar .dim-label:hover, +.selection-mode.toolbar .selection-menu.button:hover, +.selection-mode.toolbar .selection-menu.button .dim-label:hover { + color: shade(@theme_selected_bg_color, 0.7); +} + +.selection-mode.header-bar .selection-menu.button:active, +.selection-mode.toolbar .selection-menu.button:active, +.selection-mode.header-bar .selection-menu.button:checked, +.selection-mode.toolbar .selection-menu.button:checked { + color: shade(@theme_selected_bg_color, 0.8); + box-shadow: none; +} + +/************************* + * touch text selections * + *************************/ +GtkBubbleWindow { + border-radius: 2px; + background-clip: border-box; +} + +GtkBubbleWindow.osd.background { + background-color: @osd_bg; +} + +GtkBubbleWindow .toolbar { + background-color: transparent; +} + +/******* + * CSD * + *******/ +.titlebar { + border-radius: 2px 2px 0 0; + background-image: none; + background-color: @titlebar_bg_color; + color: mix(@titlebar_fg_color, @titlebar_bg_color, 0.1); + text-shadow: none; +} + +.tiled .titlebar { + border-radius: 0; +} + +.maximized .titlebar { + border-radius: 0; +} + +/* this is the default titlebar that is added by GTK + * when client-side decorations are in use and the application + * did not set a custom titlebar. + */ +.titlebar.default-decoration { + border: none; + box-shadow: none; +} + +.titlebar .title { + font: bold; +} + +.titlebar:backdrop { + background-image: none; + background-color: @titlebar_bg_color; + color: mix(@titlebar_fg_color, @titlebar_bg_color, 0.4); + text-shadow: none; +} + +.titlebar .titlebutton { + padding: 4px; + border-style: none; + background: none; + color: mix(@titlebar_fg_color, @titlebar_bg_color, 0.1); + icon-shadow: none; +} + +.titlebar .titlebutton:hover, +.titlebar .titlebutton:hover:focus { + background: none; + color: @theme_selected_bg_color; +} + +.titlebar .titlebutton:active, +.titlebar .titlebutton:active:hover, +.titlebar .titlebutton:checked, +.titlebar .titlebutton:checked:hover { + background: none; + color: shade(@theme_selected_bg_color, 0.9); + box-shadow: none; +} + +/* +.titlebar .right .titlebutton:first-child { + border-left: 1px solid shade(@titlebar_bg_color, 0.9); +} + +.titlebar .right .titlebutton:last-child { +} + +.titlebar .left .titlebutton:last-child { + border-right: 1px solid shade(@titlebar_bg_color, 0.9); +} + +.titlebar .left .titlebutton:first-child { +} +*/ + +.titlebar .titlebutton:backdrop { + background-image: none; + color: mix(@titlebar_fg_color, @titlebar_bg_color, 0.4); + icon-shadow: none; +} + +.window-frame { + border: none; + border-radius: 2px 2px 0 0; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), + 0 6px 6px rgba(0, 0, 0, 0.23), + 0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21); + + /* this is used for the resize cursor area */ + margin: 15px; +} + +.window-frame:backdrop { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), + 0 1px 2px rgba(0, 0, 0, 0.24), + 0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.12); +} + +.window-frame.tiled { + border-radius: 0; +} + +.window-frame.csd.popup { + border-radius: 0; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), + 0 3px 6px rgba(0, 0, 0, 0.23), + 0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21); + } + +.window-frame.csd.tooltip { + border-radius: 2px; + box-shadow: none; +} + +.window-frame.csd.message-dialog { + border-radius: 2px; + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), + 0 3px 6px rgba(0, 0, 0, 0.23), + 0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21); +} diff --git a/themes/Numix/gtk-3.0/gtk.css b/themes/Numix/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import url("resource:///org/numixproject/gtk/dist/gtk.css"); diff --git a/themes/Numix/gtk-3.0/gtk.gresource.xml b/themes/Numix/gtk-3.0/gtk.gresource.xml @@ -0,0 +1,44 @@ +<?xml version='1.0' encoding='UTF-8'?> +<gresources> + <gresource prefix='/org/numixproject/gtk'> + <file preprocess='to-pixdata'>assets/checkbox-checked-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-checked-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-checked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/checkbox-checked.png</file> + <file preprocess='to-pixdata'>assets/checkbox-mixed-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-mixed-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-mixed-insensitive.png</file> + <file preprocess='to-pixdata'>assets/checkbox-mixed.png</file> + <file preprocess='to-pixdata'>assets/checkbox-unchecked-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-unchecked-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/checkbox-unchecked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/checkbox-unchecked.png</file> + <file preprocess='to-pixdata'>assets/grid-selection-checked-dark.png</file> + <file preprocess='to-pixdata'>assets/grid-selection-checked.png</file> + <file preprocess='to-pixdata'>assets/grid-selection-unchecked-dark.png</file> + <file preprocess='to-pixdata'>assets/grid-selection-unchecked.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-checked-hover.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-checked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-checked.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-mixed-hover.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-mixed-insensitive.png</file> + <file preprocess='to-pixdata'>assets/menuitem-checkbox-mixed.png</file> + <file preprocess='to-pixdata'>assets/menuitem-radio-checked-hover.png</file> + <file preprocess='to-pixdata'>assets/menuitem-radio-checked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/menuitem-radio-checked.png</file> + <file preprocess='to-pixdata'>assets/radio-checked-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-checked-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-checked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/radio-checked.png</file> + <file preprocess='to-pixdata'>assets/radio-mixed-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-mixed-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-mixed-insensitive.png</file> + <file preprocess='to-pixdata'>assets/radio-mixed.png</file> + <file preprocess='to-pixdata'>assets/radio-unchecked-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-unchecked-insensitive-dark.png</file> + <file preprocess='to-pixdata'>assets/radio-unchecked-insensitive.png</file> + <file preprocess='to-pixdata'>assets/radio-unchecked.png</file> + <file>dist/gtk.css</file> + <file>dist/gtk-dark.css</file> + </gresource> +</gresources> diff --git a/themes/Numix/gtk-3.0/scss/_colors.scss b/themes/Numix/gtk-3.0/scss/_colors.scss @@ -0,0 +1,66 @@ +@import "global"; + +/* dark color scheme */ +@define-color dark_bg_color #{"" + $dark_bg_color}; +@define-color dark_fg_color #{"" + $dark_fg_color}; + +/* colormap actually used by the theme, to be overridden in other css files */ +@define-color theme_bg_color #{"" + $bg_color}; +@define-color theme_fg_color #{"" + $fg_color}; +@define-color theme_base_color #{"" + $base_color}; +@define-color theme_text_color #{"" + $text_color}; +@define-color theme_selected_bg_color #{"" + $selected_bg_color}; +@define-color theme_selected_fg_color #{"" + $selected_fg_color}; +@define-color theme_tooltip_bg_color #{"" + $tooltip_bg_color}; +@define-color theme_tooltip_fg_color #{"" + $tooltip_fg_color}; + +/* shadow effects */ +@define-color light_shadow #{"" + $light_shadow}; +@define-color dark_shadow #{"" + $dark_shadow}; + +/* misc colors used by gtk+ */ +@define-color info_fg_color #{"" + $info_fg_color}; +@define-color info_bg_color #{"" + $info_bg_color}; +@define-color warning_fg_color #{"" + $warning_fg_color}; +@define-color warning_bg_color #{"" + $warning_bg_color}; +@define-color question_fg_color #{"" + $question_fg_color}; +@define-color question_bg_color #{"" + $question_bg_color}; +@define-color error_fg_color #{"" + $error_fg_color}; +@define-color error_bg_color #{"" + $error_bg_color}; +@define-color link_color #{"" + $link_color}; +@define-color success_color #{"" + $success_color}; +@define-color warning_color #{"" + $warning_color}; +@define-color error_color #{"" + $error_color}; + +/* widget colors */ +@define-color titlebar_bg_color @dark_bg_color; +@define-color titlebar_fg_color @dark_fg_color; +@define-color menubar_bg_color @dark_bg_color; +@define-color menubar_fg_color @dark_fg_color; +@define-color toolbar_bg_color @theme_bg_color; +@define-color toolbar_fg_color @theme_fg_color; +@define-color menu_bg_color @dark_bg_color; +@define-color menu_fg_color @dark_fg_color; +@define-color panel_bg_color @dark_bg_color; +@define-color panel_fg_color @dark_fg_color; + +/* osd */ +@define-color osd_bg #{"" + $osd_bg}; +@define-color osd_fg #{"" + $osd_fg}; + +/* lightdm greeter colors */ +@define-color lightdm_bg_color #{"" + $lightdm_bg_color}; +@define-color lightdm_fg_color #{"" + $lightdm_fg_color}; + +/* window manager colors */ +@define-color wm_bg #{"" + $wm_bg}; +@define-color wm_border_focused #{"" + $wm_border_focused}; +@define-color wm_border_unfocused #{"" + $wm_border_unfocused}; +@define-color wm_title_focused #{"" + $wm_title_focused}; +@define-color wm_title_unfocused #{"" + $wm_title_unfocused}; +@define-color wm_icons_focused #{"" + $wm_icons_focused}; +@define-color wm_icons_focused_prelight #{"" + $wm_icons_focused_prelight}; +@define-color wm_icons_focused_pressed #{"" + $wm_icons_unfocused_pressed}; +@define-color wm_icons_unfocused #{"" + $wm_icons_unfocused}; +@define-color wm_icons_unfocused_prelight #{"" + $wm_icons_unfocused_prelight}; +@define-color wm_icons_unfocused_pressed #{"" + $wm_icons_unfocused_pressed}; diff --git a/themes/Numix/gtk-3.0/scss/_functions.scss b/themes/Numix/gtk-3.0/scss/_functions.scss @@ -0,0 +1,79 @@ +$modules: () !default; + +@mixin exports($name) { + @if (not index($modules, $name)) { + $modules: append($modules, $name) !global; + + @content; + } +} + +@function alpha($color, $amount) { + @if type-of($color) == "color" { + @return fade-out($color, (1 - $amount)); + } @else { + @return unquote("alpha(#{$color},#{$amount})"); + } +} + +@function shade($color, $amount) { + @if type-of($color) == "color" { + @if ($amount > 1) { + @return lighten($color, ($amount - 1) * lightness($color)) + } @else { + @return darken($color, (1 - $amount) * lightness($color)) + } + } @else { + @return unquote("shade(#{$color},#{$amount})"); + } +} + +@function mix($color1, $color2, $amount) { + @return unquote("mix(#{$color1},#{$color2},#{$amount})"); +} + +@function border_normal($color) { + @return shade($color, $contrast); +} + +@function border_focus($color) { + @return shade($color, ($contrast - .05)); +} + +@function border_active($color) { + @return shade($color, ($contrast - .1)); +} + +@function border_insensitive($color) { + @return shade($color, ($contrast + .05)); +} + +@mixin linear-gradient($color, $direction: to bottom) { + @if $gradient == 0 { + background-color: $color; + background-image: none; + } @else { + $amount: $gradient / 2; + + background-color: $color; + background-image: linear-gradient($direction, + shade($color, (1 + $amount)), + shade($color, (1 - $amount)) + ); + } +} + +@mixin border($color) { + border-color: border_normal($color); + + &:focus, &:hover { border-color: border_focus($color); } + + &:active, &:active:hover, + &:active:focus, &:active:hover:focus, + &:checked, &:checked:hover, + &:checked:focus, &:checked:hover:focus { border-color: border_active($color); } + + &:insensitive { border-color: border_insensitive($color); } + + &:active:insensitive, &:checked:insensitive { border-color: border_normal($color); } +} diff --git a/themes/Numix/gtk-3.0/scss/_global.scss b/themes/Numix/gtk-3.0/scss/_global.scss @@ -0,0 +1,78 @@ +// scss-lint:disable ColorVariable + +@import "functions"; + +// default color scheme +$bg_color: if($variant == "dark", #444, #eee); +$fg_color: if($variant == "dark", #ddd, #555); +$base_color: if($variant == "dark", #333, #fff); +$text_color: if($variant == "dark", #eee, #333); +$selected_bg_color: #f0544c; +$selected_fg_color: #fff; +$tooltip_bg_color: #444; +$tooltip_fg_color: #eee; + +// dark colors +$dark_bg_color: #444; +$dark_fg_color: #eee; + +// shadows +$dark_shadow: #000; +$light_shadow: #fff; + +// white and black +$black: #000; +$white: #fff; + +// misc colors used by gtk+ +$info_fg_color: #fff; +$info_bg_color: #03a9f4; +$warning_fg_color: #fff; +$warning_bg_color: #ef6c00; +$question_fg_color: #fff; +$question_bg_color: #673ab7; +$error_fg_color: #fff; +$error_bg_color: #f44336; +$link_color: #3f51b5; +$success_color: #4caf50; +$warning_color: #ef6c00; +$error_color: #f44336; + +$toolbar_bg_color: $bg_color; +$toolbar_fg_color: $fg_color; + +$titlebar_bg_color: $dark_bg_color; +$titlebar_fg_color: $dark_fg_color; + +$menu_bg_color: $dark_bg_color; +$menu_fg_color: $dark_fg_color; + +$menubar_bg_color: $dark_bg_color; +$menubar_fg_color: $dark_fg_color; + +$panel_bg_color: $dark_bg_color; +$panel_fg_color: $dark_fg_color; + +$osd_bg: $dark_bg_color; +$osd_fg: $dark_fg_color; + +$lightdm_bg_color: $dark_bg_color; +$lightdm_fg_color: $dark_fg_color; + +$wm_bg: $titlebar_bg_color; +$wm_border_focused: transparent; +$wm_border_unfocused: transparent; +$wm_title_focused: mix($titlebar_fg_color, $titlebar_bg_color, .1); +$wm_title_unfocused: mix($titlebar_fg_color, $titlebar_bg_color, .4); +$wm_icons_focused: mix($titlebar_fg_color, $titlebar_bg_color, .1); +$wm_icons_focused_prelight: $selected_bg_color; +$wm_icons_focused_pressed: shade($selected_bg_color, .8); +$wm_icons_unfocused: mix($titlebar_fg_color, $titlebar_bg_color, .4); +$wm_icons_unfocused_prelight: $selected_bg_color; +$wm_icons_unfocused_pressed: shade($selected_bg_color, .8); + +// widget styles +$roundness: 2px; +$spacing: 5px; +$gradient: 0; +$contrast: .8; diff --git a/themes/Numix/gtk-3.0/scss/_widgets.scss b/themes/Numix/gtk-3.0/scss/_widgets.scss @@ -0,0 +1,36 @@ +@import "functions"; +@import "global"; +@import "colors"; + + +@import "widgets/base"; +@import "widgets/button"; +@import "widgets/entry"; +@import "widgets/actionbar"; +@import "widgets/calendar"; +@import "widgets/choosers"; +@import "widgets/grid"; +@import "widgets/infobar"; +@import "widgets/menu"; +@import "widgets/misc"; +@import "widgets/notebook"; +@import "widgets/osd"; +@import "widgets/overshoot"; +@import "widgets/progress"; +@import "widgets/scrollbar"; +@import "widgets/sidebar"; +@import "widgets/spinner"; +@import "widgets/toggle"; +@import "widgets/toolbar"; +@import "widgets/view"; +@import "widgets/window"; + +@import "apps/unity-greeter"; +@import "apps/gedit"; +@import "apps/nautilus"; +@import "apps/nemo"; +@import "apps/panel"; +@import "apps/synaptic"; +@import "apps/xfce"; +@import "apps/unity"; +@import "apps/lightdm"; diff --git a/themes/Numix/gtk-3.0/scss/apps/_gedit.scss b/themes/Numix/gtk-3.0/scss/apps/_gedit.scss @@ -0,0 +1,132 @@ +/********* + ! Gedit * +**********/ + +@include exports("gedit") { + GeditWindow .pane-separator { + border-width: 0 1px 0 0; + border-style: solid; + + &, &:hover { + border-color: shade($bg_color, ($contrast + .1)); + background-color: $bg_color; + } + } + + .gedit-document-panel { + background-color: $bg_color; + color: mix($fg_color, $bg_color, .1); + + .list-row { + padding: $spacing; + + .button { + padding: 1px; + border-radius: $roundness; + border-style: solid; + border-color: transparent; + border-width: 1px; + background-color: transparent; + background-image: none; + color: transparent; + icon-shadow: none; + } + } + + .prelight-row .button { + border-color: alpha($black, .1); + color: alpha($white, .8); + + &:active { + border-color: alpha($black, .2); + background-color: alpha($black, .08); + color: $white; + } + } + + list-row, .prelight-row { + .button:hover { + border-color: alpha($black, .1); + color: $white; + } + } + } + + .gedit-document-panel-group-row { + &, &:hover { + border-top: 1px solid shade($bg_color, ($contrast + .1)); + background-color: $bg_color; + } + } + + .gedit-document-panel-document-row { + &:hover { background-color: shade($bg_color, 1.05); } + + &:selected { + &, &:hover { @extend %selected; } + } + } + + .gedit-document-panel-dragged-row { + border: 1px solid alpha($black, .1); + background-color: alpha($black, .5); + color: $white; + } + + .gedit-document-panel-placeholder-row { + border: 0; + background-color: alpha($black, .08); + transition: all 200ms ease-in; + } + + GeditStatusbar { border-top: 1px solid border_normal($bg_color); } + + GeditStatusbar GeditSmallButton, GeditStatusMenuButton { + text-shadow: none; + + .button { + border-style: solid; + border-width: 0 1px; + border-color: transparent; + border-radius: 0; + padding: 1px 6px 2px 4px; + + &:hover, &:active, &:active:hover { border-color: border_normal($bg_color); } + + &:active { + background-color: shade($bg_color, .95); + color: $fg_color; + } + } + } + + GeditViewFrame .gedit-search-slider { + padding: $spacing; + border-radius: 0 0 $roundness $roundness; + border-width: 0 1px 1px; + border-style: solid; + border-color: border_normal($base_color); + background-color: $base_color; + + .not-found { + background-color: $error_bg_color; + background-image: none; + color: $error_fg_color; + + &:selected { @extend %selected; } + } + } + + GeditFileBrowserWidget .toolbar { + padding: $spacing / 2; + border-top: 0; + background-color: $bg_color; + background-image: none; + } + + .gedit-search-entry-occurrences-tag { + margin: $spacing / 2; + padding: $spacing / 2; + color: mix($text_color, $base_color, .5); + } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_lightdm.scss b/themes/Numix/gtk-3.0/scss/apps/_lightdm.scss @@ -0,0 +1,193 @@ +/*********************** + ! LightDM GTK Greeter * + ***********************/ + +@include exports("lightdm") { + #panel_window { + background-color: transparent; + background-image: none; + color: $white; + font: bold; + text-shadow: 0 1px alpha($black, .5); + icon-shadow: 0 1px alpha($black, .5); + + .menubar { + &, > .menuitem { + background-color: transparent; + background-image: none; + color: $white; + font: bold; + text-shadow: 0 1px alpha($black, .5); + icon-shadow: 0 1px alpha($black, .5); + + *:hover { color: $white; } + + &:hover { + border-style: none; + background-color: alpha($white, .2); + background-image: none; + color: $white; + } + + &:insensitive { color: alpha($white, .7); } + + .menu { + border-radius: 1px; + + .menuitem { + font: normal; + text-shadow: none; + } + } + } + } + } + + #content_frame { padding-bottom: 14px; } + + #login_window, #shutdown_dialog, #restart_dialog { + border-style: none; + border-radius: $roundness; + background-color: $lightdm_bg_color; + color: $lightdm_fg_color; + + /* draw border using box-shadow */ + box-shadow: inset 1px 0 mix(shade($lightdm_bg_color, .7), $lightdm_fg_color, .21), + inset -1px 0 mix(shade($lightdm_bg_color, .7), $lightdm_fg_color, .21), + inset 0 1px mix(shade($lightdm_bg_color, .7), $lightdm_fg_color, .21), + inset 0 -1px mix(shade($lightdm_bg_color, .7), $lightdm_fg_color, .21); + + .button { + padding: 3px 15px; + border-width: 1px; + border-radius: $roundness; + border-style: solid; + border-color: shade($lightdm_bg_color, .8); + background-color: shade($lightdm_bg_color, 1.08); + background-image: none; + color: $lightdm_fg_color; + transition: all 150ms ease-out; + + &.default, &:focus, &:active:focus { + border-color: shade($selected_bg_color, .8); + background-color: shade($selected_bg_color, 1.08); + background-image: none; + color: $selected_fg_color; + + &:hover { + border-color: shade($selected_bg_color, .7); + background-color: $selected_bg_color; + } + } + } + } + + + #login_window { + .menu { border-radius: 1px; } + + GtkComboBox .button { + &, &:hover, &:active, &:active:hover, + &:focus, &:hover:focus, &:active:focus, &:active:hover:focus { + padding: 0; + background: none; + border-style: none; + box-shadow: none; + } + } + + .entry { + padding: 3px 5px; + border-width: 1px; + border-style: solid; + border-color: shade($lightdm_bg_color, .8); + border-radius: $roundness; + background-color: shade($lightdm_bg_color, .9); + background-image: none; + color: $lightdm_fg_color; + box-shadow: none; + transition: all 150ms ease-out; + + &:focus, &:hover { + border-color: shade($lightdm_bg_color, .7); + + box-shadow: inset 1px 0 alpha($dark_shadow, .1), + inset 0 1px alpha($dark_shadow, .12), + inset -1px 0 alpha($dark_shadow, .1), + inset 0 -1px alpha($dark_shadow, .05); + } + } + } + + #user_combobox { + color: $lightdm_fg_color; + font: 18px; + + .menu { font: normal; } + + .arrow { color: mix($lightdm_fg_color, $lightdm_bg_color, .5); } + } + + #user_image { + padding: 3px; + border-radius: $roundness; + + /* draw border using box-shadow */ + box-shadow: inset 1px 0 shade($lightdm_bg_color, .7), + inset -1px 0 shade($lightdm_bg_color, .7), + inset 0 1px shade($lightdm_bg_color, .7), + inset 0 -1px shade($lightdm_bg_color, .7); + } + + #user_image_border { + border-radius: $roundness; + background-color: shade($lightdm_bg_color, .9); + background-image: none; + box-shadow: inset 1px 0 alpha($dark_shadow, .07), + inset 0 1px alpha($dark_shadow, .08), + inset -1px 0 alpha($dark_shadow, .07), + inset 0 -1px alpha($dark_shadow, .05); + } + + #buttonbox_frame { + padding-top: 10px; + padding-bottom: 0; + border-style: none; + border-bottom-left-radius: $roundness; + border-bottom-right-radius: $roundness; + background-color: transparent; + background-image: none; + box-shadow: none; + } + + + + /* shutdown button */ + #shutdown_button { + border-color: shade($error_bg_color, .8); + background-color: shade($error_bg_color, 1.08); + background-image: none; + color: $error_fg_color; + + &:hover, &:active, &:active:hover { + border-color: shade($error_bg_color, .7); + background-color: $error_bg_color; + } + } + + /* restart button */ + #restart_button { + border-color: shade($warning_bg_color, .8); + background-color: shade($warning_bg_color, 1.08); + background-image: none; + color: $warning_fg_color; + + &:hover, &:active, &:active:hover { + border-color: shade($warning_bg_color, .7); + background-color: $warning_bg_color; + } + } + + /* password warning */ + #greeter_infobar { font: bold; } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_nautilus.scss b/themes/Numix/gtk-3.0/scss/apps/_nautilus.scss @@ -0,0 +1,77 @@ +/************ + ! Nautilus * +*************/ + +@include exports("nautilus") { + .nautilus-desktop.nautilus-canvas-item { + color: $white; + text-shadow: 1px 1px $black; + + &:active { color: $fg_color; } + + &:selected { color: $selected_fg_color; } + + &:active, &:prelight, &:selected { text-shadow: none; } + } + + NautilusWindow { + .toolbar { + border-width: 0 0 1px; + border-style: solid; + border-color: border_normal($toolbar_bg_color); + } + + .sidebar .frame { border: 0; } + + .sidebar-icon { + padding-left: $spacing; + padding-right: $spacing; + } + + GtkPaned { + border-width: 0 1px 0 0; + border-style: solid; + + &, &:hover { + border-color: shade($bg_color, ($contrast + .1)); + background-color: $bg_color; + } + } + } + + NautilusNotebook { + &.notebook { + border-right-width: 0; + border-left-width: 0; + border-bottom-width: 0; + } + + .frame { border: 0; } + } + + NautilusQueryEditor { + .toolbar { + padding-top: $spacing - 1px; + padding-bottom: $spacing - 2px; + border-width: 1px 0 0; + border-style: solid; + border-color: $toolbar_bg_color; + background-color: shade($toolbar_bg_color, .9); + + &:nth-child(2) { border-color: border_normal($toolbar_bg_color); } + + &.search-bar { + border-top-width: 0; + border-bottom-width: 0; + } + + &, &.search-bar { + &:last-child, &:only-child { + border-bottom-width: 1px; + border-bottom-color: border_normal($toolbar_bg_color); + } + } + + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_nemo.scss b/themes/Numix/gtk-3.0/scss/apps/_nemo.scss @@ -0,0 +1,36 @@ +/******** + ! Nemo * +*********/ + +@include exports("nemo") { + .nemo-desktop.nemo-canvas-item { + color: $white; + text-shadow: 1px 1px $black; + + &:active { color: $fg_color; } + + &:selected { color: $selected_fg_color; } + + &:active, &:prelight, &:selected { text-shadow: none; } + } + + NemoPathbarButton { + @include button($toolbar_bg_color, $toolbar_fg_color); + + -NemoPathbarButton-border-radius: $roundness; + } + + NemoPlacesTreeView { + -NemoPlacesTreeView-disk-full-bg-color: shade($toolbar_bg_color, .8); + -NemoPlacesTreeView-disk-full-fg-color: $selected_bg_color; + -NemoPlacesTreeView-disk-full-bar-width: 1px; + -NemoPlacesTreeView-disk-full-bar-radius: 1px; + -NemoPlacesTreeView-disk-full-bottom-padding: 2px; + -NemoPlacesTreeView-disk-full-max-length: 70px; + + &:selected { + -NemoPlacesTreeView-disk-full-bg-color: $selected_fg_color; + -NemoPlacesTreeView-disk-full-fg-color: shade($selected_bg_color, 1.2); + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_panel.scss b/themes/Numix/gtk-3.0/scss/apps/_panel.scss @@ -0,0 +1,80 @@ +/*********************** + ! Fallback mode panel * +************************/ + +@include exports("panel") { + %panel { + @include linear-gradient($panel_bg_color); + + color: $panel_fg_color; + } + + %panelbutton { + border-width: 0 1px; + border-radius: 0; + border-color: transparent; + background-color: transparent; + background-image: none; + color: $panel_fg_color; + + &:hover, &:prelight { + @include linear-gradient(mix($panel_bg_color, $panel_fg_color, .11)); + + border-color: mix($panel_bg_color, $panel_fg_color, .11); + color: shade($panel_fg_color, 1.08); + } + + &:active, &:checked { + @include linear-gradient(mix($panel_bg_color, $panel_fg_color, .21), to top); + + border-color: mix($panel_bg_color, $panel_fg_color, .21); + color: shade($panel_fg_color, 1.08); + + &:prelight { + @include linear-gradient(mix($panel_bg_color, $panel_fg_color, .31), to top); + + border-color: mix($panel_bg_color, $panel_fg_color, .31); + } + } + } + + PanelWidget, PanelApplet, PanelToplevel { + @extend %panel; + + padding: 0; + } + + PanelApplet { + border: 0; + + .button { + @extend %panelbutton; + + -GtkButton-inner-border: 2; + } + } + + PanelSeparator { + @extend %panel; + + border: 0; + } + + PanelApplet > GtkMenuBar.menubar, PanelMenuBar.menubar, .gnome-panel-menu-bar { + &.menuitem { + @extend %panel; + + border: 0; + + -PanelMenuBar-icon-visible: true; + } + } + + PanelAppletFrame { + @extend %panel; + + border: 0; + } + + WnckPager, WnckTasklist { @extend %panel; } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_synaptic.scss b/themes/Numix/gtk-3.0/scss/apps/_synaptic.scss @@ -0,0 +1,15 @@ +/************ + ! Synaptic * +*************/ + +@include exports("synaptic") { + GtkWindow > GtkVBox > .dock { + &, > GtkHBox > GtkToolbar { + @include linear-gradient($toolbar-bg-color); + + padding: $spacing; + border: 0; + color: $toolbar_fg_color; + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_unity-greeter.scss b/themes/Numix/gtk-3.0/scss/apps/_unity-greeter.scss @@ -0,0 +1,116 @@ +/*********************** + ! Unity Greeter * + ***********************/ + +@include exports("unity-greeter") { + + + .lightdm.menu { + background-image: none; + background-color: fade-out($black, .4); + border-color: fade-out($white, .8); + border-radius: 4px; + padding: 1px; + + color: $white; + } + + .lightdm-combo .menu { + background-color: shade($dark_bg_color, 1.08); + border-radius: 0; + padding: 0; + color: $white; + } + + .lightdm.menu .menuitem *, + .lightdm.menu .menuitem.check:active, + .lightdm.menu .menuitem.radio:active { + color: $white; + } + + .lightdm.menubar *, + .lightdm.menubar .menuitem { + padding: 2px; + } + + .lightdm-combo.combobox-entry .button, + .lightdm-combo .cell, + .lightdm-combo .button, + .lightdm-combo .entry, + + .lightdm.button{ + background-image: none; + background-color: fade-out($black, .7); + border-color: fade-out($white, .1); + border-radius: 5px; + padding: 5px; + color: $white; + } + .lightdm.button:hover { + background-image: none; + background-color: fade-out($white, .7); + border-color: fade-out($white, .4); + border-radius: 5px; + padding: 5px; + color: $white; + text-shadow: none; + } + .lightdm.button:active, + .lightdm.button:active:focused, + .lightdm.button:focused, + + .lightdm.entry { + background-image: none; + background-color: fade-out($black, .7); + border-color: fade-out($white, .4); + border-radius: 5px; + padding: 7px; + color: $white; + text-shadow: none; + } + .lightdm.entry:hover, + .lightdm.entry:active, + .lightdm.entry:active:focused { + background-image: none; + border-image: none; + } + .lightdm.entry:focused { + border-color: fade-out($white, .4); + border-width: 1px; + border-style: solid; + color: $white; + } + .lightdm.entry:selected { + background-color: fade-out($white, .8); + } + + @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; + } + + .lightdm.option-button { + padding: 5px; + background: none; + border: 0; + } + + .lightdm.toggle-button { + background: none; + border-width: 0; + } + .lightdm.toggle-button.selected:hover { + background-color: fade-out($white, .7); + border-color: fade-out($white, .7); + border-width: 1px; + } + .lightdm.toggle-button.selected { + background-color: fade-out($black, .7); + border-color: fade-out($white, .7); + border-width: 1px; + } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_unity.scss b/themes/Numix/gtk-3.0/scss/apps/_unity.scss @@ -0,0 +1,70 @@ +@import "panel"; + +/**************** + ! Unity styles * +*****************/ + +@include exports("unity") { + 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, .7); + -UnityDecoration-active-shadow-radius: 8px; + -UnityDecoration-inactive-shadow-color: rgba(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; + + + &.top { + border: 1px solid $wm_border_focused; + border-bottom: 0; + border-radius: 2px 2px 0 0; + padding: 1px ($spacing * 2) 0; + background-color: $titlebar_bg_color; + color: mix($titlebar_fg_color, $titlebar_bg_color, .1); + text-shadow: none; + + &:backdrop { + border: 1px solid $wm_border_unfocused; + color: mix($titlebar_fg_color, $titlebar_bg_color, .4); + } + } + + &.left, &.right, &.bottom { + background-color: $wm_border_focused; + + &:backdrop { background-color: $wm_border_unfocused; } + } + } + + UnityPanelWidget, .unity-panel { + @extend %panel; + + border: 0; + } + + .unity-panel { + &.menuitem, .menuitem { + border-width: 0 1px; + color: $panel_fg_color; + + &:hover, *:hover { + border-color: mix($panel_bg_color, $panel_fg_color, .21); + background-color: mix($panel_bg_color, $panel_fg_color, .21); + background-image: none; + color: shade($panel_fg_color, 1.08); + } + } + } + + SheetStyleDialog.unity-force-quit { background-color: $bg_color; } +} diff --git a/themes/Numix/gtk-3.0/scss/apps/_xfce.scss b/themes/Numix/gtk-3.0/scss/apps/_xfce.scss @@ -0,0 +1,26 @@ +@import "panel"; + +/*************** + ! Xfce styles * +****************/ + +@include exports("xfce") { + XfceHeading { + margin: 0; + padding: 0; + border: 0; + background-image: none; + background-color: $base_color; + color: $text_color; + } + + .xfce4-panel { + @extend %panel; + + font: normal; + + .button { @extend %panelbutton; } + + .menu { -gtk-image-effect: none; } + } +} diff --git a/themes/Numix/gtk-3.0/scss/gtk-dark.scss b/themes/Numix/gtk-3.0/scss/gtk-dark.scss @@ -0,0 +1,3 @@ +$variant: "dark"; + +@import "widgets"; diff --git a/themes/Numix/gtk-3.0/scss/gtk.scss b/themes/Numix/gtk-3.0/scss/gtk.scss @@ -0,0 +1,3 @@ +$variant: "light"; + +@import "widgets"; diff --git a/themes/Numix/gtk-3.0/scss/widgets/_actionbar.scss b/themes/Numix/gtk-3.0/scss/widgets/_actionbar.scss @@ -0,0 +1,106 @@ +@import "button"; +@import "toolbar"; + +/************** + ! Action-bar * +***************/ + +@include exports("actionbar") { + .action-bar { + @include linear-gradient($bg_color); + + padding: $spacing; + border-width: 1px 0 0; + border-style: solid; + border-color: border_normal($bg_color); + color: $fg_color; + + .button { + &.text-button { padding: $spacing - 1px; } + + &.image-button { padding: $spacing + 1px; } + } + + .title { + font: bold; + padding: 0 ($spacing * 2); + } + + .subtitle { + font: smaller; + padding: 0 ($spacing * 2); + } + } +} + + +/*************** + ! Search bars * +****************/ + +@include exports("searchbar") { + .search-bar { + @include linear-gradient(shade($bg_color, .98)); + + border-width: 0 0 1px; + border-style: solid; + border-color: border_normal($bg_color); + color: $fg_color; + + .button.close-button { padding: $spacing; } + } +} + + +/****************** + ! Action buttons * +*******************/ + +@include exports("actionbuttons") { + $types: ( + suggested: $success_color, + destructive: $error-color + ); + + @each $type, $color in $types { + .#{$type}-action.button { + @include button($color, $selected_fg_color); + } + } +} + + +/****************** +* selection mode * +******************/ + +@include exports("selectionmode") { + .selection-mode { + &.header-bar, &.toolbar { + @include toolbar($selected_bg_color, $selected_fg_color); + + .button { + @include button($selected_bg_color, $selected_fg_color); + + &.suggested-action { @extend .suggested-action.button; } + } + + .selection-menu.button { + border: 0; + background-color: transparent; + background-image: none; + color: shade($selected_bg_color, $contrast); + + &:hover { color: shade($selected_bg_color, ($contrast - .1)); } + + &:active { color: shade($selected_bg_color, ($contrast - .05)); } + } + + .dim-label, { + &, .selection-menu.button & { color: shade($selected_bg_color, ($contrast - .1)); } + } + } + + &.toolbar { padding: $spacing; } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_base.scss b/themes/Numix/gtk-3.0/scss/widgets/_base.scss @@ -0,0 +1,100 @@ +/************** + ! GTK settings +***************/ + +* { + -GtkArrow-arrow-scaling: .5; + -GtkExpander-expander-size: 8; + -GtkStatusbar-shadow-type: none; + -GtkToolItemGroup-expander-size: 8; + -GtkWindow-resize-grip-height: 0; + -GtkWindow-resize-grip-width: 0; + -WnckTasklist-fade-overlay-rect: 0; + + outline-color: alpha($selected_bg_color, .5); + outline-style: dashed; + outline-width: 1px; + outline-offset: -1px; + outline-radius: $roundness; +} + + +/************* + ! Base states + *************/ + +%selected { + &, &:focus { + background-color: $selected_bg_color; + color: $selected_fg_color; + } +} + +* { + /* hyperlinks */ + -GtkHTML-link-color: $link_color; + -GtkIMHtml-hyperlink-color: $link_color; + -GtkWidget-link-color: $link_color; + -GtkWidget-visited-link-color: $link_color; + + &:selected { @extend %selected; } + + &:insensitive, + &:insensitive:insensitive { color: mix($fg_color, $bg_color, .5); } + + &:insensitive { -gtk-image-effect: dim; } + + &:hover { -gtk-image-effect: highlight; } + + &:link, &:visited { color: $link_color; } +} + +.background { + background-color: $bg_color; + color: $fg_color; + + &:backdrop { + text-shadow: none; + icon-shadow: none; + } + + &.csd { background-color: $bg_color; } +} + +.gtkstyle-fallback { + background-color: alpha($bg_color, .5); + color: $fg_color; + + &:prelight { + background-color: shade($bg_color, 1.1); + color: $fg_color; + } + + &:active { + background-color: shade($bg_color, .9); + color: $fg_color; + } + + &:insensitive { + background-color: shade(shade($bg_color, .95), 1.05); + color: mix($fg_color, $bg_color, .5); + } + + &:selected { @extend %selected; } +} + +GtkImage, GtkLabel, GtkBox, GtkGrid { + &, &:insensitive { background-color: transparent; } +} + +GtkLabel { + &.separator { + @extend .dim-label; + + color: $fg_color; + } + + &:selected { @extend %selected; } + + &:insensitive { color: mix($fg_color, $bg_color, .5); } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_button.scss b/themes/Numix/gtk-3.0/scss/widgets/_button.scss @@ -0,0 +1,361 @@ +/********* + ! Buttons +**********/ + +@include exports("button_extends") { + %button { + padding: $spacing ($spacing + 2px); + border-width: 1px; + border-style: solid; + border-radius: $roundness; + transition: 150ms ease; + outline-color: transparent; + + -GtkWidget-focus-padding: 1; + -GtkWidget-focus-line-width: 0; + + &:focus, &:hover, &:active { transition: none; } + } + + %linked_middle { + border-radius: 0; + border-left-style: none; + border-right-style: solid; + + &:dir(rtl) { + border-radius: 0; // needed when including %linked_middle:dir(rtl) + border-right-style: none; + border-left-style: solid; + } + } + + %linked_button { + border-width: 1px; + border-style: solid; + border-radius: 0; + border-right-style: none; + border-left-style: none; + + &:first-child { + border-width: 1px; + border-radius: $roundness; + border-left-style: solid; + border-right-style: none; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + &:dir(rtl) { + border-left-style: none; + border-right-style: solid; + } + } + + &:last-child { + border-width: 1px; + border-radius: $roundness; + border-left-style: none; + border-right-style: solid; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + &:dir(rtl) { + border-left-style: solid; + border-right-style: none; + } + } + + &:only-child, &:first-child:only-child { + border-width: 1px; + border-style: solid; + border-radius: $roundness; + } + } +} + +@mixin linked_button($bg) { + $border_strength: if(lightness($bg) > 50, 0, .1); + $shadow_strength: if(lightness($bg) > 50, 0, .1); + + @extend %linked_button; + + box-shadow: inset -1px 0 border_normal(rgba(0, 0, 0, .12 + $border_strength)), + 0 1px 2px -1px alpha($dark_shadow, .12 + $shadow_strength); + + &:focus, &:hover { + box-shadow: inset -1px 0 border_focus(rgba(0, 0, 0, .12 + $border_strength)), + 0 1px 2px -1px alpha($dark_shadow, .32 + $shadow_strength); + } + + &:active, &:active:hover, + &:active:focus, &:active:hover:focus, + &:checked, &:checked:hover, + &:checked:focus, &:checked:hover:focus { + box-shadow: inset -1px 0 border_active(rgba(0, 0, 0, .12 + $border_strength)), + inset 0 1px alpha($dark_shadow, .07), + inset 0 -1px alpha($dark_shadow, .05); + } + + &:insensitive { box-shadow: inset -1px 0 shade($bg, .8); } + + &:last-child, &:only-child { box-shadow: 0 1px 2px -1px alpha($dark_shadow, .12 + $shadow_strength); } + + &:last-child:hover, &:only-child:hover { box-shadow: 0 1px 2px -1px alpha($dark_shadow, .32 + $shadow_strength); } + + &:insensitive:last-child, &:insensitive:only-child, + &:active:insensitive:last-child, &:active:insensitive:only-child, + &:checked:insensitive:last-child, &:checked:insensitive:only-child { box-shadow: none; } + + &:active:last-child, &:active:last-child:focus, &:active:last-child:hover, &:active:last-child:hover:focus, + &:checked:last-child, &:checked:last-child:focus, &:checked:last-child:hover, &:checked:last-child:hover:focus, { + box-shadow: inset 0 1px alpha($dark_shadow, .07), + inset -1px 0 alpha($dark_shadow, .06); + } + + &:active:only-child, &:active:only-child:focus, &:active:only-child:hover, &:active:only-child:hover:focus, + &:checked:only-child, &:checked:only-child:focus, &:checked:only-child:hover, &:checked:only-child:hover:focus { + box-shadow: inset 1px 0 alpha($dark_shadow, .06), + inset 0 1px alpha($dark_shadow, .07), + inset -1px 0 alpha($dark_shadow, .06); + } +} + +@mixin button($bg, $fg) { + $border_strength: if(lightness($bg) > 50, 0, .1); + $shadow_strength: if(lightness($bg) > 50, 0, .1); + + $button_bg: if(hue($bg) == 0deg, shade($bg, 1.2), $bg); + + @extend %button; + @include linear-gradient($button_bg); + @include border(rgba(0, 0, 0, .12 + $border_strength)); + + color: $fg; + box-shadow: 0 1px 2px -1px alpha($dark_shadow, .12 + $shadow_strength); + + &.flat { + border-color: alpha($button_bg, 0); + background-color: alpha($button_bg, 0); + background-image: none; + box-shadow: none; + } + + &, &.flat { + &:focus, &:hover { + @include linear-gradient(shade($button_bg, 1.2)); + @include border(rgba(0, 0, 0, .2 + $border_strength)); + + box-shadow: 0 1px 2px -1px alpha($dark_shadow, .32 + $shadow_strength); + } + + &:active, &:checked { + @include linear-gradient(shade($button_bg, .7), to top); + + color: $white; + box-shadow: inset 1px 0 alpha($dark_shadow, .06), + inset 0 1px alpha($dark_shadow, .07), + inset -1px 0 alpha($dark_shadow, .06), + inset 0 -1px alpha($dark_shadow, .05); + + &:focus, &:hover { + @include linear-gradient(shade($button_bg, .65), to top); + + color: $white; + } + } + + &:focus, &:hover { color: $fg; } + + &:active:insensitive, &:checked:insensitive { + @include linear-gradient(shade($button_bg, .9)); + + color: $fg; + box-shadow: none; + } + + &:insensitive:insensitive { + @if (lightness($button_bg) > 50) { + @include linear-gradient(shade($button_bg, .95)); + } @else { + @include linear-gradient(alpha($button_bg, .3)); + } + + color: mix($bg, $fg, .5); + box-shadow: none; + } + } + + &.separator, .separator { + border: 1px solid currentColor; + color: shade($bg, ($contrast + .1)); + + &:insensitive { color: shade($button_bg, .85); } + } +} + +@include exports("button") { + * { + -GtkButton-child-displacement-x: 0; + -GtkButton-child-displacement-y: 0; + -GtkButton-default-border: 0; + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 1; + -GtkButton-interior-focus: true; + -GtkButtonBox-child-min-height: 24; + -GtkButtonBox-child-internal-pad-y: 1; + -GtkToolButton-icon-spacing: 6; + } + + %close_button { + border: 1px solid transparent; + background-color: transparent; + background-image: none; + box-shadow: none; + + &:focus, &:hover { + border: 1px solid alpha($black, .3); + background-color: alpha($white, .2); + background-image: none; + box-shadow: none; + } + + &:active, &:checked, &:active:hover, &:checked:hover { + border: 1px solid alpha($black, .3); + background-color: alpha($black, .1); + background-image: none; + box-shadow: none; + } + } + + .button { + @include button(shade($bg_color, 1.2), $fg_color); + + &.default { @include button($selected_bg_color, $selected_fg_color); } + + &.linked, .linked & { @include linked_button(shade($bg_color, 1.2)); } + + .spinbutton & { + color: mix($text_color, $base_color, .4); + padding: $spacing ($spacing * 2); + border: 0; + border-radius: 0; + border-style: none; + background-color: transparent; + background-image: none; + box-shadow: inset 1px 0 shade($base_color, .9); + + &:insensitive { + color: mix($text_color, $base_color, .7); + box-shadow: inset 1px 0 shade($base_color, .85); + } + + &:active, &:checked, &:hover { color: $text_color; } + + &:first-child { + border-radius: $roundness 0 0 $roundness; + box-shadow: none; + } + + &:last-child { border-radius: 0 $roundness $roundness 0; } + + &:dir(rtl) { box-shadow: inset -1px 0 shade($base_color, .9); } + } + + .spinbutton.vertical & { + border: 1px solid shade($bg_color, .8); + border-radius: $roundness; + background-color: shade($bg_color, 1.08); + background-image: none; + color: $fg_color; + box-shadow: none; + + &:hover { + border-color: shade($bg_color, .7); + background-color: shade($bg_color, 1.1); + background-image: none; + } + + &:active, &:checked { + border-color: shade($bg_color, .8); + background-color: shade($bg_color, .95); + background-image: none; + } + + &:active:hover, &:checked:hover { + border-color: shade($bg_color, .7); + } + + &:focus, &:hover:focus, &:active:focus, &:active:hover:focus { border-color: shade($bg_color, .7); } + + &:insensitive { + border-color: shade($bg_color, .85); + background-color: shade($bg_color, .9); + background-image: none; + } + + &:first-child { + border-width: 1px; + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &:last-child { + border-width: 1px; + border-top-width: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + } + } + + .spinbutton.vertical.entry { + border-width: 1px; + border-style: solid; + border-radius: 0; + } + } +} + + +/****************** +! ComboBoxes * +*******************/ + +@include exports("combobox") { + GtkComboBox { + > .button { + padding: ($spacing - 2px) ($spacing + 1px); + + -GtkComboBox-arrow-scaling: .5; + -GtkComboBox-shadow-type: none; + } + + &.combobox-entry { + .entry, .button { @extend %linked_button; } + } + + .separator { + /* always disable separators */ + -GtkWidget-wide-separators: true; + -GtkWidget-horizontal-separator: 0; + -GtkWidget-vertical-separator: 0; + + border-style: none; + } + } + + .linked > GtkComboBox { + > .button { + // the combo is a composite widget so the way we do button linked doesn't + // work, special case needed. See + // https://bugzilla.gnome.org/show_bug.cgi?id=733979 + &:dir(ltr) { @extend %linked_middle; } // specificity bump + &:dir(rtl) { @extend %linked_middle:dir(rtl); } + } + + &:first-child > .button { @extend %linked_button:first-child; } + + &:last-child > .button { @extend %linked_button:last-child; } + + &:only-child > .button { @extend %linked_button:only-child; } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_calendar.scss b/themes/Numix/gtk-3.0/scss/widgets/_calendar.scss @@ -0,0 +1,29 @@ +/********** + ! Calendar +***********/ + +@include exports("calendar") { + GtkCalendar { + padding: $spacing; + outline-offset: -1px; + + &:inconsistent { color: mix($fg_color, $bg_color, .5); } + + &.view, &.highlight, &.header, &.button { + &, &:focus, &:hover, &:insensitive { + border: 0; + background-color: transparent; + background-image: none; + } + } + + &.highlight { color: $selected_bg_color; } + } + + /* gnome-calendar */ + .calendar-view { + background-color: $base_color; + color: $text_color; + } +} + diff --git a/themes/Numix/gtk-3.0/scss/widgets/_choosers.scss b/themes/Numix/gtk-3.0/scss/widgets/_choosers.scss @@ -0,0 +1,125 @@ +/*************** + ! Color chooser +****************/ + +@include exports("colorchooser") { + GtkColorSwatch { + &, &:selected { + border: 1px solid alpha($black, .1); + border-radius: $roundness - 1px; + background-color: transparent; + background-clip: border-box; + + &:hover { border-color: alpha($black, .3); } + } + + &.color-light:selected:hover, &.color-dark:selected:hover { background-image: none; } + + &.left, &:first-child { + border-top-left-radius: $roundness; + border-bottom-left-radius: $roundness; + } + + &.right, &:last-child { + border-top-right-radius: $roundness; + border-bottom-right-radius: $roundness; + } + + &:only-child { border-radius: $roundness; } + + &.top { + border-top-left-radius: $roundness; + border-top-right-radius: $roundness; + } + + &.bottom { + border-bottom-left-radius: $roundness; + border-bottom-right-radius: $roundness; + } + + GtkColorEditor & { + border-radius: $roundness; + + &.color-dark:hover, &.color-light:hover { + background-image: none; + border-color: alpha($black, .3); + } + } + } + + GtkColorChooserWidget #add-color-button { + background-clip: padding-box; + border-color: alpha($black, .1); + background-color: shade($bg_color, .95); + color: $fg_color; + + &:hover { + border-color: alpha($black, .3); + background-color: shade($bg_color, .9); + color: $fg_color; + } + } + + .color-active-badge { + &, &:selected { + border-width: 2px; + border-style: solid; + background-color: transparent; + } + + &.color-light { + &, &:hover { + border-color: alpha($black, .3); + color: alpha($black, .3); + } + } + + &.color-dark { + &, &:hover { + border-color: alpha($white, .3); + color: alpha($white, .3); + } + } + } + + GtkColorButton.button { padding: $spacing; } +} + + +/*********************** +! Font and file choosers +************************/ + +@include exports("miscchoosers") { + GtkFontButton, GtkFileChooserButton { + .separator { + /* always disable separators */ + -GtkWidget-wide-separators: true; + -GtkWidget-horizontal-separator: 0; + -GtkWidget-vertical-separator: 0; + } + + GtkLabel:last-child { color: alpha(currentColor, .7); } + + GtkImage:last-child { color: alpha(currentColor, .7); } + } + + GtkFileChooser { + .pane-separator { + &, &:hover { + border-width: 0 1px 0 0; + border-style: solid; + border-color: currentColor; + background-color: $bg_color; + color: shade($bg_color, ($contrast + .1)); + } + } + + /* for fallback when header bar not used */ + .dialog-action-box { + border-width: 1px 0 0; + border-style: solid; + border-color: shade($bg_color, .7); + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_entry.scss b/themes/Numix/gtk-3.0/scss/widgets/_entry.scss @@ -0,0 +1,84 @@ +/********* + ! Entry * +**********/ + +%linked_entry { + border-width: 1px; + border-radius: 0; + border-right-width: 0; + border-left-width: 0; + + &:first-child { + border-width: 1px; + border-radius: $roundness; + border-right-width: 0; + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + + &:last-child { + border-width: 1px; + border-radius: $roundness; + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + &:only-child { + border-width: 1px; + border-radius: $roundness; + } +} + +%entry { + padding: ($spacing - 1px) $spacing; + border-width: 1px; + border-style: solid; + border-radius: $roundness; + transition: border 150ms ease; + box-shadow: inset 1px 1px alpha($dark_shadow, .06), + inset -1px 0 alpha($dark_shadow, .06); + + &:focus, &:hover, &:active { transition: none; } + + &:selected, &:selected:focus { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:insensitive { box-shadow: none; } + + &.progressbar { + @include linear-gradient($selected_bg_color); + + border-width: 0; + border-radius: $roundness; + color: $selected_fg_color; + } + + &.image.left { padding-right: $spacing; } +} + +@mixin entry($bg, $fg) { + @extend %entry; + @include linear-gradient($bg, to top); + @include border($bg); + + color: $fg; + + &:focus, &:active { border-color: $selected_bg_color; } + + &:insensitive { + @include linear-gradient(shade($bg, .9), to top); + + color: mix($bg, $fg, .5); + } +} + +@include exports("entry") { + .entry { + @include entry($base_color, $text_color); + + &.linked, .linked & { @extend %linked_entry; } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_grid.scss b/themes/Numix/gtk-3.0/scss/widgets/_grid.scss @@ -0,0 +1,48 @@ +/****************** + ! Grid and flowbox +*******************/ + +@include exports("grid") { + .list { + background-color: shade($bg_color, .97); + color: $fg_color; + + &-row { + &, &.button { + border: 0; + border-radius: 0; + padding: $spacing; + background-image: none; + background-color: alpha($bg_color, 0); + box-shadow: none; + + &:hover { + background-image: none; + background-color: shade($bg_color, 1.02); + } + + &:selected { + &, &:hover, &:focus { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + } + } + } + + .grid-child { + &, GtkFlowBox & { + padding: $spacing; + border-radius: $roundness; + + &:selected { + @extend %selected; + + outline-offset: -2px; + } + } + } +} + diff --git a/themes/Numix/gtk-3.0/scss/widgets/_infobar.scss b/themes/Numix/gtk-3.0/scss/widgets/_infobar.scss @@ -0,0 +1,38 @@ +@import "button"; + + +/********* + ! Infobar +**********/ + +@include exports("infobar") { + GtkInfoBar { + border: 0; + + $types: ( + info: ($info_fg_color, $info_bg_color), + warning: ($warning_fg_color, $warning_bg_color), + question: ($question_fg_color, $question_bg_color), + error: ($error_fg_color, $error_bg_color), + ); + + + @each $type, $colors in $types { + $fg_color: nth($colors, 1); + $bg_color: nth($colors, 2); + + &.#{$type} { + @include linear-gradient($bg_color); + + border: 1px solid shade($bg_color, .8); + color: $fg_color; + + .button { + @include button($bg_color, $fg_color); + + &.close { @extend %close_button; } + } + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_menu.scss b/themes/Numix/gtk-3.0/scss/widgets/_menu.scss @@ -0,0 +1,250 @@ +@import "entry"; + + +/********* + ! Menubar +**********/ + +@include exports("menubar") { + .menubar { + -GtkWidget-window-dragging: true; + + border: 0; + background-color: $menubar_bg_color; + background-image: none; + color: $menubar_fg_color; + + + &.menuitem, .menuitem { + padding: $spacing ($spacing * 2); + border: 1px solid transparent; + background-color: transparent; + background-image: none; + color: $menubar_fg_color; + + &:hover { + border-color: mix($menubar_bg_color, $menubar_fg_color, .21); + background-color: mix($menubar_bg_color, $menubar_fg_color, .21); + background-image: none; + color: shade($menubar_fg_color, 1.08); + } + + *:hover { color: shade($menubar_fg_color, 1.08); } + } + } +} + + +/****** + ! Menu +*******/ + +@include exports("menu") { + * { + -GtkMenu-horizontal-padding: 0; + -GtkMenu-vertical-padding: 0; + } + + GtkTreeMenu, GtkMenuToolButton, GtkComboBox { + &.menu, .menu { + background-color: $menu_bg_color; + margin: $spacing; + } + } + + #toolbar-popup, .menu { + padding: 0; + border-radius: 0; + border: 0; + background-color: $menu_bg_color; + color: $menu_fg_color; + + &:selected { background-color: $selected_bg_color; } + + .button { + &, &:hover, &:active, &:active *:insensitive, &:insensitive { + border-width: 0; + background-color: transparent; + background-image: none; + } + } + } + + .context-menu { font: initial; } + + .menuitem { + GtkTreeMenu & { + padding: 0; + border-width: 0; + } + + &, .menu & { + margin: $spacing; + padding: $spacing; + border: 0; + border-radius: 0; + background-color: transparent; + background-image: none; + + -GtkMenuItem-arrow-scaling: .5; + + &:active, &:hover { + border: 0; + background-color: $selected_bg_color; + background-image: none; + color: $selected_fg_color; + } + + *:active, *:hover { color: $selected_fg_color; } + + &:insensitive, *:insensitive { color: mix($menu_fg_color, $menu_bg_color, .5); } + } + + &.check, &.radio { + &, &:focus, &:hover, &:insensitive { background-image: none; } + + &, &:focus, &:hover, &:active, &:insensitive { + border-style: none; + background-color: transparent; + } + } + + &.separator { + -GtkMenuItem-horizontal-padding: 0; + -GtkWidget-separator-height: 1; + + border-style: none; + color: shade($menu_bg_color, ($contrast + .1)); + } + + &.button, &.button.flat { + &, &:focus, &:active, &:insensitive, &:active:insensitive { + background-color: transparent; + background-image: none; + border: 0; + box-shadow: none; + color: currentColor; + } + + &:hover, &:focus:hover, &:active:hover, &:selected { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + + GtkCalendar { + &:inconsistent { color: mix($menu_fg_color, $menu_bg_color, .5); } + + .button { + border-style: none; + background-color: transparent; + background-image: none; + } + } + + .accelerator { + color: alpha($menu_fg_color, .6); + + &:hover { color: alpha($selected_fg_color, .8); } + + &:insensitive { color: alpha(mix($menu_fg_color, $menu_bg_color, .5), .4); } + } + + .entry { @include entry($menu_bg_color, $menu_fg_color); } + } + + GtkModelMenuItem GtkBox GtkImage { padding-right: $spacing; } +} + + +/********* + ! Popover +**********/ + +@include exports("popover") { + GtkPopover { + @include border($menu_bg_color); + + margin: 10px; + padding: $spacing; + border-radius: $roundness; + border-width: 1px; + border-style: solid; + background-clip: border-box; + background-color: $menu_bg_color; + background-image: none; + color: $menu_fg_color; + box-shadow: 0 3px 6px alpha($black, .16); + + &.background { + background-image: none; + background-color: $menu_bg_color; + color: $menu_fg_color; + } + + &:backdrop { box-shadow: none; } + + &.osd { + box-shadow: 0 2px 7px 3px alpha($black, .5); + + > .toolbar .button { + border-radius: 0; + border-width: 0; + background-color: transparent; + background-image: none; + } + } + + .view, .list { + background-color: transparent; + background-image: none; + color: $menu_fg_color; + } + + .list-row { + &, &.button { + background-color: transparent; + background-image: none; + color: $menu_fg_color; + + &:focus, &:hover, &:active { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + } + + .frame { + border-color: border_normal($menu_bg_color); + border-radius: $roundness; + } + + .entry { @include entry($menu_bg_color, $menu_fg_color); } + + .button { @include button($menu_bg_color, $menu_fg_color); } + + > .list, > .view, > .toolbar { background-color: transparent; } + + .separator { + border: 0; + background-color: transparent; + color: alpha($menu_bg_color, .5); + font-size: 80%; + font-weight: bold; + } + } + + GtkModelButton.button { + &, &:backdrop { + @include button(transparent, currentColor); + + &:focus:hover, &:active:hover, &:hover, &:selected { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_misc.scss b/themes/Numix/gtk-3.0/scss/widgets/_misc.scss @@ -0,0 +1,227 @@ +/*************** +! Dimmed label * +****************/ + +@include exports("dimlabel") { + .dim-label { + opacity: .5; + text-shadow: none; + } +} + + +/*********** + ! Tooltip * +************/ + +@include exports("tooltip") { + .tooltip { + &.background { + @include linear-gradient($tooltip_bg_color); + + border: 0; + border-radius: $roundness; + color: $tooltip_fg_color; + } + + * { + background-color: transparent; + color: inherit; + } + } +} + + +/*********** + ! Dialogs * +************/ + +@include exports("dialogs") { + GtkMessageDialog, .message-dialog, .prompt { + -GtkDialog-content-area-border: 0; + -GtkDialog-action-area-border: $spacing; + -GtkDialog-button-spacing: 0; + + margin: 0; + padding: 0; + } +} + + +/********************* + ! App notifications * +**********************/ + +@include exports("notifications") { + .app-notification { + &, &.frame { + border-style: solid; + border-color: border_normal($osd_bg); + border-width: 0 1px 1px; + border-radius: 0 0 $roundness $roundness; + padding: $spacing * 2; + background-color: $osd_bg; + background-image: none; + color: $osd_fg; + + .button { @include button($osd_bg, $osd_fg); } + } + } +} + + +/************* + ! Expanders * +**************/ + +@include exports("expander") { + GtkExpander { + padding: $spacing; + outline-offset: 1px; + } + + .expander { + color: alpha(currentColor, .7); + border: alpha(currentColor, .7); + + &:hover { + color: alpha(currentColor, .8); + border-color: alpha(currentColor, .8); + } + + &:active { + color: alpha(currentColor, .9); + border-color: alpha(currentColor, .9); + } + } +} + + +/******************* + ! Symbolic images * +********************/ + +@include exports("symbolicimage") { + .image { + color: alpha(currentColor, .5); + + &:hover { color: alpha(currentColor, .9); } + + &:selected, &:selected:hover { color: $selected_fg_color; } + } +} + + +/**************** + ! Floating bar * +*****************/ + +@include exports("floatingbar") { + .floating-bar { + @include linear-gradient($bg_color); + + border: 1px solid border_normal($bg_color); + border-radius: $roundness; + color: $fg_color; + + &.top { + border-top-width: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + } + + &.right { + border-right-width: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + &.bottom { + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &.left { + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + .button { + -GtkButton-image-spacing: 0; + -GtkButton-inner-border: 0; + + border: 0; + background-color: transparent; + background-image: none; + } + } +} + + +/************************* + ! Touch text selections * +**************************/ + +@include exports("touchbubble") { + GtkBubbleWindow { + border-radius: $roundness; + background-clip: border-box; + + &.osd.background { background-color: $osd_bg; } + + .toolbar { background-color: transparent; } + } +} + +/*************** + ! Font-viewer * +****************/ + +@include exports("fontviewer") { + SushiFontWidget { + padding: $spacing ($spacing * 2); + } +} + + +/************* + ! Gucharmap * +**************/ + +@include exports("charmap") { + GucharmapChartable { + background-color: $base_color; + color: $text_color; + + &:focus, &:hover, &:active, &:selected { @extend %selected; } + } +} + + +/************* + ! Evolution * +**************/ + +@include exports("evolution") { + EPreviewPane .entry { + background-color: $base_color; + color: $text_color; + } +} + + +/******************* + ! Gnome Bluetooth * +********************/ + +@include exports("gnome-bluetooth") { + GtkEntry.entry.pin-entry { + font: regular 50; + padding-left: 25px; + padding-right: 25px; + } + + GtkLabel.pin-label { font: regular 50; } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_notebook.scss b/themes/Numix/gtk-3.0/scss/widgets/_notebook.scss @@ -0,0 +1,126 @@ +@import "button"; + + +/********** + ! Notebook +***********/ + +@include exports("notebook") { + .notebook { + padding: 0; + border-width: 1px 0 0; + border-style: solid; + border-color: border_normal($base_color); + border-radius: 0; + background-color: $base_color; + background-image: none; + background-clip: border-box; + color: $text_color; + + -GtkNotebook-initial-gap: 0; + -GtkNotebook-arrow-spacing: 5; + -GtkNotebook-tab-curvature: 0; + -GtkNotebook-tab-overlap: 1; + -GtkNotebook-has-tab-gap: false; + + &.frame { border-width: 1px; } + + &.header { + border-width: 0; + background-color: shade($base_color, .9); + + &.frame { + border-color: border_normal($base_color); + + &.top { border-width: 1px 1px 0; } + + &.right { border-width: 1px 1px 1px 0; } + + &.bottom { border-width: 0 1px 1px; } + + &.left { border-width: 1px 0 1px 1px; } + } + } + + GtkViewport { + border-width: 0; + background-color: $base_color; + color: $text_color; + } + + tab { + padding: ($spacing + 1px) ($spacing * 2); + border: 1px solid transparent; + background-color: transparent; + background-image: none; + + &:hover { + background-color: shade($base_color, .95); + border-color: shade($base_color, .8); + } + + &:active { + background-color: $base_color; + background-image: none; + border-color: shade($base_color, .85); + } + + &.top { + border-bottom-width: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &.right { + border-left-width: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + + + &.bottom { + border-top-width: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + } + + &.left { + border-right-width: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + GtkLabel { color: mix($text_color, $base_color, .3); } + + /* close button styling */ + .button { @extend %close_button; } + } + + .prelight-page { + &, GtkLabel { color: mix($text_color, $base_color, .15); } + } + + .active-page { + &, GtkLabel { color: $text_color; } + } + + .reorderable-page { + &:hover { + background-color: shade($base_color, .85); + border-left: 0; + border-right: 0; + /* using box shadows instead of borders due to slanted edges */ + box-shadow: inset 0 3px alpha($black, .03), inset 0 2px alpha($black, .03), inset 0 1px alpha($black, .03), + inset 1px 0 shade($base_color, .7), inset -1px 0 shade($base_color, .7); + } + + &:active { + background-color: shade($base_color, .9); + border-left: 0; + border-right: 0; + box-shadow: inset 0 3px alpha($black, .03), inset 0 2px alpha($black, .03), inset 0 1px alpha($black, .03), + inset 1px 0 shade($base_color, .75), inset -1px 0 shade($base_color, .75); + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_osd.scss b/themes/Numix/gtk-3.0/scss/widgets/_osd.scss @@ -0,0 +1,131 @@ +@import "button"; + + +/******* + ! OSD * +********/ + +@include exports("osd") { + GtkOverlay.osd { background-color: transparent; } + + .osd { + &.background { + background-color: alpha($osd_bg, .8); + color: $osd_fg; + } + + &.frame { + background-clip: border-box; + background-origin: border-box; + } + + &.button, .button { @include button($osd_bg, $osd_fg); } + + + &.toolbar { + -GtkToolbar-button-relief: normal; + + padding: $spacing; + border: 1px solid border_normal($osd_bg); + border-radius: $roundness; + background-color: $osd_bg; + background-image: none; + color: $osd_fg; + + .separator { color: shade($osd_bg, ($contrast + .1)); } + } + + /* used by gnome-settings-daemon's media-keys OSD */ + &.trough { background-color: shade($osd_bg, .8); } + + &.progressbar { background-color: $osd_fg; } + + .scale { + &.slider { + @include linear-gradient(shade($osd_bg, 1.08)); + @include border($osd_bg); + + &:insensitive { @include linear-gradient(shade($osd_bg, .9)); } + } + + &.trough { + border-color: shade($osd_bg, .8); + background-color: shade($osd_bg, 1.08); + background-image: none; + + &.highlight { + border-color: $selected_bg_color; + background-color: $selected_bg_color; + background-image: none; + } + + &:insensitive, &.highlight:insensitive { + border-color: shade($osd_bg, .85); + background-color: shade($osd_bg, .9); + background-image: none; + } + } + } + + &.view, .view { background-color: $osd_bg; } + + .scrollbar { + .trough { background-color: $osd_bg; } + + .slider { + border: 1px solid mix(shade($osd_bg, .87), $osd_fg, .21); + border-radius: 0; + background-color: mix($osd_bg, $osd_fg, .21); + + &:hover { + border-color: mix(shade($osd_bg, .87), $osd_fg, .31); + background-color: mix($osd_bg, $osd_fg, .31); + } + + &:active { + border-color: shade($selected_bg_color, .9); + background-color: $selected_bg_color; + } + } + } + + GtkIconView.cell { + &:selected, &:selected:focus { + background-color: transparent; + border: 3px solid mix(shade($osd_bg, .87), $osd_fg, .21); + border-radius: $roundness; + outline-color: transparent; + } + } + + /* used by Documents */ + .page-thumbnail { + border: 1px solid shade($osd_bg, .9); + /* when there's no pixbuf yet */ + background-color: $osd_bg; + } + } + + .osd GtkProgressBar, GtkProgressBar.osd { + -GtkProgressBar-xspacing: 0; + -GtkProgressBar-yspacing: 2px; + -GtkProgressBar-min-horizontal-bar-height: 2px; + + padding: 0; + + &.trough { + padding: 0; + border-style: none; + border-radius: 0; + background-image: none; + background-color: transparent; + } + + &.progressbar { + border-style: none; + border-radius: 0; + background-color: $selected_bg_color; + background-image: none; + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_overshoot.scss b/themes/Numix/gtk-3.0/scss/widgets/_overshoot.scss @@ -0,0 +1,119 @@ +@mixin overshoot($position, $type: normal, $color: $selected_bg_color) { + $_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 $position == bottom { + $_position: center bottom; + $_linear_gradient_direction: to top; + } @else if $position == right { + $_position: right center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } @else if $position == left { + $_position: left center; + $_small_gradient_size: $_small_gradient_length 100%; + $_big_gradient_size: $_big_gradient_length 100%; + } + + $_small_gradient_color: $color; + $_big_gradient_color: $color; + + $_small_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, .5, + to(alpha($_small_gradient_color, .35)), + to(alpha($_small_gradient_color, .25))); + + $_big_gradient: -gtk-gradient(radial, + $_position, 0, + $_position, .6, + from(alpha($_big_gradient_color, .2)), + to(alpha($_big_gradient_color, 0))); + + @if $type == normal { + background-image: $_small_gradient, $_big_gradient; + background-size: $_small_gradient_size, $_big_gradient_size; + } @else if $type == 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: 0; + box-shadow: none; +} + +@mixin undershoot($position) { + $_undershoot_color_dark: alpha($black, .2); + $_undershoot_color_light: alpha($white, .2); + + $_gradient_dir: left; + $_dash_bg_size: 10px 1px; + $_gradient_repeat: repeat-x; + $_bg_pos: center $position; + + background-color: transparent; // shouldn't be needed, but better to be sure; + + @if ($position == left) or ($position == right) { + $_gradient_dir: top; + $_dash_bg_size: 1px 10px; + $_gradient_repeat: repeat-y; + $_bg_pos: $position center; + } + + background-image: linear-gradient(to $_gradient_dir, // this is the dashed line + $_undershoot_color_light 50%, + $_undershoot_color_dark 50%); + + padding-#{$position}: 1px; + background-size: $_dash_bg_size; + background-repeat: $_gradient_repeat; + background-origin: content-box; + background-position: $_bg_pos; +} + +// This is used by GtkScrolledWindow, when content is touch-dragged past boundaries. +// This draws a box on top of the content, the size changes programmatically. +.overshoot { + &.top { + @include overshoot(top); + + &: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); } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_progress.scss b/themes/Numix/gtk-3.0/scss/widgets/_progress.scss @@ -0,0 +1,173 @@ +/***************** + ! Progress bars * +******************/ + +@include exports("progressbar") { + GtkProgressBar { + padding: 0; + border-radius: $roundness; + font-size: smaller; + color: alpha($fg_color, .6); + + -GtkProgressBar-min-horizontal-bar-height: 6; + -GtkProgressBar-min-vertical-bar-width: 6; + + &.osd { + -GtkProgressBar-xspacing: 0; + -GtkProgressBar-yspacing: 0; + -GtkProgressBar-min-horizontal-bar-height: 3; + } + + &.trough { + border: 1px solid alpha(border_normal($bg_color), .5); + background-color: shade($bg_color, 1.08); + background-image: none; + } + } + + .progressbar { + @include linear-gradient($selected_bg_color); + + border-radius: 0; + box-shadow: none; + + &.left { + border-top-left-radius: $roundness; + border-bottom-left-radius: $roundness; + } + + &.right { + border-top-right-radius: $roundness; + border-bottom-right-radius: $roundness; + } + + &.left.right { box-shadow: none; } + + &.vertical { + @include linear-gradient($selected_bg_color, to right); + + &.bottom { + border-bottom-left-radius: $roundness; + border-bottom-right-radius: $roundness; + } + + &.top { + border-top-left-radius: $roundness; + border-top-right-radius: $roundness; + } + } + } + + GtkLevelBar { + -GtkLevelBar-min-block-width: 34; + -GtkLevelBar-min-block-height: 3; + + &.vertical { + -GtkLevelBar-min-block-width: 3; + -GtkLevelBar-min-block-height: 34; + } + } + + .level-bar { + &.trough { + @include linear-gradient(shade($bg_color, 1.08), to top); + + border: 1px solid alpha(border_normal($bg_color), .5); + border-radius: $roundness; + } + + &.fill-block { + @include linear-gradient($selected_bg_color); + + // FIXME: it would be nice to set make fill blocks bigger, but we'd need + // :nth-child working on discrete indicators + border-color: transparent; + border-radius: 0; + + &.indicator-discrete { + &.horizontal { margin-right: 1px; } + + &.vertical { margin-bottom: 1px; } + } + + &.level-high { + background-color: $success_color; + border-color: transparent; + } + + &.level-low { + background-color: $warning_color; + border-color: transparent; + } + + &.empty-fill-block { + background-color: transparent; + border-color: transparent; + box-shadow: none; + } + } + } + + .scale { + -GtkRange-slider-width: 16; + -GtkRange-trough-border: 1; + -GtkScale-slider-length: 16; + + padding: 0; + border-width: 1px; + border-radius: $roundness; + outline-offset: -1px; + + + &.slider { + @include linear-gradient(shade($bg_color, 1.08)); + @include border($bg_color); + + border-radius: 8px; + border-width: 1px; + border-style: solid; + box-shadow: 0 1px 2px -1px alpha($dark_shadow, .3); + + &:insensitive { @include linear-gradient(shade($bg_color, .9)); } + } + + &.fine-tune { + &, &.horizontal { + &:active, &:active:hover { + background-size: 50%; + background-repeat: no-repeat; + background-position: center; + } + } + } + + &.mark { border-color: alpha(border_normal($bg_color), .5); } + + + &.trough { + @include linear-gradient(shade($bg_color, 1.08)); + + margin: 7px 0; + border: 1px solid alpha(border_normal($bg_color), .5); + border-radius: $roundness; + + &:insensitive { @include linear-gradient(shade($bg_color, .9)); } + + &.vertical { margin: 0 7px; } + } + + &.highlight { + &, &.left, &.bottom { + @include linear-gradient($selected_bg_color); + + border-color: $selected_bg_color; + + &:insensitive { + @include linear-gradient(shade($bg_color, .8)); + + border-color: shade($bg_color, .7); + } + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_scrollbar.scss b/themes/Numix/gtk-3.0/scss/widgets/_scrollbar.scss @@ -0,0 +1,86 @@ +/*********** + ! Scrollbar +************/ + +@include exports("scrollbar") { + * { + -GtkRange-slider-width: 8; + -GtkRange-stepper-spacing: 0; + -GtkRange-trough-border: 2; + -GtkRange-trough-under-steppers: 1; + -GtkScrollbar-has-backward-stepper: false; + -GtkScrollbar-has-forward-stepper: false; + -GtkScrollbar-min-slider-length: 80; + -GtkScrolledWindow-scrollbar-spacing: 0; + -GtkScrolledWindow-scrollbars-within-bevel: 1; + } + + .scrollbar { + border: 0; + padding: 0; + + &.button { + &, &:active, &:active:hover { + border-width: 0; + border-radius: 0; + background-color: transparent; + background-image: none; + color: alpha($fg_color, .5); + } + } + + &.slider, &.slider.vertical { + border: 0; + border-radius: $roundness; + background-color: shade($bg_color, .5); + + &:hover { background-color: shade($bg_color, .3); } + + &:active { background-color: $selected_bg_color; } + + &.fine-tune:prelight:active { border: 2px solid transparent; } + } + + // overlay scrolling indicator + &.overlay-indicator { + &:not(.dragging):not(.hovering) { + opacity: .5; + + -GtkRange-slider-width: 4px; + + .slider { + margin: 0; + background-color: $fg_color; + background-clip: padding-box; + } + + .trough { + border-style: none; + background-color: transparent; + } + } + + &.dragging, &.hovering { opacity: .7; } + } + } + + .scrollbars-junction, + .scrollbars-junction.frame, + .scrollbar.trough { + border: 0; + border-radius: 0; + background-color: $bg_color; + background-image: none; + } + + // ubuntu overlay scrollbars + OsThumb, OsScrollbar { + color: shade($bg_color, .7); + + &:selected { background-color: $selected_bg_color; } + + &:active { background-color: $selected_bg_color; } + + &:insensitive { background-color: shade($bg_color, .9); } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_sidebar.scss b/themes/Numix/gtk-3.0/scss/widgets/_sidebar.scss @@ -0,0 +1,108 @@ +/********* + ! Sidebar +**********/ + +@include exports("sidebar") { + .sidebar { + &, &.view, .view, GtkScrolledWindow { + background-color: $bg_color; + color: mix($fg_color, $bg_color, .1); + + &.separator { + &, &:hover, &:focus { + border-width: 1px; + border-style: solid; + border-color: shade($bg_color, .9); + color: shade($bg_color, .9); + } + } + } + + row, .view row { + &:selected { + &, &:hover, &:focus { + border: 0; + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:prelight { + border: 0; + background-image: none; + background-color: shade($selected_bg_color, 1.05); + color: $selected_fg_color; + } + } + + &:prelight { + border: 0; + background-image: none; + background-color: shade($bg_color, 1.05); + } + } + + .frame { border-width: 0; } + + GtkAssistant & { + padding: $spacing; + border-width: 0 1px 0 0; + border-style: solid; + border-right-color: border_normal($bg_color); + border-radius: 0; + background-color: $bg_color; + color: mix($fg_color, $bg_color, .1); + + &:dir(ltr) { border-width: 0 1px 0 0; } + + &:dir(rtl) { border-width: 0 0 0 1px; } + + .label { + padding: $spacing ($spacing * 2); + + &.highlight { background-color: mix($bg_color, $fg_color, .8); } + } + + &.csd .sidebar { border-top-style: none; } + + .highlight { font: bold; } + } + } +} + + +/****** +! Paned +*******/ + +@include exports("paned") { + GtkPaned { + -GtkPaned-handle-size: 1; + -gtk-icon-source: none; + + margin: 0 $spacing; + } + + + GtkPaned:dir(rtl) { + margin-right: 0; + margin-left: $spacing; + } + + GtkPaned .pane-separator { background-color: shade($bg_color, .9); } + + GtkPaned.wide { + -GtkPaned-handle-size: 4; + + margin: 0; + } + + GtkPaned.wide .pane-separator { + background-color: transparent; + border-style: none solid; + border-color: shade($bg_color, .9); + border-width: 1px; + } + + GtkPaned.wide.vertical .pane-separator { border-style: solid none; } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_spinner.scss b/themes/Numix/gtk-3.0/scss/widgets/_spinner.scss @@ -0,0 +1,24 @@ +/******************* + ! Spinner animation +********************/ + +@include exports("spinner") { + @keyframes spin { + to { -gtk-icon-transform: rotate(1turn); } + } + + .spinner { + background-image: none; + background-color: $selected_bg_color; + opacity: 0; // non spinning spinner makes no sense + + -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); + + &:active { + opacity: 1; + animation: spin 1s linear infinite; + + &:insensitive { opacity: .5; } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_toggle.scss b/themes/Numix/gtk-3.0/scss/widgets/_toggle.scss @@ -0,0 +1,116 @@ +/*********************** + ! Check and Radio items +************************/ + +$suffix: if($variant == "dark", "-dark", ""); + +@mixin toggle($type) { + background-image: none; + + -gtk-icon-source: url("../assets/#{$type}-unchecked#{$suffix}.png"); + + &:insensitive { -gtk-icon-source: url("../assets/#{$type}-unchecked-insensitive#{$suffix}.png"); } + + &:checked, &:active { + -gtk-icon-source: url("../assets/#{$type}-checked#{$suffix}.png"); + + &:insensitive { -gtk-icon-source: url("../assets/#{$type}-checked-insensitive#{$suffix}.png"); } + } + + &:inconsistent { + -gtk-icon-source: url("../assets/#{$type}-mixed#{$suffix}.png"); + + &:insensitive { -gtk-icon-source: url("../assets/#{$type}-mixed-insensitive#{$suffix}.png"); } + } + + &.menuitem { + -gtk-icon-source: none; + + &:insensitive { -gtk-icon-source: none; } + + &:checked, &:active { + -gtk-icon-source: url("../assets/menuitem-#{$type}-checked.png"); + + &:hover { -gtk-icon-source: url("../assets/menuitem-#{$type}-checked-hover.png"); } + + &:insensitive { -gtk-icon-source: url("../assets/menuitem-#{$type}-checked-insensitive.png"); } + } + + &:inconsistent { + -gtk-icon-source: url("../assets/menuitem-#{$type}-mixed.png"); + + &:hover { -gtk-icon-source: url("../assets/menuitem-#{$type}-mixed-hover.png"); } + + &:insensitive { -gtk-icon-source: url("../assets/menuitem-#{$type}-mixed-insensitive.png"); } + } + } +} + +@include exports("checkradio") { + * { + -GtkCheckButton-indicator-size: 16; + -GtkCheckMenuItem-indicator-size: 16; + } + + .radio { @include toggle("radio"); } + + .check { @include toggle("checkbox"); } + + GtkIconView.content-view.cell.check { + -gtk-icon-source: url("assets/grid-selection-unchecked#{$suffix}.png"); + + &:active { -gtk-icon-source: url("assets/grid-selection-checked#{$suffix}.png"); } + } +} + + +/******** + ! Switch +*********/ + +@include exports("switch") { + GtkSwitch { + padding: 0; + border-radius: $roundness; + font: bold condensed; + outline-offset: -4px; + + &.slider { + @include linear-gradient(shade($bg_color, 1.2)); + + border: 1px solid rgba(0, 0, 0, .2); + box-shadow: 0 1px 2px -1px alpha($dark_shadow, .12); + + &:insensitive { + border-color: rgba(0, 0, 0, .1); + background-color: shade($bg_color, .9); + box-shadow: none; + } + } + + &.trough { + @include linear-gradient(shade($bg_color, .95), to top); + + border: 1px solid border_normal($bg_color); + color: $fg_color; + box-shadow: inset 1px 0 alpha($dark_shadow, .07), + inset 0 1px alpha($dark_shadow, .08), + inset -1px 0 alpha($dark_shadow, .07), + inset 0 -1px alpha($dark_shadow, .05); + + &:active { + @include linear-gradient($selected_bg_color, to top); + + border-color: shade($selected_bg_color, .9); + color: $selected_fg_color; + } + + &:insensitive { + @include linear-gradient(shade($bg_color, .9), to top); + + border-color: border_insensitive($bg_color); + color: mix($fg_color, $bg_color, .5); + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_toolbar.scss b/themes/Numix/gtk-3.0/scss/widgets/_toolbar.scss @@ -0,0 +1,123 @@ +@import "button"; + + +/********* + ! Toolbar +**********/ + +@mixin toolbar($bg, $fg) { + @include linear-gradient($bg); + @include border($bg); + + padding: $spacing * 2; + color: $fg; + + &:insensitive { + @include linear-gradient(shade($bg, .9)); + + color: mix($fg, $bg, .5); + } + + .title { + font: bold; + padding: 0 ($spacing * 2); + } + + .subtitle { + font: smaller; + padding: 0 ($spacing * 2); + } + + .button { @include button($bg, $fg); } + + .button.linked, .linked .button { @include linked_button($bg); } + + GtkComboBox, .button { + padding: $spacing - 1px; + + &.text-button { padding: $spacing; } + + &.image-button { padding: ($spacing + 1px) ($spacing - 1px) ($spacing + 1px) $spacing; } + } + + GtkSeparatorToolItem, .separator, .separator:insensitive { + color: shade($bg, ($contrast + .1)); + border-color: currentColor; + + -GtkWidget-window-dragging: true; + } + + .menubar { -GtkToolbar-button-relief: normal; } +} + +@include exports("toolbar") { + .toolbar { + @include toolbar($bg_color, $fg_color); + + border-style: none; + + &.inline-toolbar { + background-image: none; + background-color: transparent; + } + } + + .header-bar { + @include toolbar($titlebar_bg_color, $titlebar_fg_color); + + border-width: 0 0 1px; + border-style: solid; + } + + .titlebar { + @include linear-gradient($titlebar_bg_color); + + border-radius: $roundness $roundness 0 0; + color: mix($titlebar_fg_color, $titlebar_bg_color, .1); + + &:backdrop { + @include linear-gradient($titlebar_bg_color); + + color: mix($titlebar_fg_color, $titlebar_bg_color, .6); + text-shadow: none; + } + + &.default-decoration { + border: 0; + box-shadow: none; + } + + .tiled &, .maximized & { border-radius: 0; } + + .title { font: bold; } + + .titlebutton { + padding: $spacing; + border: 0; + background-image: none; + background-color: transparent; + color: mix($titlebar_fg_color, $titlebar_bg_color, .1); + box-shadow: none; + + &:hover, &:hover:focus { + background-image: none; + background-color: transparent; + color: $selected_bg_color; + box-shadow: none; + } + + &:active, &:active:hover { + background-image: none; + background-color: transparent; + color: shade($selected_bg_color, .9); + box-shadow: none; + } + + &:backdrop { + background: none; + color: mix($titlebar_fg_color, $titlebar_bg_color, .6); + icon-shadow: none; + } + } + } +} diff --git a/themes/Numix/gtk-3.0/scss/widgets/_view.scss b/themes/Numix/gtk-3.0/scss/widgets/_view.scss @@ -0,0 +1,191 @@ +/*************** + ! Generic views +****************/ + +@include exports("view") { + * { -GtkTextView-error-underline-color: $error_color; } + + .view { + color: $text_color; + background-color: $base_color; + + &:insensitive, &:insensitive:insensitive { + background-color: shade($base_color, .9); + color: mix($text_color, $base_color, .5); + } + + &:selected, &:selected:focus { @extend %selected; } + } + + .cell { + border-width: 0; + border-radius: 0; + + &:selected, &:selected:focus { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + + row { + &:selected { + &, &:hover, &:focus { + -GtkWidget-focus-padding: 1; + -GtkWidget-focus-line-width: 0; + + border: 0; + background-color: $selected_bg_color; + background-image: none; + color: $selected_fg_color; + } + } + } + + .content-view { + &.view { + background-color: $base_color; + + &:prelight { background-color: alpha($selected_bg_color, .6); } + + &:selected, &:active { background-color: $selected_bg_color; } + + &:insensitive { background-color: shade($base_color, .9); } + + &.check { + &, &:active, &:prelight, &:insensitive, &:selected { background-color: transparent; } + } + } + + .subtitle { + font: smaller; + padding: 0 12px; + } + } + + GtkIconView { + &.content-view.check { @extend .content-view.check; } + + &.view.cell { + &:selected, &:selected:focus { + border: 0; + border-radius: 2px; + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + } + + .dim-label { + &, &.view { color: alpha(currentColor, .5); } + } + + .dnd { border: 1px solid $selected_bg_color; } + + .grip { background-color: transparent; } + + .arrow { color: alpha(currentColor, .7); } + + .rubberband { + &, &.view, &.content-view.view { + border: 1px solid $selected_bg_color; + border-radius: 0; + background-color: alpha($selected_bg_color, .3); + } + } + + GdMainIconView.content-view { -GdMainIconView-icon-size: 40; } + + /* this will get overridden by .view, needed by gedit line numbers */ + GtkTextView { background-color: mix($bg_color, $base_color, .5); } + + GtkHTML { + @extend .view; + + &:insensitive { background-color: shade($base_color, .9); } + } + + GtkDrawingArea { background-color: transparent; } +} + +/************ + ! Treeview * +*************/ + +@include exports("treeview") { + GtkTreeView { + -GtkTreeView-expander-size: 8; + -GtkTreeView-vertical-separator: 0; + + outline-offset: -1px; + + &.dnd { border: 1px solid $selected_bg_color; } + + .entry { + border-radius: 0; + background-color: $base_color; + background-image: none; + } + } +} + + +/*********** + ! Separator +************/ + +@include exports("separator") { + .view.separator, .separator { + color: shade($bg_color, ($contrast + .1)); + border: 1px solid currentColor; + } +} + + +/********************* + ! Column view headers +**********************/ + +@include exports("columnheader") { + column-header { + .button { + &, &:active { + border-width: 0 1px 1px 0; + border-radius: 0; + } + + &, &:active, &:focus, &:active:focus { + border-color: shade($base_color, .9); + border-bottom-color: shade($base_color, .8); + background-color: shade($base_color, .97); + background-image: none; + } + + &:hover, &:active:hover, &:hover:focus, &:active:hover:focus { + border-color: shade($base_color, .9); + border-bottom-color: shade($base_color, .8); + background-color: shade($base_color, .99); + background-image: none; + } + + &:last-child .button { border-width: 0 0 1px; } + } + } +} + + +/********** + ! Frames * +***********/ + +@include exports("frame") { + .frame { + border: 1px solid border_normal($bg_color); + + &.flat { border: 0; } + } + + /* avoid double borders when a viewport is packed into a GtkScrolledWindow */ + GtkScrolledWindow GtkViewport.frame { border: 0; } +} + diff --git a/themes/Numix/gtk-3.0/scss/widgets/_window.scss b/themes/Numix/gtk-3.0/scss/widgets/_window.scss @@ -0,0 +1,57 @@ +/************** + ! Window frame +***************/ + +@include exports("window") { + %window { + box-shadow: 0 19px 38px rgba(0, 0, 0, .3), 0 15px 12px rgba(0, 0, 0, .22), + 0 0 0 1px $wm_border_focused; + + &:backdrop { + box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23), + 0 0 0 1px $wm_border_unfocused; + } + } + + .window-frame { + @extend %window; + + border: 0; + border-radius: $roundness $roundness 0 0; + + /* this is used for the resize cursor area */ + margin: $spacing * 3; + + &.tiled { border-radius: 0; } + + &.solid-csd { + border-radius: 0; + margin: 1px; + background-color: $bg_color; + box-shadow: none; + } + + &.csd { + &.popup { + @extend %window; + + border-radius: 0; + } + + &.tooltip { + border-radius: $roundness; + box-shadow: none; + } + + &.message-dialog { + @extend %window; + + border-radius: $roundness; + } + } + + &.ssd { + &.maximized { border-radius: 0; } + } + } +} diff --git a/themes/Numix/gtk-3.0/thumbnail.png b/themes/Numix/gtk-3.0/thumbnail.png Binary files differ. diff --git a/themes/Numix/index.theme b/themes/Numix/index.theme @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=Numix +Comment=A modern flat theme +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=Numix +MetacityTheme=Numix +ButtonLayout=:minimize,maximize,close diff --git a/themes/Numix/openbox-3/close.xbm b/themes/Numix/openbox-3/close.xbm @@ -0,0 +1,4 @@ +#define close_width 8 +#define close_height 8 +static unsigned char close_bits[] = { + 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 }; diff --git a/themes/Numix/openbox-3/desk.xbm b/themes/Numix/openbox-3/desk.xbm @@ -0,0 +1,4 @@ +#define desk_toggled_width 8 +#define desk_toggled_height 8 +static unsigned char desk_toggled_bits[] = { + 0xe7, 0xe7, 0xe7, 0x00, 0x00, 0xe7, 0xe7, 0xe7 }; diff --git a/themes/Numix/openbox-3/desk_toggled.xbm b/themes/Numix/openbox-3/desk_toggled.xbm @@ -0,0 +1,4 @@ +#define desk_width 8 +#define desk_height 8 +static unsigned char desk_bits[] = { + 0x04, 0x0e, 0x3f, 0x1e, 0x1c, 0x24, 0x40, 0x80 }; diff --git a/themes/Numix/openbox-3/iconify.xbm b/themes/Numix/openbox-3/iconify.xbm @@ -0,0 +1,4 @@ +#define iconify_width 8 +#define iconify_height 8 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00 }; diff --git a/themes/Numix/openbox-3/max.xbm b/themes/Numix/openbox-3/max.xbm @@ -0,0 +1,4 @@ +#define max_width 8 +#define max_height 8 +static unsigned char max_bits[] = { + 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xff }; diff --git a/themes/Numix/openbox-3/max_toggled.xbm b/themes/Numix/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[] = { + 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xff }; diff --git a/themes/Numix/openbox-3/shade.xbm b/themes/Numix/openbox-3/shade.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x18, 0x3c, 0x7e, 0xff, 0xdb, 0x18, 0x18, 0x18 }; diff --git a/themes/Numix/openbox-3/shade_toggled.xbm b/themes/Numix/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[] = { + 0x18, 0x18, 0x18, 0xdb, 0xff, 0x7e, 0x3c, 0x18 }; diff --git a/themes/Numix/openbox-3/themerc b/themes/Numix/openbox-3/themerc @@ -0,0 +1,133 @@ +# Name: Numix Openbox theme +# Author: Satyajit Sahoo <satyajit.happy@gmail.com> +# License: GPL-3.0+ + + +# Menu +menu.border.color: #333333 + +menu.title.bg: flat solid +menu.title.bg.color: #333333 +menu.title.text.color: #eeeeee +menu.title.text.justify: center + +menu.items.bg: flat solid +menu.items.bg.color: #333333 +menu.items.text.color: #eeeeee +menu.items.disabled.text.color: #888888 + +menu.items.active.bg: flat solid +menu.items.active.bg.color: #f06860 +menu.items.active.text.color: #ffffff + +menu.separator.color: #262626 +menu.separator.width: 1 +menu.separator.padding.width: 2 +menu.separator.padding.height: 4 + + +# Active window +window.active.border.color: #484848 + +window.active.title.bg: flat solid +window.active.title.bg.color: #333333 +window.active.title.separator.color: #333333 +window.active.text.justify: center + +window.active.label.bg: parentrelative +window.active.label.text.color: #eeeeee + +window.active.handle.bg: flat solid +window.active.handle.bg.color: #333333 + +window.active.grip.bg: flat solid +window.active.grip.bg.color: #333333 + +window.active.button.unpressed.bg: flat solid +window.active.button.unpressed.bg.color: #333333 +window.active.button.unpressed.image.color: #eeeeee + +window.active.button.pressed.bg: flat solid +window.active.button.pressed.bg.color: #333333 +window.active.button.pressed.image.color: #f06860 + +window.active.button.disabled.bg: flat solid +window.active.button.disabled.bg.color: #333333 +window.active.button.disabled.image.color: #888888 + + +# Inactive window +window.inactive.border.color: #393939 + +window.inactive.title.bg: flat solid +window.inactive.title.bg.color: #333333 +window.inactive.title.separator.color: #333333 +window.inactive.text.justify: center + +window.inactive.label.bg: parentrelative +window.inactive.label.text.color: #888888 + +window.inactive.handle.bg: flat solid +window.inactive.handle.bg.color: #333333 + +window.inactive.grip.bg: flat solid +window.inactive.grip.bg.color: #333333 + +window.inactive.button.unpressed.bg: flat solid +window.inactive.button.unpressed.bg.color: #333333 +window.inactive.button.unpressed.image.color: #888888 + +window.inactive.button.pressed.bg: flat solid +window.inactive.button.pressed.bg.color: #333333 +window.inactive.button.pressed.image.color: #f06860 + +window.inactive.button.disabled.bg: flat solid +window.inactive.button.disabled.bg.color: #333333 +window.inactive.button.disabled.image.color: #888888 + + +# OSD +osd.border.width: 1 +osd.border.color: #484848 + +osd.bg: flat solid +osd.bg.color: #333333 +osd.label.bg: flat solid +osd.label.bg.color: #333333 +osd.label.text.color: #eeeeee + +osd.hilight.bg: flat solid +osd.hilight.bg.color: #f06860 + +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #888888 + +osd.button.unpressed.bg: flat border +osd.button.unpressed.bg.color: #303030 +osd.button.unpressed.*.border.color: #242424 + +osd.button.pressed.bg: flat border +osd.button.pressed.bg.color: #2a2a2a +osd.button.pressed.*.border.color: #242424 + +osd.button.focused.bg: flat solid border +osd.button.focused.bg.color: #303030 +osd.button.focused.*.border.color: #1e1e1e + +osd.button.focused.box.color: #f06860 + + +# Fonts +window.active.label.text.font:shadow=n +window.inactive.label.text.font:shadow=n +menu.items.font:shadow=n +menu.title.text.font:shadow=n + + +# Everything else +border.width: 1 +padding.width: 8 +padding.height: 4 +window.handle.width: 0 +window.client.padding.width: 0 +window.label.text.justify: center diff --git a/themes/Numix/xfce-notify-4.0/gtkrc b/themes/Numix/xfce-notify-4.0/gtkrc @@ -0,0 +1,73 @@ +style "notify-window" { + XfceNotifyWindow::summary-bold = 1 + XfceNotifyWindow::border-color = "#444444" + XfceNotifyWindow::border-color-hover = "#333333" + XfceNotifyWindow::border-radius = 2.0 + XfceNotifyWindow::border-width = 1.0 + XfceNotifyWindow::border-width-hover = 1.0 + + bg[NORMAL] = "#111111" +} + +style "notify-button" { + bg[NORMAL] = "#444444" + bg[PRELIGHT] = "#555555" + bg[ACTIVE] = "#444444" + + fg[NORMAL] = "#eeeeee" + fg[PRELIGHT] = "#eeeeee" + fg[ACTIVE] = "#eeeeee" + + engine "murrine" { + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } + border_shades = { 0.9, 0.9 } + roundness = 2 + textstyle = 0 + } +} + +style "notify-text" { + GtkWidget::link-color = "#f0544c" + + fg[NORMAL] = "#f9f9f9" + fg[PRELIGHT] = "#f9f9f9" + fg[ACTIVE] = "#f9f9f9" + + engine "murrine" { + textstyle = 0 + } +} + +style "notify-summary" { + font_name = "Bold" +} + +style "notify-progressbar" { + xthickness = 1 + ythickness = 1 + + bg[NORMAL] = "#eeeeee" + bg[ACTIVE] = "#444444" + bg[SELECTED] = "#eeeeee" + + fg[PRELIGHT] = "#333333" + fg[ACTIVE] = "#f9f9f9" + fg[SELECTED] = "#333333" + + engine "murrine" { + gradient_shades = { 1.0, 1.0, 1.0, 1.0 } + border_shades = { 1.0, 1.0 } + trough_shades = { 1.0, 1.0 } + trough_border_shades = { 1.0, 1.0 } + progressbarstyle = 0 + roundness = 2 + textstyle = 0 + } +} + +class "XfceNotifyWindow" style "notify-window" +widget "XfceNotifyWindow.*.summary" style "notify-summary" +widget_class "XfceNotifyWindow.*<GtkButton>" style "notify-button" +widget_class "XfceNotifyWindow.*.<GtkLabel>" style "notify-text" +widget_class "XfceNotifyWindow.*.<GtkProgress>" style "notify-progressbar" +widget_class "XfceNotifyWindow.*.<GtkProgressBar>" style "notify-progressbar"