├── scss └── gtk-3.0 │ ├── gtk.scss │ ├── widgets │ ├── _paned.scss │ ├── _notebook.scss │ ├── _actionbar.scss │ ├── _tooltip.scss │ ├── _menu.scss │ ├── _toolbar.scss │ ├── _list.scss │ ├── _iconview.scss │ ├── _progressbar.scss │ ├── _menubar.scss │ ├── _label.scss │ ├── _rubberband.scss │ ├── _window.scss │ ├── _frame.scss │ ├── _spinner.scss │ ├── _combobox.scss │ ├── _levelbar.scss │ ├── _separator.scss │ ├── _textview.scss │ ├── _infobar.scss │ ├── _popover.scss │ ├── _placessidebar.scss │ ├── _entry.scss │ ├── _calendar.scss │ ├── _scrollbar.scss │ ├── _spinbutton.scss │ ├── _index.scss │ ├── _scale.scss │ ├── _radiobutton.scss │ ├── _overshoot.scss │ ├── _button.scss │ ├── _checkbutton.scss │ ├── _switch.scss │ ├── _headerbar.scss │ ├── _tabs.scss │ └── _treeview.scss │ ├── applications │ ├── _index.scss │ ├── _nautilus.scss │ ├── _firefox.scss │ └── _chromium.scss │ └── _colors.scss ├── assets └── logo.png ├── gtk-2.0 ├── assets │ ├── tab.png │ ├── entry.png │ ├── focus.png │ ├── frame.png │ ├── border.png │ ├── button.png │ ├── pan-down.png │ ├── pan-left.png │ ├── pan-up.png │ ├── pan-right.png │ ├── pan-up-alt.png │ ├── button-active.png │ ├── button-hover.png │ ├── entry-active.png │ ├── entry-hover.png │ ├── flat-button.png │ ├── frame-inline.png │ ├── handle-horz.png │ ├── handle-vert.png │ ├── pan-down-alt.png │ ├── pan-left-alt.png │ ├── pan-left-semi.png │ ├── pan-right-alt.png │ ├── radio-checked.png │ ├── radio-mixed.png │ ├── scale-slider.png │ ├── spin-ltr-down.png │ ├── spin-ltr-up.png │ ├── spin-rtl-down.png │ ├── spin-rtl-up.png │ ├── button-disabled.png │ ├── checkbox-mixed.png │ ├── entry-disabled.png │ ├── frame-notebook.png │ ├── pan-right-semi.png │ ├── pan-up-disabled.png │ ├── radio-unchecked.png │ ├── checkbox-checked.png │ ├── checkbox-unchecked.png │ ├── combo-left-entry.png │ ├── combo-right-entry.png │ ├── entry-background.png │ ├── flat-button-active.png │ ├── flat-button-hover.png │ ├── handle-horz-active.png │ ├── handle-horz-hover.png │ ├── handle-vert-active.png │ ├── handle-vert-hover.png │ ├── menu-radio-checked.png │ ├── menu-radio-mixed.png │ ├── pan-down-disabled.png │ ├── pan-left-disabled.png │ ├── pan-right-disabled.png │ ├── progressbar-trough.png │ ├── radio-mixed-active.png │ ├── radio-mixed-hover.png │ ├── scale-horz-trough.png │ ├── scale-slider-hover.png │ ├── scale-vert-trough.png │ ├── spin-ltr-up-active.png │ ├── spin-ltr-up-hover.png │ ├── spin-rtl-up-active.png │ ├── spin-rtl-up-hover.png │ ├── checkbox-mixed-hover.png │ ├── flat-button-disabled.png │ ├── menu-checkbox-mixed.png │ ├── menu-radio-unchecked.png │ ├── progressbar-progress.png │ ├── radio-checked-active.png │ ├── radio-checked-hover.png │ ├── radio-mixed-disabled.png │ ├── scale-slider-active.png │ ├── spin-ltr-down-active.png │ ├── spin-ltr-down-hover.png │ ├── spin-ltr-up-disabled.png │ ├── spin-rtl-down-active.png │ ├── spin-rtl-down-hover.png │ ├── spin-rtl-up-disabled.png │ ├── treeview-ltr-button.png │ ├── treeview-rtl-button.png │ ├── checkbox-checked-active.png │ ├── checkbox-checked-hover.png │ ├── checkbox-mixed-active.png │ ├── checkbox-mixed-disabled.png │ ├── combo-left-entry-active.png │ ├── combo-left-entry-hover.png │ ├── combo-right-entry-hover.png │ ├── menu-checkbox-checked.png │ ├── menu-checkbox-unchecked.png │ ├── radio-checked-disabled.png │ ├── radio-unchecked-active.png │ ├── radio-unchecked-hover.png │ ├── scale-slider-disabled.png │ ├── scrollbar-horz-slider.png │ ├── scrollbar-horz-trough.png │ ├── spin-ltr-down-disabled.png │ ├── spin-rtl-down-disabled.png │ ├── checkbox-checked-disabled.png │ ├── checkbox-unchecked-active.png │ ├── checkbox-unchecked-hover.png │ ├── combo-left-entry-disabled.png │ ├── combo-right-entry-active.png │ ├── entry-background-disabled.png │ ├── menu-radio-mixed-disabled.png │ ├── radio-unchecked-disabled.png │ ├── scale-horz-trough-active.png │ ├── scale-vert-trough-active.png │ ├── scrollbar-vert-ltr-slider.png │ ├── scrollbar-vert-ltr-trough.png │ ├── scrollbar-vert-rtl-slider.png │ ├── scrollbar-vert-rtl-trough.png │ ├── treeview-ltr-button-hover.png │ ├── treeview-rtl-button-hover.png │ ├── checkbox-unchecked-disabled.png │ ├── combo-right-entry-disabled.png │ ├── menu-checkbox-mixed-disabled.png │ ├── menu-radio-checked-disabled.png │ ├── scale-horz-trough-disabled.png │ ├── scale-vert-trough-disabled.png │ ├── scrollbar-horz-slider-active.png │ ├── scrollbar-horz-slider-hover.png │ ├── treeview-ltr-button-active.png │ ├── treeview-rtl-button-active.png │ ├── menu-checkbox-checked-disabled.png │ ├── menu-radio-unchecked-disabled.png │ ├── scrollbar-horz-slider-disabled.png │ ├── menu-checkbox-unchecked-disabled.png │ ├── scrollbar-vert-ltr-slider-active.png │ ├── scrollbar-vert-ltr-slider-hover.png │ ├── scrollbar-vert-rtl-slider-active.png │ ├── scrollbar-vert-rtl-slider-hover.png │ ├── scrollbar-vert-ltr-slider-disabled.png │ └── scrollbar-vert-rtl-slider-disabled.png ├── hacks.rc ├── gtkrc ├── apps.rc └── main.rc ├── index.theme ├── Makefile ├── flake.nix ├── default.nix ├── package.json ├── README.md ├── LICENSE ├── flake.lock └── gtk-3.0 ├── gtk.css.map ├── gtk.scss.map ├── gtk.css └── gtk.scss /scss/gtk-3.0/gtk.scss: -------------------------------------------------------------------------------- 1 | @use "applications"; 2 | @use "widgets"; -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_paned.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | paned {} -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/assets/logo.png -------------------------------------------------------------------------------- /gtk-2.0/assets/tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/tab.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry.png -------------------------------------------------------------------------------- /gtk-2.0/assets/focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/focus.png -------------------------------------------------------------------------------- /gtk-2.0/assets/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/frame.png -------------------------------------------------------------------------------- /scss/gtk-3.0/applications/_index.scss: -------------------------------------------------------------------------------- 1 | @use "chromium"; 2 | @use "firefox"; 3 | @use "nautilus"; -------------------------------------------------------------------------------- /gtk-2.0/assets/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/border.png -------------------------------------------------------------------------------- /gtk-2.0/assets/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/button.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-down.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-left.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-up.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-right.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-up-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-up-alt.png -------------------------------------------------------------------------------- /gtk-2.0/assets/button-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/button-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/button-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/flat-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/flat-button.png -------------------------------------------------------------------------------- /gtk-2.0/assets/frame-inline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/frame-inline.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-horz.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-vert.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-down-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-down-alt.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-left-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-left-alt.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-left-semi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-left-semi.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-right-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-right-alt.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-checked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-mixed.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-slider.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-down.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-up.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-down.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-up.png -------------------------------------------------------------------------------- /gtk-2.0/assets/button-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/button-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-mixed.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/frame-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/frame-notebook.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-right-semi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-right-semi.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-up-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-up-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-unchecked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-checked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-unchecked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-left-entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-left-entry.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-right-entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-right-entry.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry-background.png -------------------------------------------------------------------------------- /gtk-2.0/assets/flat-button-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/flat-button-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/flat-button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/flat-button-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-horz-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-horz-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-horz-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-horz-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-vert-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-vert-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/handle-vert-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/handle-vert-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-checked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-mixed.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-down-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-down-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-left-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-left-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/pan-right-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/pan-right-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/progressbar-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/progressbar-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-mixed-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-mixed-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-mixed-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-mixed-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-horz-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-horz-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-slider-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-slider-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-vert-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-vert-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-up-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-up-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-up-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-up-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-up-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-up-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-up-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-up-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-mixed-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-mixed-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/flat-button-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/flat-button-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-mixed.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-unchecked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/progressbar-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/progressbar-progress.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-checked-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-checked-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-checked-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-checked-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-mixed-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-mixed-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-slider-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-slider-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-down-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-down-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-down-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-down-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-up-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-up-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-down-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-down-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-down-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-down-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-up-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-up-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-ltr-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-ltr-button.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-rtl-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-rtl-button.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-checked-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-checked-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-checked-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-checked-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-mixed-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-mixed-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-mixed-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-mixed-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-left-entry-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-left-entry-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-left-entry-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-left-entry-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-right-entry-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-right-entry-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-checked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-unchecked.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-checked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-checked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-unchecked-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-unchecked-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-unchecked-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-unchecked-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-slider-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-slider-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-horz-slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-horz-slider.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-horz-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-horz-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-ltr-down-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-ltr-down-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/spin-rtl-down-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/spin-rtl-down-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-checked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-checked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-unchecked-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-unchecked-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-unchecked-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-unchecked-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-left-entry-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-left-entry-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-right-entry-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-right-entry-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/entry-background-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/entry-background-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-mixed-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-mixed-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/radio-unchecked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/radio-unchecked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-horz-trough-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-horz-trough-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-vert-trough-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-vert-trough-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-ltr-slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-ltr-slider.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-ltr-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-ltr-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-rtl-slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-rtl-slider.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-rtl-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-rtl-trough.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-ltr-button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-ltr-button-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-rtl-button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-rtl-button-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/checkbox-unchecked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/checkbox-unchecked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/combo-right-entry-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/combo-right-entry-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-mixed-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-mixed-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-checked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-checked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-horz-trough-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-horz-trough-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scale-vert-trough-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scale-vert-trough-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-horz-slider-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-horz-slider-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-horz-slider-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-horz-slider-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-ltr-button-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-ltr-button-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/treeview-rtl-button-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/treeview-rtl-button-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-checked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-checked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-radio-unchecked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-radio-unchecked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-horz-slider-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-horz-slider-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/menu-checkbox-unchecked-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/menu-checkbox-unchecked-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-ltr-slider-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-ltr-slider-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-ltr-slider-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-ltr-slider-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-rtl-slider-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-rtl-slider-active.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-rtl-slider-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-rtl-slider-hover.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-ltr-slider-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-ltr-slider-disabled.png -------------------------------------------------------------------------------- /gtk-2.0/assets/scrollbar-vert-rtl-slider-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Everblush/gtk/HEAD/gtk-2.0/assets/scrollbar-vert-rtl-slider-disabled.png -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_notebook.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | notebook { 4 | stack { 5 | &:only-child { background: colors.$surface-1; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_actionbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | actionbar { 4 | background: colors.$surface-2; 5 | border-top: 1px solid colors.$surface-3; 6 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_tooltip.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | tooltip { 4 | background: colors.$primary-accent; 5 | 6 | label { 7 | padding: 2px; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_menu.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | menu { 4 | background: rgba(255,255,255,0.1); 5 | menuitem { 6 | padding: 5px; 7 | &:hover { background: colors.$surface-3; } 8 | } 9 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_toolbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | toolbar { 4 | background: colors.$surface-2; 5 | &.osd { 6 | background: transparentize(colors.$surface-3, 0.5); 7 | padding: 10px; 8 | } 9 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_list.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | list { 4 | background: colors.$surface-2; 5 | 6 | row { 7 | padding: 6px; 8 | &:hover { 9 | background: colors.$surface-3; 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_iconview.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | iconview { 4 | background: colors.$surface-3; 5 | 6 | &:selected { 7 | color: rgba(255,255,255,0.8); 8 | background: colors.$primary-accent; 9 | } 10 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_progressbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | progressbar { 4 | 5 | trough { 6 | background: colors.$highlight; 7 | progress { 8 | background: colors.$secondary-accent; 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_menubar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | menubar { 4 | background: colors.$surface-1; 5 | 6 | menuitem { 7 | padding: 5px; 8 | 9 | &:hover { 10 | background: colors.$surface-2; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_label.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | label { 4 | &.dim-label, &:disabled { opacity: 0.3; } 5 | 6 | selection { 7 | background: colors.$primary-accent; 8 | color: lighten(colors.$foreground-color, 50%); 9 | } 10 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_rubberband.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | // TODO: use neutral colors for rubberband 4 | 5 | rubberband, .rubberband { 6 | background-color: transparentize(colors.$accent-4, 0.9); 7 | border: 1px solid transparentize(colors.$accent-4, 0.4); 8 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_window.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | window, dialog, assistant { 4 | background: colors.$surface-1; 5 | color: colors.$foreground-color; 6 | } 7 | 8 | window { 9 | &.csd { 10 | decoration { 11 | box-shadow: 0 0 8px 0 black; 12 | margin: 8px; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /index.theme: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=X-GNOME-Metatheme 3 | Name=Everblush GTK 4 | Comment=Port of Everblush colorscheme for gtk with Phocus 5 | Encoding=UTF-8 6 | 7 | [X-GNOME-Metatheme] 8 | GtkTheme=Everblush Phocus gtk 9 | MetacityTheme=Everblush 10 | IconTheme=gnome 11 | CursorTheme=DMZ-Black 12 | ButtonLayout=menu:minimize,maximize,close 13 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_frame.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | frame { 4 | &.app-notification border { 5 | background: colors.$surface-3; 6 | border: 0; 7 | } 8 | } 9 | 10 | frame > border, .frame { 11 | border: 1px solid colors.$surface-3; 12 | } 13 | 14 | scrolledwindow { 15 | viewport.frame { 16 | border-style: none; 17 | } 18 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_spinner.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | @keyframes rotate { 4 | to { -gtk-icon-transform: rotate(1turn); } 5 | } 6 | 7 | spinner { 8 | -gtk-icon-source: none; 9 | &:checked { 10 | -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); 11 | animation: rotate 1s linear infinite; 12 | } 13 | 14 | &:disabled { opacity: 0.3; } 15 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_combobox.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | combobox { 4 | button { 5 | &.combo { 6 | cellview { 7 | margin: -2px; 8 | } 9 | arrow { 10 | margin: -6px -8px; 11 | padding: 8px; 12 | min-width: 16px; 13 | -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_levelbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | levelbar { 4 | trough { 5 | block { 6 | padding: 3px; 7 | border-radius: 3px; 8 | 9 | &.filled { background: colors.$secondary-accent; } 10 | &.empty { background: colors.$surface-3; } 11 | } 12 | } 13 | 14 | &.discrete { 15 | block:not(:first-child) { 16 | margin-left: 5px; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_separator.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | separator { 4 | background-image: image(rgba(255,255,255,0.05)); 5 | background-size: 1px 1px; 6 | background-position: center center; 7 | 8 | min-width: 7px; 9 | min-height: 7px; 10 | 11 | background-repeat: repeat-x; 12 | margin: -3px 0; 13 | 14 | &.vertical, .horizontal > & { 15 | background-repeat: repeat-y; 16 | margin: 0 -3px; 17 | } 18 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_textview.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | textview { 4 | transition: background 100ms ease-in-out; 5 | 6 | background: transparentize(white, 0.95); 7 | padding: 8px; 8 | 9 | &:focus { 10 | background: transparentize(white, 0.9); 11 | } 12 | 13 | &:disabled { 14 | opacity: 0.3; 15 | } 16 | 17 | selection { 18 | background: colors.$primary-accent; 19 | color: lighten(colors.$foreground-color, 50%); 20 | } 21 | } -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PREFIX = /usr 2 | DESTDIR ?= 3 | INSTALL_DIR ?= $(DESTDIR)$(PREFIX)/share/themes/Everblush 4 | 5 | all: 6 | mkdir -p gtk-3.0 7 | sass scss/gtk-3.0/gtk.scss gtk-3.0/gtk.css 8 | 9 | install: 10 | @install -v -d "$(INSTALL_DIR)" 11 | @install -m 0644 -v index.theme "$(INSTALL_DIR)" 12 | @cp -rv assets gtk-3.0 "$(INSTALL_DIR)" 13 | @cp -rv assets gtk-2.0 "$(INSTALL_DIR)" 14 | 15 | uninstall: 16 | @rm -vrf "$(INSTALL_DIR)" 17 | 18 | .PHONY: all install uninstall 19 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_infobar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | infobar { 4 | color: rgba(255,255,255,0.8); 5 | 6 | &.info { 7 | background: colors.$accent-4; 8 | } 9 | &.warning { 10 | background: colors.$accent-3; 11 | } 12 | &.error { 13 | background: colors.$accent-1; 14 | } 15 | &.question { 16 | background: colors.$accent-6; 17 | } 18 | 19 | // TODO: if the button optimizations don't get more readable here, we have to style an exception 20 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_popover.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | // TODO: find consistent way to remove top and bottom space through negative margins 4 | 5 | popover { 6 | background: colors.$surface-3; 7 | box-shadow: 0 0 5px rgba(0,0,0,.4); 8 | 9 | box { 10 | modelbutton { 11 | padding: 5px 10px; 12 | margin: 0 -10px; 13 | 14 | &:hover { 15 | background: lighten(colors.$surface-3, 10%); 16 | } 17 | } 18 | } 19 | 20 | &.menu:first-child { 21 | border-top-left-radius: 0; 22 | } 23 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_placessidebar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | // TODO: extract to nautilus specific stylesheet, since this will be removed from gtk because only nautilus uses it 4 | placessidebar { 5 | background: colors.$surface-2; 6 | 7 | list { 8 | background: transparent; 9 | 10 | row { 11 | &:hover { 12 | background: rgba(0,0,0,0.2); 13 | } 14 | 15 | .sidebar-icon { 16 | margin: 0 10px; 17 | } 18 | } 19 | } 20 | 21 | &.frame, .frame { 22 | border: 0; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_entry.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | entry { 4 | transition: all 100ms ease-in-out; 5 | background: transparentize(white, 0.95); 6 | border: 2px solid transparent; 7 | padding: 6px; 8 | border-radius: 5px; 9 | 10 | &:focus { 11 | border-color: colors.$accent-7; 12 | background: transparentize(white, 0.9); 13 | } 14 | 15 | &:disabled { 16 | opacity: 0.3; 17 | } 18 | 19 | image { 20 | &.left { margin-right: 8px; } 21 | &.right { margin-left: 8px; } 22 | } 23 | 24 | selection { 25 | background: colors.$primary-accent; 26 | color: lighten(colors.$foreground-color, 50%); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_calendar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | calendar { 4 | background: colors.$surface-2; 5 | 6 | &.button { 7 | background: colors.$surface-3; 8 | color: rgba(255,255,255,0.5); 9 | 10 | &:hover { color: rgba(255,255,255,0.8); } 11 | &:disabled { color: rgba(255,255,255,0.1); } 12 | } 13 | 14 | &.header { 15 | background: colors.$surface-3; 16 | 17 | } 18 | 19 | &.highlight { 20 | color: rgba(255,255,255,.2); 21 | } 22 | 23 | &:selected { 24 | color: white; 25 | border-radius: 0.3em; 26 | background: colors.$primary-accent; 27 | } 28 | 29 | &:indeterminate { 30 | color: rgba(255,255,255,.1); 31 | } 32 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_scrollbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | scrollbar { 4 | -GtkScrollbar-has-backward-stepper: false; 5 | -GtkScrollbar-has-forward-stepper: false; 6 | 7 | background: transparent; 8 | 9 | slider { 10 | padding: 3px; 11 | background: rgba(255,255,255,0.05); 12 | &:hover { 13 | background: rgba(255,255,255,0.1); 14 | } 15 | &:active { 16 | background: transparentize(colors.$primary-accent, 0.25); 17 | } 18 | } 19 | 20 | &:hover { 21 | background: rgba(255,255,255,0.05); 22 | 23 | &.horizontal slider { 24 | padding: 5px 3px; 25 | } 26 | &.vertical slider { 27 | padding: 3px 5px; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_spinbutton.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | spinbutton { 4 | &.horizontal { 5 | entry { 6 | border-top-right-radius: 0; 7 | border-bottom-right-radius: 0; 8 | } 9 | 10 | button.down { 11 | border-radius: 0; 12 | } 13 | 14 | button.up { 15 | border-top-left-radius: 0; 16 | border-bottom-left-radius: 0; 17 | } 18 | } 19 | 20 | &.vertical { 21 | button.up { 22 | border-bottom-right-radius: 0; 23 | border-bottom-left-radius: 0; 24 | } 25 | 26 | entry { 27 | border-radius: 0; 28 | } 29 | 30 | button.down { 31 | border-top-left-radius: 0; 32 | border-top-right-radius: 0; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_index.scss: -------------------------------------------------------------------------------- 1 | @use "window"; 2 | @use "headerbar"; 3 | @use "entry"; 4 | @use "button"; 5 | @use "combobox"; 6 | @use "placessidebar"; 7 | @use "popover"; 8 | @use "notebook"; 9 | @use "tabs"; 10 | @use "treeview"; 11 | @use "overshoot"; 12 | @use "rubberband"; 13 | @use "progressbar"; 14 | @use "levelbar"; 15 | @use "scale"; 16 | @use "spinbutton"; 17 | @use "textview"; 18 | @use "toolbar"; 19 | @use "frame"; 20 | @use "paned"; 21 | @use "list"; 22 | @use "checkbutton"; 23 | @use "radiobutton"; 24 | @use "switch"; 25 | @use "separator"; 26 | @use "menubar"; 27 | @use "menu"; 28 | @use "scrollbar"; 29 | @use "label"; 30 | @use "calendar"; 31 | @use "actionbar"; 32 | @use "iconview"; 33 | @use "spinner"; 34 | @use "infobar"; 35 | @use "tooltip"; -------------------------------------------------------------------------------- /scss/gtk-3.0/applications/_nautilus.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | window.nautilus-window { 4 | .nautilus-menu-sort-heading { 5 | margin: 0 -5px; 6 | } 7 | 8 | // those are the items inside the nautilus canvas 9 | .nautilus-canvas-item { 10 | &:selected, &:active { 11 | background: #2d2d2d; 12 | border-radius: 3px; 13 | } 14 | } 15 | 16 | // this is the floating bar usually shown at the bottom right of nautilus when elements are selected 17 | .floating-bar { 18 | background: colors.$surface-2; 19 | color: colors.$foreground-color; 20 | padding: 4px; 21 | 22 | &.bottom.left { 23 | border-top-right-radius: 3px; 24 | } 25 | &.bottom.right { 26 | border-top-left-radius: 3px; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /scss/gtk-3.0/_colors.scss: -------------------------------------------------------------------------------- 1 | $surface-1: hsl(240, 3%, 4%); 2 | $surface-2: hsl(240, 3%, 8%); 3 | $surface-3: hsl(240, 3%, 12%); 4 | $surface-4: hsl(240, 3%, 16%); 5 | $surface-5: hsl(240, 3%, 20%); 6 | 7 | $accent-1: hsl(0,60%,60%); 8 | $accent-2: hsl(25,60%,60%); 9 | $accent-3: hsl(55,60%,60%); 10 | $accent-4: hsl(145,60%,60%); 11 | $accent-5: hsl(185,60%,60%); 12 | $accent-6: hsl(240,60%,60%); 13 | $accent-7: hsl(265,60%,60%); 14 | $accent-8: hsl(300,60%,60%); 15 | 16 | $primary-accent: $accent-7; 17 | $secondary-accent: $accent-4; 18 | 19 | $foreground-color: lighten($surface-5, 45%); 20 | 21 | $highlight: rgba(255,255,255,0.15); 22 | 23 | // TODO: is there a better way to do this? this is for example used in gnome-calculator for the result top-border 24 | @define-color borders #{"" +$surface-2}; 25 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | # Credits to viper for helping me write the flake (it was inspired the flake from https://github.com/viperML/nh) 2 | { 3 | inputs = { 4 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 5 | nix-filter.url = "github:numtide/nix-filter"; 6 | flake-parts.url = "github:hercules-ci/flake-parts"; 7 | }; 8 | outputs = inputs: let 9 | src = inputs.nix-filter.lib { 10 | root = inputs.self.outPath; 11 | }; 12 | in 13 | inputs.flake-parts.lib.mkFlake {inherit inputs;} { 14 | systems = [ "aarch64-linux" "x86_64-linux" ]; 15 | 16 | perSystem = { 17 | system, 18 | pkgs, 19 | ... 20 | }: { 21 | packages = { 22 | default = pkgs.callPackage ./default.nix { inherit src; }; 23 | }; 24 | }; 25 | }; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_scale.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | scale { 4 | padding: 8px 0; 5 | 6 | contents { 7 | 8 | trough { 9 | background: colors.$surface-3; 10 | slider { 11 | background: lighten(colors.$surface-3, 25%); 12 | padding: 8px; 13 | margin: -5px; 14 | border-radius: 100%; 15 | } 16 | highlight { 17 | background: colors.$primary-accent; 18 | } 19 | } 20 | } 21 | 22 | // TODO: marks can be at the top or bottom, maybe also on the right or left depending on scale.horizontal/vertical 23 | marks { 24 | mark { 25 | padding-top: 5px; 26 | indicator { 27 | color: colors.$surface-3; 28 | min-height: 8px; 29 | min-width: 1px; 30 | } 31 | } 32 | } 33 | 34 | &:disabled { opacity: 0.3; } 35 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_radiobutton.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | radiobutton { 4 | radio { 5 | -gtk-icon-source: -gtk-recolor(url('../assets/symbolic/radio.symbolic.png')); 6 | -gtk-icon-transform: scale(0); 7 | color: rgba(255,255,255, .8); 8 | border: 2px solid rgba(255,255,255,0.05); 9 | border-radius: 100%; 10 | padding: 3px; 11 | min-width: 8px; 12 | min-height: 8px; 13 | 14 | // TODO: extract transitions into separate directory 15 | transition: -gtk-icon-transform 200ms; 16 | 17 | &:hover { 18 | border-color: rgba(255,255,255,0.1); 19 | } 20 | 21 | &:active, &:checked { 22 | background: rgba(255,255,255,0.02); 23 | } 24 | 25 | &:checked { 26 | -gtk-icon-transform: scale(1); 27 | border-color: colors.$primary-accent; 28 | } 29 | } 30 | 31 | label { padding-left: 5px; } 32 | 33 | &:disabled { opacity: 0.38; } 34 | } 35 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_overshoot.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | @mixin overshoot($side, $color: colors.$surface-3) { 4 | $position-per-side: ( 5 | top: center top, 6 | right: right center, 7 | bottom: center bottom, 8 | left: left center 9 | ); 10 | $position: map-get($position-per-side, $side); 11 | 12 | background-image: -gtk-gradient( 13 | radial, 14 | $position, 0, 15 | $position, 0.6, 16 | from(transparentize($color, 0.8)), 17 | to(transparentize($color, 1)) 18 | ); 19 | 20 | background-size: map-get((top: 100% 60%, right: 60% 100%, bottom: 100% 60%, left: 60% 100%), $side); 21 | background-repeat: no-repeat; 22 | background-position: $position; 23 | } 24 | 25 | 26 | overshoot { 27 | &.top { @include overshoot(top); } 28 | &.bottom { @include overshoot(bottom); } 29 | &.left { @include overshoot(left); } 30 | &.right { @include overshoot(right); } 31 | } 32 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_button.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | button { 4 | transition: background-color 100ms ease-in; 5 | background: transparentize(white, 0.95); 6 | padding: 8px; 7 | 8 | &:hover:not(:active) { background: transparentize(white, 0.9); } 9 | &:disabled { opacity: 0.3; } 10 | 11 | &:checked, &.suggested-action { 12 | background: colors.$accent-7; 13 | color: lighten(colors.$accent-7, 40%); 14 | &:hover:not(:active) { background: darken(colors.$accent-7, 5%); } 15 | } 16 | 17 | &.destructive-action { 18 | background: colors.$accent-1; 19 | color: lighten(colors.$accent-1, 40%); 20 | &:hover:not(:active) { background: darken(colors.$accent-1, 5%); } 21 | } 22 | 23 | &.circular { 24 | border-radius: 100%; 25 | padding: 8px; 26 | } 27 | 28 | &.flat { 29 | background: transparent; 30 | &:hover { color: rgba(255,255,255,.7); } 31 | &:checked { color: rgba(255,255,255,.8); } 32 | } 33 | } -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- 1 | { 2 | src ? ./., 3 | stdenvNoCC, 4 | gtk-engine-murrine, 5 | sass, 6 | coreutils 7 | }: 8 | 9 | stdenvNoCC.mkDerivation { 10 | pname = "everblush-gtk"; 11 | name = "everblush-gtk"; 12 | src = src; 13 | 14 | propagatedUserEnvPkgs = [ gtk-engine-murrine ]; 15 | nativeBuildInputs = [ sass coreutils ]; 16 | 17 | dontBuild = true; 18 | 19 | installPhase = '' 20 | mkdir -p $out/share/themes/Everblush/gtk-3.0 21 | sass $src/gtk-3.0/gtk.scss $out/share/themes/Everblush/gtk-3.0/gtk.css 22 | install -v -d $out/share/themes/Everblush 23 | install -m 0644 -v $src/index.theme $out/share/themes/Everblush 24 | cp -rv $src/assets $src/gtk-2.0 $out/share/themes/Everblush 25 | ''; 26 | 27 | /* 28 | meta = with lib; { 29 | description = "A GTK theme with the Everblush colour palette"; 30 | homepage = "https://github.com/Everblush/gtk"; 31 | licenes = licenses.mit; 32 | platforms = platforms.unix; 33 | }; 34 | */ 35 | } 36 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_checkbutton.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | checkbutton { 4 | check { 5 | -gtk-icon-source: -gtk-recolor(url('../assets/symbolic/check.symbolic.png')); 6 | -gtk-icon-transform: scale(0); 7 | color: rgba(255,255,255, .8); 8 | border: 2px solid rgba(255,255,255,0.05); 9 | border-radius: 3px; 10 | padding: 1px; 11 | min-width: 12px; 12 | min-height: 12px; 13 | 14 | // TODO: extract transitions into separate directory 15 | transition: -gtk-icon-transform 200ms; 16 | 17 | &:hover, &:checked { 18 | border-color: colors.$primary-accent; 19 | } 20 | 21 | &:active, &:checked { 22 | background: colors.$primary-accent; 23 | } 24 | 25 | &:checked { 26 | -gtk-icon-transform: scale(1); 27 | border-color: colors.$primary-accent; 28 | &:active { background: transparent; } 29 | } 30 | } 31 | 32 | label { padding-left: 5px; } 33 | 34 | &:disabled { opacity: 0.3; } 35 | } 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phisch", 3 | "version": "0.0.1", 4 | "description": "GTK3 theme based on the Phocus colors.", 5 | "scripts": { 6 | "build": "sass scss:.", 7 | "watch": "sass scss:. -w --no-source-map --color", 8 | "reload_gtk_theme": "xsettingsd -c <(echo 'Net/ThemeName \"phocus\"') >/dev/null 2>&1 & sleep 0.2 && kill $!", 9 | "watch_and_reload": "npm run watch | tee /dev/tty | grep --line-buffered 'Compiled' | while read -r l; do npm run reload_gtk_theme --silent; done;" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/phocus/gtk.git" 14 | }, 15 | "keywords": [ 16 | "gtk3", 17 | "gtk3-theme", 18 | "theme" 19 | ], 20 | "author": "Philipp Schaffrath", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/phocus/gtk/issues" 24 | }, 25 | "homepage": "https://github.com/phocus/gtk#readme", 26 | "devDependencies": { 27 | "sass": "^1.32.12" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_switch.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | switch { 4 | background: transparentize(colors.$foreground-color, 0.8); 5 | border-radius: 20px; 6 | color: transparent; 7 | min-width: 40px; 8 | border: 5px solid transparent; 9 | background-clip: padding-box; 10 | 11 | slider { 12 | background: colors.$foreground-color; 13 | border-radius: 100%; 14 | min-width: 5px; 15 | min-height: 5px; 16 | background-clip: padding-box; 17 | margin: -4px -2px; 18 | } 19 | 20 | &:checked { 21 | background: transparentize(colors.$primary-accent, 0.7); 22 | background-clip: content-box; 23 | slider { 24 | background: colors.$primary-accent; 25 | } 26 | } 27 | 28 | &:disabled { opacity: 0.3; } 29 | 30 | &:hover { 31 | slider { 32 | box-shadow: 0 0 0 8px rgba(255,255,255,0.05); 33 | } 34 | 35 | &:checked slider { 36 | box-shadow: 0 0 0 8px transparentize(colors.$accent-7, 0.9); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | logo 3 |
4 | 5 |

Everblush GTK Theme

6 | 7 |

8 | 9 | 10 | 11 |

12 | 13 | # Preview 14 |

15 | 16 |

17 | 18 | # Installation 19 | ```sh 20 | git clone https://github.com/Everblush/gtk 21 | cd gtk 22 | npm install -g scss 23 | sudo make install 24 | ``` 25 | 26 | # Credits 💝 27 | - [samuelnihbos](https://github.com/samuelnihbos) 28 | - [siduck](https://github.com/siduck) 29 | 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Philipp Schaffrath 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_headerbar.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | headerbar { 4 | background: colors.$surface-3; 5 | padding: 6px; 6 | 7 | box.horizontal { 8 | &.right > button.titlebutton:last-child { 9 | margin-right: -6px; 10 | } 11 | 12 | &.left > button.titlebutton:first-child { 13 | margin-left: -6px; 14 | } 15 | } 16 | 17 | button.titlebutton:not(.appmenu) { 18 | background: transparent; 19 | margin: -6px 0; 20 | padding: 15px 10px; 21 | border-radius: 0; 22 | 23 | &:nth-last-child(-n+2) { 24 | margin-left: -6px; 25 | } 26 | 27 | $titlebutton_to_color: ( 28 | minimize: colors.$accent-3, 29 | maximize: colors.$accent-4, 30 | close: colors.$accent-1 31 | ); 32 | 33 | @each $type, $color in $titlebutton_to_color { 34 | &.#{$type} { 35 | color: $color; 36 | &:hover { 37 | background-color: $color; 38 | } 39 | } 40 | } 41 | 42 | &:hover { 43 | color: rgba(0,0,0,0.5); 44 | } 45 | } 46 | 47 | button.titlebutton.appmenu { 48 | &:not(:active):not(:checked) { 49 | background: transparent; 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_tabs.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | tabs { 4 | background: colors.$surface-1; 5 | 6 | .top > & { 7 | border-bottom: 2px solid colors.$surface-3; 8 | tab { 9 | border-bottom: 2px solid transparent; 10 | margin-bottom: -2px; 11 | } 12 | } 13 | 14 | .right > & { 15 | border-left: 2px solid colors.$surface-3; 16 | tab { 17 | border-left: 2px solid transparent; 18 | margin-left: -2px; 19 | } 20 | } 21 | 22 | .bottom > & { 23 | border-top: 2px solid colors.$surface-3; 24 | tab { 25 | border-top: 2px solid transparent; 26 | margin-top: -2px; 27 | } 28 | } 29 | 30 | .left > & { 31 | border-right: 2px solid colors.$surface-3; 32 | tab { 33 | border-right: 2px solid transparent; 34 | margin-right: -2px; 35 | } 36 | } 37 | 38 | tab { 39 | padding: 8px; 40 | color: transparentize(colors.$foreground-color, 0.8); 41 | transition: border-color 100ms ease-in-out; 42 | 43 | header &:checked { 44 | border-color: colors.$primary-accent; 45 | color: colors.$foreground-color; 46 | } 47 | 48 | header &:hover:not(:checked) { 49 | border-color: transparentize(colors.$foreground-color, 0.8); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /gtk-2.0/hacks.rc: -------------------------------------------------------------------------------- 1 | # vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et: 2 | # 3 | # This file contains horrible hacks to make this theme work with some programs 4 | # This is mostly due to the limitations of GTK 2 but sometimes its the fault of 5 | # the programs themselves. Not going to point fingers. 6 | # 7 | # Either way, it's a WONTFIX for both, hence this horrible file. 8 | 9 | style "toplevel_hack" { 10 | engine "adwaita" {} 11 | } 12 | 13 | style "chrome_entry" { 14 | base[NORMAL] = @base_color 15 | base[INSENSITIVE] = @base_color 16 | } 17 | 18 | style "vim_notebook" { 19 | bg[NORMAL] = @base_color 20 | bg[ACTIVE] = @bg_color 21 | } 22 | 23 | # Vim puts an eventbox between the tab and the label and colours it, 24 | # we need to handle that 25 | widget "vim-main-window*GtkNotebook.GtkEventBox" style "vim_notebook" 26 | 27 | # (he)xchat input box 28 | class "SexySpellEntry" style:highest "normal_entry" 29 | 30 | # Chromium uses base as the fill colour of its own entries 31 | # This would be fine but GTK uses it to fill the surrounding space, so its set to bg 32 | # That results in Chromium using it for the fill, so we need to handle that 33 | widget_class "*Chrom*" style "chrome_entry" 34 | 35 | # Hack to be able to match widgets in LibreOffice 36 | class "GtkWindow" style "toplevel_hack" 37 | -------------------------------------------------------------------------------- /scss/gtk-3.0/widgets/_treeview.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | // TODO: check if full width horizontal separators are possible 4 | 5 | treeview { 6 | -GtkTreeView-expander-size: 13; 7 | -GtkTreeView-grid-line-pattern: ''; 8 | -GtkTreeView-tree-line-pattern: ''; 9 | -GtkTreeView-horizontal-separator: 8; 10 | -GtkTreeView-vertical-separator: 8; 11 | 12 | background: colors.$surface-2; 13 | 14 | border-left-color: colors.$highlight; // TODO: check if there is going to be a new way to define tree-lines 15 | border-top-color: colors.$highlight; // TODO: check if there is going to be a new way to define column-lines 16 | 17 | &:hover { 18 | background: colors.$highlight; 19 | } 20 | 21 | &:selected { 22 | background: colors.$accent-7; 23 | // TODO: introduce contrast foreground color (light) 24 | color: lighten(colors.$accent-7, 50%); 25 | } 26 | 27 | &.separator { 28 | color: colors.$highlight; 29 | min-height: 2px; 30 | } 31 | 32 | header { 33 | button { 34 | border-bottom: 1px solid colors.$highlight; 35 | background: colors.$surface-3; 36 | 37 | &:hover { 38 | background: colors.$highlight; 39 | } 40 | 41 | &:not(:last-child) { 42 | border-right: 1px solid colors.$surface-3; 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /scss/gtk-3.0/applications/_firefox.scss: -------------------------------------------------------------------------------- 1 | @use 'sass:color'; 2 | @use '../colors'; 3 | 4 | #MozillaGtkWidget { 5 | // firefox somehow adjusts this color, the minimum color is #262626 6 | // estimating that firefox adds 15% lightness on top, which is close enough 7 | // TODO: check algorithm to replace estimate with 8 | background: color.adjust(colors.$surface-4, $lightness: - 15%); 9 | 10 | // bar that contains inactive tabs 11 | // TODO: find out if the gtk headerbar (the one with decorations) can be themed as well 12 | menubar { 13 | color: colors.$highlight; 14 | background: colors.$surface-1; 15 | } 16 | 17 | // address-bar, side-bar (bookmarks), burger menu, account menu 18 | text { 19 | background: colors.$surface-3; 20 | } 21 | 22 | // context menus 23 | menu { 24 | background: colors.$surface-4; 25 | 26 | // TODO: check if this can go into default menu styles, or if this is a weird selector for firefox 27 | :disabled { 28 | color: colors.$highlight; 29 | } 30 | 31 | // TODO: could potentially go into default styles, at the very least make it consistent 32 | separator { 33 | padding: 8px; 34 | } 35 | } 36 | 37 | // borders in menus, sidebars, navigation bar and more 38 | border { 39 | border: 1px solid colors.$surface-4; 40 | } 41 | } -------------------------------------------------------------------------------- /gtk-2.0/gtkrc: -------------------------------------------------------------------------------- 1 | # Based on Bridge by ScionicSpectre and Adwaita by GNOME 2 | # vim:set ts=2 sw=2 sts=2 ai et: 3 | # 4 | # This is the GTK 2 version of oomox-shiki-brave. It's whole purpose is to look as the 5 | # GTK 3 version as much as possible until GTK 2 dies completely. 6 | # 7 | # Note: comments for explaining styles are on the bottom of each file beside the 8 | # widget matches. 9 | 10 | # Declare the colours used throughout the theme. 11 | # There shouldn't be any fiddling with them in the theme files themselves in 12 | # order to not mess up the dark theme. 13 | 14 | # Text/base 15 | gtk-color-scheme = "base_color:#181f21" 16 | gtk-color-scheme = "text_color:#dadada" 17 | # Foreground/background 18 | gtk-color-scheme = "bg_color:#181f21" 19 | gtk-color-scheme = "fg_color:#dadada" 20 | # Selected foreground/background 21 | gtk-color-scheme = "selected_bg_color:#6da4cd" 22 | gtk-color-scheme = "selected_fg_color:#212121" 23 | # Titlebar foreground/background 24 | gtk-color-scheme = "titlebar_bg_color:#22292b" 25 | gtk-color-scheme = "titlebar_fg_color:#dadada" 26 | # Menus 27 | gtk-color-scheme = "menu_color:#181f21" 28 | # Tooltips foreground/background 29 | gtk-color-scheme = "tooltip_bg_color:#575e60" 30 | gtk-color-scheme = "tooltip_fg_color:#dadada" 31 | # Links 32 | gtk-color-scheme = "link_color:#6da4cd" 33 | gtk-color-scheme = "visited_link_color:#ef7d7d" 34 | 35 | # Set GTK settings 36 | gtk-auto-mnemonics = 1 37 | gtk-primary-button-warps-slider = 1 38 | 39 | # And hand over the control to the theme files 40 | include "main.rc" 41 | include "apps.rc" 42 | include "hacks.rc" 43 | -------------------------------------------------------------------------------- /scss/gtk-3.0/applications/_chromium.scss: -------------------------------------------------------------------------------- 1 | @use '../colors'; 2 | 3 | // TODO: theme "this tab is playing audio" tooltip section 4 | // TODO: find out how bookmark drag and drop boxes render their buggy 1px border 5 | // TODO: check how separators are rendered. `separator, .separator` background affects a larger area than wanted. 6 | 7 | window.background.chromium { 8 | // active tab and toolbar colors 9 | background: colors.$surface-4; 10 | color: colors.$foreground-color; 11 | 12 | // context menu colors 13 | menu { 14 | background: colors.$surface-4; 15 | menuitem { 16 | color: colors.$foreground-color; 17 | &:hover { 18 | background: colors.$highlight; 19 | } 20 | &:disabled label { 21 | color: colors.$highlight; 22 | } 23 | } 24 | } 25 | 26 | // tab bar / headerbar 27 | headerbar, menubar { 28 | background: colors.$surface-1; 29 | 30 | label { 31 | color: darken(colors.$foreground-color, 30%); 32 | } 33 | 34 | // this is a workaround to position titlebuttons to the very right 35 | .titlebutton { 36 | padding: 100px 80px; 37 | } 38 | } 39 | 40 | scrollbar { 41 | button { 42 | background: colors.$highlight; 43 | color: colors.$foreground-color; 44 | } 45 | 46 | trough { 47 | background: transparent; 48 | } 49 | slider { 50 | background: colors.$highlight; 51 | } 52 | junction { 53 | background: colors.$highlight; 54 | } 55 | } 56 | 57 | // address bar 58 | textview { 59 | background-color: colors.$surface-3; 60 | color: colors.$foreground-color; 61 | } 62 | } -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "flake-parts": { 4 | "inputs": { 5 | "nixpkgs-lib": "nixpkgs-lib" 6 | }, 7 | "locked": { 8 | "lastModified": 1688466019, 9 | "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", 10 | "owner": "hercules-ci", 11 | "repo": "flake-parts", 12 | "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", 13 | "type": "github" 14 | }, 15 | "original": { 16 | "owner": "hercules-ci", 17 | "repo": "flake-parts", 18 | "type": "github" 19 | } 20 | }, 21 | "nix-filter": { 22 | "locked": { 23 | "lastModified": 1687178632, 24 | "narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=", 25 | "owner": "numtide", 26 | "repo": "nix-filter", 27 | "rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174", 28 | "type": "github" 29 | }, 30 | "original": { 31 | "owner": "numtide", 32 | "repo": "nix-filter", 33 | "type": "github" 34 | } 35 | }, 36 | "nixpkgs": { 37 | "locked": { 38 | "lastModified": 1688918189, 39 | "narHash": "sha256-f8ZlJ67LgEUDnN7ZsAyd1/Fyby1VdOXWg4XY/irSGrQ=", 40 | "owner": "NixOS", 41 | "repo": "nixpkgs", 42 | "rev": "408c0e8c15a1c9cf5c3226931b6f283c9867c484", 43 | "type": "github" 44 | }, 45 | "original": { 46 | "owner": "NixOS", 47 | "ref": "nixos-unstable", 48 | "repo": "nixpkgs", 49 | "type": "github" 50 | } 51 | }, 52 | "nixpkgs-lib": { 53 | "locked": { 54 | "dir": "lib", 55 | "lastModified": 1688049487, 56 | "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", 57 | "owner": "NixOS", 58 | "repo": "nixpkgs", 59 | "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", 60 | "type": "github" 61 | }, 62 | "original": { 63 | "dir": "lib", 64 | "owner": "NixOS", 65 | "ref": "nixos-unstable", 66 | "repo": "nixpkgs", 67 | "type": "github" 68 | } 69 | }, 70 | "root": { 71 | "inputs": { 72 | "flake-parts": "flake-parts", 73 | "nix-filter": "nix-filter", 74 | "nixpkgs": "nixpkgs" 75 | } 76 | } 77 | }, 78 | "root": "root", 79 | "version": 7 80 | } 81 | -------------------------------------------------------------------------------- /gtk-2.0/apps.rc: -------------------------------------------------------------------------------- 1 | # vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et: 2 | # 3 | # This file, unlike hacks.rc, contains legitimate cases we need to handle, e.g. 4 | # custom widgets, programs giving us a chance to alter their UI to fit more with 5 | # the theme or stuff that is supposed to look different, like panels. 6 | 7 | # TODO: This could really look nicer 8 | style "gimp_spin_scale" { 9 | # Spin background 10 | bg[NORMAL] = @base_color 11 | 12 | engine "pixmap" { 13 | image { 14 | function = BOX 15 | state = NORMAL 16 | detail = "spinbutton_up" 17 | overlay_file = "assets/pan-up.png" 18 | overlay_stretch = FALSE 19 | } 20 | 21 | image { 22 | function = BOX 23 | state = PRELIGHT 24 | detail = "spinbutton_up" 25 | overlay_file = "assets/pan-up-alt.png" 26 | overlay_stretch = FALSE 27 | } 28 | 29 | image { 30 | function = BOX 31 | state = ACTIVE 32 | detail = "spinbutton_up" 33 | overlay_file = "assets/pan-up-alt.png" 34 | overlay_stretch = FALSE 35 | } 36 | 37 | image { 38 | function = BOX 39 | state = INSENSITIVE 40 | detail = "spinbutton_up" 41 | overlay_file = "assets/pan-up-disabled.png" 42 | overlay_stretch = FALSE 43 | } 44 | 45 | image { 46 | function = BOX 47 | state = NORMAL 48 | detail = "spinbutton_down" 49 | overlay_file = "assets/pan-down.png" 50 | overlay_stretch = FALSE 51 | } 52 | 53 | image { 54 | function = BOX 55 | state = PRELIGHT 56 | detail = "spinbutton_down" 57 | overlay_file = "assets/pan-down-alt.png" 58 | overlay_stretch = FALSE 59 | } 60 | 61 | image { 62 | function = BOX 63 | state = ACTIVE 64 | detail = "spinbutton_down" 65 | overlay_file = "assets/pan-down-alt.png" 66 | overlay_stretch = FALSE 67 | } 68 | 69 | image { 70 | function = BOX 71 | state = INSENSITIVE 72 | detail = "spinbutton_down" 73 | overlay_file = "assets/pan-down-disabled.png" 74 | overlay_stretch = FALSE 75 | } 76 | } 77 | } 78 | 79 | style "chrome_gtk_frame" { 80 | ChromeGtkFrame::frame-color = @titlebar_bg_color 81 | ChromeGtkFrame::inactive-frame-color = @titlebar_bg_color 82 | ChromeGtkFrame::incognito-frame-color = @titlebar_bg_color 83 | ChromeGtkFrame::incognito-inactive-frame-color = @titlebar_bg_color 84 | 85 | ChromeGtkFrame::frame-gradient-size = 0 86 | } 87 | 88 | # Disable spin button assets for GimpSpinScale 89 | class "GimpSpinScale" style "gimp_spin_scale" 90 | 91 | # Chromium lets us define some colours and settings for better integration 92 | class "ChromeGtkFrame" style "chrome_gtk_frame" 93 | -------------------------------------------------------------------------------- /gtk-3.0/gtk.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sourceRoot":"","sources":["gtk.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;;AAGJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;AAAA;AAAA;EAGE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;AACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;AAEA","file":"gtk.css"} -------------------------------------------------------------------------------- /gtk-3.0/gtk.scss.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sourceRoot":"","sources":["gtk.css"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;;;AAGF;AACA;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;;AAGJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;AAAA;AAAA;EAGE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;AACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AACA;EACE;;;AAEJ;EACI;;;AAEJ;AACA;AAEA","file":"gtk.scss"} -------------------------------------------------------------------------------- /gtk-3.0/gtk.css: -------------------------------------------------------------------------------- 1 | @define-color borders #2d3437; 2 | *:selected { 3 | color: #dadada; 4 | background-color: #363d3f; 5 | } 6 | 7 | @define-color borders #1e2528; 8 | window, 9 | dialog, 10 | messagedialog { 11 | background: #141b1e; 12 | color: #dadada; 13 | } 14 | 15 | dialog > box { 16 | padding: 10px; 17 | } 18 | 19 | messagedialog box { 20 | padding: 5px; 21 | } 22 | 23 | .background { 24 | background: #141b1e; 25 | } 26 | 27 | headerbar { 28 | background: #1e2528; 29 | padding: 6px; 30 | } 31 | 32 | headerbar box.horizontal.right > button.titlebutton:last-child { 33 | margin-right: -6px; 34 | } 35 | 36 | headerbar box.horizontal.left > button.titlebutton:first-child { 37 | margin-left: -6px; 38 | } 39 | 40 | headerbar button.titlebutton:not(.appmenu) { 41 | background: transparent; 42 | margin: -6px 0; 43 | padding: 15px 10px; 44 | border-radius: 0; 45 | } 46 | 47 | headerbar button.titlebutton:not(.appmenu):nth-last-child(-n+2) { 48 | margin-left: -6px; 49 | } 50 | 51 | headerbar button.titlebutton:not(.appmenu).minimize { 52 | color: #8ccf7e; 53 | } 54 | 55 | headerbar button.titlebutton:not(.appmenu).minimize:hover { 56 | background-color: #e57474; 57 | } 58 | 59 | headerbar button.titlebutton:not(.appmenu).maximize { 60 | color: #67b0e8; 61 | } 62 | 63 | headerbar button.titlebutton:not(.appmenu).maximize:hover { 64 | background-color: #67b0e8; 65 | } 66 | 67 | headerbar button.titlebutton:not(.appmenu).close { 68 | color: #e57474; 69 | } 70 | 71 | headerbar button.titlebutton:not(.appmenu).close:hover { 72 | background-color: #e57474; 73 | } 74 | 75 | headerbar button.titlebutton:not(.appmenu):hover { 76 | color: rgba(0, 0, 0, 0.5); 77 | } 78 | 79 | headerbar button.titlebutton.appmenu:not(:active):not(:checked) { 80 | background: transparent; 81 | } 82 | 83 | entry { 84 | transition: all 100ms ease-in-out; 85 | background: rgb(24, 31, 33); 86 | border: 2px solid transparent; 87 | padding: 6px; 88 | border-radius: 0; 89 | } 90 | 91 | entry:focus { 92 | border-color: #b3b9b8; 93 | background: rgba(255, 255, 255, 0.1); 94 | } 95 | 96 | entry:disabled { 97 | opacity: 0.3; 98 | } 99 | 100 | entry image.left { 101 | margin-right: 8px; 102 | } 103 | 104 | entry image.right { 105 | margin-left: 8px; 106 | } 107 | 108 | entry selection { 109 | background: #b185db; 110 | color: #2d3437; 111 | } 112 | 113 | button { 114 | transition: background-color 100ms ease-in; 115 | background: rgb(24, 31, 33); 116 | padding: 8px; 117 | } 118 | 119 | button:hover:not(:active) { 120 | background: rgb(54, 61, 63); 121 | } 122 | 123 | button:disabled { 124 | opacity: 0.3; 125 | } 126 | 127 | button:checked, button.suggested-action { 128 | background: #8ad8ef; 129 | color: white; 130 | } 131 | 132 | button:checked:hover:not(:active), button.suggested-action:hover:not(:active) { 133 | background: #5db7cb; 134 | } 135 | 136 | button.destructive-action { 137 | background: #e57474; 138 | color: white; 139 | } 140 | 141 | button.destructive-action:hover:not(:active) { 142 | background: #ef7d7d; 143 | } 144 | 145 | button.circular { 146 | border-radius: 100%; 147 | padding: 8px; 148 | } 149 | 150 | button.flat { 151 | background: transparent; 152 | } 153 | 154 | button.flat:hover { 155 | color: rgba(255, 255, 255, 0.7); 156 | } 157 | 158 | button.flat:checked { 159 | color: rgba(255, 255, 255, 0.8); 160 | } 161 | 162 | combobox box entry { 163 | border-radius: 0; 164 | } 165 | 166 | combobox button.combo cellview { 167 | margin: -2px; 168 | } 169 | 170 | combobox button.combo arrow { 171 | margin: -6px -8px; 172 | padding: 8px; 173 | min-width: 16px; 174 | -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); 175 | } 176 | 177 | placessidebar { 178 | background: #0f1619; 179 | } 180 | 181 | placessidebar list { 182 | background: transparent; 183 | border-radius: 20px; 184 | } 185 | 186 | placessidebar list row:hover { 187 | background: #1e2528; 188 | border-radius: 20px; 189 | } 190 | 191 | placessidebar list row .sidebar-icon { 192 | margin: 0 10px; 193 | } 194 | 195 | placessidebar.frame, placessidebar .frame { 196 | border: 0; 197 | } 198 | 199 | popover { 200 | background: #1e2528; 201 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); 202 | } 203 | 204 | popover box modelbutton { 205 | padding: 5px 10px; 206 | margin: 0 -10px; 207 | } 208 | 209 | popover box modelbutton:hover { 210 | background: #1e2528; 211 | }; 212 | 213 | popover.menu:first-child { 214 | border-top-left-radius: 0; 215 | } 216 | 217 | notebook stack:only-child { 218 | background: #141b1e; 219 | } 220 | 221 | tabs { 222 | background: #141b1e; 223 | } 224 | 225 | .top > tabs { 226 | border-bottom: 2px solid #1e2528; 227 | } 228 | 229 | .top > tabs tab { 230 | border-bottom: 2px solid transparent; 231 | margin-bottom: -2px; 232 | } 233 | 234 | .right > tabs { 235 | border-left: 2px solid #1e2528; 236 | } 237 | 238 | .right > tabs tab { 239 | border-left: 2px solid transparent; 240 | margin-left: -2px; 241 | } 242 | 243 | .bottom > tabs { 244 | border-top: 2px solid #1e2528; 245 | } 246 | 247 | .bottom > tabs tab { 248 | border-top: 2px solid transparent; 249 | margin-top: -2px; 250 | } 251 | 252 | .left > tabs { 253 | border-right: 2px solid #1e2528; 254 | } 255 | 256 | .left > tabs tab { 257 | border-right: 2px solid transparent; 258 | margin-right: -2px; 259 | } 260 | 261 | tabs tab { 262 | padding: 5px; 263 | color: #787f81; 264 | transition: color 200ms ease-in-out, border-color 200ms ease-in-out; 265 | text-align: center; 266 | } 267 | 268 | header tabs tab:checked { 269 | border-color: #ef7d7d; 270 | color: #dadada; 271 | } 272 | 273 | header tabs tab:hover:not(:checked) { 274 | border-color: rgba(197, 201, 200, 0.2); 275 | } 276 | 277 | header tabs { 278 | background: #1e2528; 279 | } 280 | 281 | dialog header tabs > tab > label { 282 | padding: 3px; 283 | } 284 | 285 | treeview { 286 | -GtkTreeView-expander-size: 13; 287 | -GtkTreeView-grid-line-pattern: ""; 288 | -GtkTreeView-tree-line-pattern: ""; 289 | -GtkTreeView-horizontal-separator: 8; 290 | -GtkTreeView-vertical-separator: 8; 291 | background: #0f1619; 292 | border-left-color: #0f1619; 293 | border-top-color: #0f1619; 294 | } 295 | 296 | treeview:hover { 297 | background: #363d3f; 298 | } 299 | 300 | treeview:selected { 301 | background: #363d3f; 302 | color: #dadada; 303 | } 304 | 305 | treeview.separator { 306 | color: #1e2528; 307 | min-height: 2px; 308 | } 309 | 310 | treeview header button { 311 | border-bottom: 1px solid #363d3f; 312 | background: #1e2528; 313 | } 314 | 315 | treeview header button:hover { 316 | background: #363d3f; 317 | } 318 | 319 | treeview header button:not(:last-child) { 320 | border-right: 1px solid #363d3f; 321 | } 322 | 323 | overshoot.top { 324 | background-image: -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 325 | background-size: 100% 60%; 326 | background-repeat: no-repeat; 327 | background-position: center top; 328 | } 329 | 330 | overshoot.bottom { 331 | background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 332 | background-size: 100% 60%; 333 | background-repeat: no-repeat; 334 | background-position: center bottom; 335 | } 336 | 337 | overshoot.left { 338 | background-image: -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 339 | background-size: 60% 100%; 340 | background-repeat: no-repeat; 341 | background-position: left center; 342 | } 343 | 344 | overshoot.right { 345 | background-image: -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 346 | background-size: 60% 100%; 347 | background-repeat: no-repeat; 348 | background-position: right center; 349 | } 350 | 351 | rubberband, .rubberband { 352 | background-color: rgba(88, 172, 196, 0.1); 353 | border: 1px solid rgba(88, 172, 196, 0.6); 354 | } 355 | 356 | progressbar trough { 357 | background: #232a2c; 358 | } 359 | 360 | progressbar.horizontal progress { 361 | background-image: linear-gradient(to right, #6cbfbf, #67b0e8); 362 | } 363 | 364 | progressbar.vertical progress { 365 | background-image: linear-gradient(to bottom, #6cbfbf, #67b0e8); 366 | } 367 | 368 | levelbar trough block { 369 | padding: 3px; 370 | border-radius: 3px; 371 | } 372 | 373 | levelbar trough block.filled { 374 | background: #67b0e8; 375 | } 376 | 377 | levelbar trough block.empty { 378 | background: #363d3f; 379 | } 380 | 381 | levelbar.discrete block:not(:first-child) { 382 | margin-left: 5px; 383 | } 384 | 385 | scale { 386 | padding: 8px 0; 387 | } 388 | 389 | scale contents trough { 390 | background: #363d3f; 391 | } 392 | 393 | scale contents trough slider { 394 | background: #dadada; 395 | padding: 8px; 396 | margin: -5px; 397 | border-radius: 100%; 398 | } 399 | 400 | scale marks mark { 401 | padding-top: 5px; 402 | } 403 | 404 | scale marks mark indicator { 405 | color: #363d3f; 406 | min-height: 8px; 407 | min-width: 1px; 408 | } 409 | 410 | scale.horizontal highlight { 411 | background-image: linear-gradient(to right, #c47fd5, #6cbfbf); 412 | } 413 | 414 | scale.vertical highlight { 415 | background-image: linear-gradient(to bottom, #c47fd5, #6cbfbf); 416 | } 417 | 418 | scale:disabled { 419 | opacity: 0.3; 420 | } 421 | 422 | spinbutton.horizontal entry { 423 | border-top-right-radius: 0; 424 | border-bottom-right-radius: 0; 425 | } 426 | 427 | spinbutton.horizontal button.down { 428 | border-radius: 0; 429 | } 430 | 431 | spinbutton.horizontal button.up { 432 | border-top-left-radius: 0; 433 | border-bottom-left-radius: 0; 434 | } 435 | 436 | spinbutton.vertical button.up { 437 | border-bottom-right-radius: 0; 438 | border-bottom-left-radius: 0; 439 | } 440 | 441 | spinbutton.vertical entry { 442 | border-radius: 0; 443 | } 444 | 445 | spinbutton.vertical button.down { 446 | border-top-left-radius: 0; 447 | border-top-right-radius: 0; 448 | } 449 | 450 | textview { 451 | transition: background 100ms ease-in-out; 452 | padding: 8px; 453 | } 454 | 455 | textview:focus { 456 | background: rgba(255, 255, 255, 0.1); 457 | } 458 | 459 | textview:disabled { 460 | opacity: 0.3; 461 | } 462 | 463 | .view:hover, iconview:hover, .view:hover:focus, iconview:hover:focus, .view text:hover, iconview text:hover, textview text:hover, iconview text:hover:focus, textview text:hover:focus, flowbox flowboxchild:hover, row:hover, .view:selected, iconview:selected, .view:selected:focus, iconview:selected:focus, .view text:selected, iconview text:selected, textview text:selected, iconview text:selected:focus, textview text:selected:focus, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, flowbox flowboxchild:selected, entry selection, entry selection:focus, row:selected { 464 | background-color: rgba(179, 185, 184, 0.5); 465 | } 466 | 467 | toolbar { 468 | background: #141b1e; 469 | } 470 | 471 | toolbar.osd { 472 | background: rgba(35, 42, 44, 0.5); 473 | padding: 10px; 474 | } 475 | 476 | frame.app-notification border { 477 | background: #1e2528; 478 | border: 0; 479 | } 480 | 481 | frame > border { 482 | border: none; 483 | } 484 | 485 | .frame { 486 | border: 1px solid #1e2528; 487 | } 488 | 489 | scrolledwindow viewport.frame { 490 | border-style: none; 491 | } 492 | 493 | list { 494 | background: #1e2528; 495 | } 496 | 497 | list row { 498 | padding: 6px; 499 | } 500 | 501 | list row:hover { 502 | background: #363d3f; 503 | } 504 | 505 | checkbutton check { 506 | -gtk-icon-source: -gtk-recolor(url("../assets/symbolic/check.symbolic.png")); 507 | -gtk-icon-transform: scale(0); 508 | color: rgb(189, 195, 194); 509 | border: 2px solid rgba(255, 255, 255, 0.05); 510 | border-radius: 1px; 511 | padding: 1px; 512 | min-width: 12px; 513 | min-height: 12px; 514 | transition: -gtk-icon-transform 200ms; 515 | } 516 | 517 | checkbutton check:hover, checkbutton check:checked { 518 | border-color: #ee9cdd; 519 | } 520 | 521 | checkbutton check:active, checkbutton check:checked { 522 | background: #ee9cdd; 523 | } 524 | 525 | checkbutton check:checked { 526 | -gtk-icon-transform: scale(1); 527 | border-color: #ee9cdd; 528 | } 529 | 530 | checkbutton check:checked:active { 531 | background: transparent; 532 | } 533 | 534 | checkbutton label { 535 | padding-left: 5px; 536 | } 537 | 538 | checkbutton:disabled { 539 | opacity: 0.3; 540 | } 541 | 542 | radiobutton radio { 543 | -gtk-icon-source: -gtk-recolor(url("../assets/symbolic/radio.symbolic.png")); 544 | -gtk-icon-transform: scale(0); 545 | color: rgba(255, 255, 255, 0.8); 546 | border: 2px solid rgba(255, 255, 255, 0.05); 547 | border-radius: 100%; 548 | padding: 3px; 549 | min-width: 8px; 550 | min-height: 8px; 551 | transition: -gtk-icon-transform 200ms; 552 | } 553 | 554 | radiobutton radio:hover { 555 | border-color: rgb(54, 61, 63); 556 | } 557 | 558 | radiobutton radio:active, radiobutton radio:checked { 559 | background: rgb(54, 61, 63); 560 | } 561 | 562 | radiobutton radio:checked { 563 | -gtk-icon-transform: scale(1); 564 | border-color: #8ad8ef; 565 | } 566 | 567 | radiobutton label { 568 | padding-left: 5px; 569 | } 570 | 571 | radiobutton:disabled { 572 | opacity: 0.38; 573 | } 574 | 575 | switch { 576 | background: rgba(197, 201, 200, 0.2); 577 | border-radius: 20px; 578 | color: transparent; 579 | min-width: 40px; 580 | border: 5px solid transparent; 581 | background-clip: padding-box; 582 | } 583 | 584 | switch slider { 585 | background: #c5c9c8; 586 | transition: background 100ms ease-in-out; 587 | border-radius: 100%; 588 | min-width: 5px; 589 | min-height: 5px; 590 | background-clip: padding-box; 591 | margin: -4px -2px; 592 | } 593 | 594 | switch:checked { 595 | background: rgba(177, 133, 219, 0.3); 596 | background-clip: content-box; 597 | } 598 | 599 | switch:checked slider { 600 | background: #b185db; 601 | } 602 | 603 | switch:disabled { 604 | opacity: 0.3; 605 | } 606 | 607 | separator { 608 | background-image: image(rgba(255, 255, 255, 0.05)); 609 | background-size: 1px 1px; 610 | background-position: center center; 611 | min-width: 7px; 612 | min-height: 7px; 613 | background-repeat: repeat-x; 614 | margin: -3px 0; 615 | } 616 | 617 | separator.vertical, .horizontal > separator { 618 | background-repeat: repeat-y; 619 | margin: 0 -3px; 620 | } 621 | 622 | menubar { 623 | background: #2d3437; 624 | padding: 5px; 625 | } 626 | 627 | menubar menuitem { 628 | padding: 5px; 629 | } 630 | 631 | menubar menuitem:hover { 632 | background: #2d3437; 633 | } 634 | 635 | menu { 636 | background: #0f1619; 637 | padding: 10px; 638 | } 639 | 640 | menu menuitem { 641 | padding: 8px; 642 | } 643 | 644 | menu menuitem:hover { 645 | background: #67b0e8; 646 | color: #141b1e; 647 | border-radius: 0.3em; 648 | } 649 | 650 | scrollbar { 651 | -GtkScrollbar-has-backward-stepper: false; 652 | -GtkScrollbar-has-forward-stepper: false; 653 | background: transparent; 654 | } 655 | 656 | scrollbar slider { 657 | padding: 3px; 658 | background: rgba(255, 255, 255, 0.05); 659 | } 660 | 661 | scrollbar slider:hover { 662 | background: rgba(255, 255, 255, 0.1); 663 | } 664 | 665 | scrollbar slider:active { 666 | background: rgba(177, 133, 219, 0.75); 667 | } 668 | 669 | scrollbar:hover { 670 | background: rgba(255, 255, 255, 0.05); 671 | } 672 | 673 | scrollbar:hover.horizontal slider { 674 | padding: 5px 3px; 675 | } 676 | 677 | scrollbar:hover.vertical slider { 678 | padding: 3px 5px; 679 | } 680 | 681 | label.dim-label, label:disabled { 682 | opacity: 0.3; 683 | } 684 | 685 | calendar { 686 | border: 1px solid #232a2c; 687 | background: #2d3437; 688 | } 689 | 690 | calendar.button { 691 | background: #232a2c; 692 | color: rgba(255, 255, 255, 0.5); 693 | } 694 | 695 | calendar.button:hover { 696 | color: rgba(255, 255, 255, 0.8); 697 | } 698 | 699 | calendar.button:disabled { 700 | color: rgba(255, 255, 255, 0.1); 701 | } 702 | 703 | calendar.header { 704 | background: #232a2c; 705 | } 706 | 707 | calendar.highlight { 708 | color: rgba(255, 255, 255, 0.2); 709 | } 710 | 711 | calendar:selected { 712 | color: white; 713 | background: #bab3e5; 714 | } 715 | 716 | calendar:indeterminate { 717 | color: rgba(255, 255, 255, 0.1); 718 | } 719 | 720 | actionbar { 721 | background: #2d3437; 722 | border-top: 1px solid #363d3f; 723 | } 724 | 725 | iconview { 726 | background: #2d3437; 727 | } 728 | 729 | iconview:selected { 730 | color: #363d3f; 731 | background: #bab3e5; 732 | } 733 | 734 | @keyframes rotate { 735 | to { 736 | -gtk-icon-transform: rotate(1turn); 737 | } 738 | } 739 | spinner { 740 | -gtk-icon-source: none; 741 | } 742 | 743 | spinner:checked { 744 | -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); 745 | animation: rotate 1s linear infinite; 746 | } 747 | 748 | spinner:disabled { 749 | opacity: 0.3; 750 | } 751 | 752 | infobar { 753 | color: rgba(255, 255, 255, 0.8); 754 | } 755 | 756 | infobar.info { 757 | background: #6cbfbf; 758 | } 759 | 760 | infobar.warning { 761 | background: #e57474; 762 | } 763 | 764 | infobar.error { 765 | background: #e57474; 766 | } 767 | 768 | infobar.question { 769 | background: #363d3f; 770 | } 771 | 772 | tooltip { 773 | background: #363d3f; 774 | opacity: 100%; 775 | } 776 | 777 | tooltip label { 778 | padding: 2px; 779 | } 780 | 781 | @define-color borders #2d3437; 782 | filechooser viewport, 783 | filechooser placessidebar, 784 | filechooser list { 785 | background: none; 786 | } 787 | 788 | filechooser placessidebar list row { 789 | margin: 5px; 790 | } 791 | 792 | filechooser treeview { 793 | background: none; 794 | } 795 | 796 | filechooser treeview header box { 797 | padding: 5px; 798 | } 799 | 800 | filechooser treeview:selected { 801 | background: #bab3e5; 802 | } 803 | 804 | .pavucontrol-window { 805 | background: #141b1e; 806 | } 807 | 808 | .pavucontrol-window tabs { 809 | background: #2d3437; 810 | } 811 | 812 | .pavucontrol-window tabs tab { 813 | padding: 16px; 814 | } 815 | 816 | .pavucontrol-window .show-volume-meters-check-button { 817 | padding: 8px; 818 | } 819 | 820 | window.thunar { 821 | background: none; 822 | /* hide separator */ 823 | } 824 | 825 | window.thunar treeview { 826 | background: none; 827 | } 828 | 829 | window.thunar grid *:selected, 830 | window.thunar grid *:active { 831 | background: #363d2f; 832 | border-radius: 3px; 833 | } 834 | 835 | window.thunar .sidebar { 836 | background: #0f1619; 837 | padding: 1rem; 838 | } 839 | 840 | window.thunar treeview { 841 | padding: 3px; 842 | color: #dadada; 843 | } 844 | 845 | window.thunar treeview:selected { 846 | background: #1e2529; 847 | color: #dadada; 848 | border-radius: 0.5em; 849 | } 850 | 851 | window.thunar .frame { 852 | border: 0; 853 | } 854 | 855 | window.thunar toolbar entry { 856 | background: #2c3335; 857 | border-radius: 10px; 858 | margin: 3px 2em 3px 1em; 859 | padding: 0px 1rem; 860 | } 861 | 862 | window.thunar toolbar entry image { 863 | background-image: image(rgb(54, 61, 63)); 864 | } 865 | 866 | window.thunar paned grid { 867 | background: #141b1e; 868 | } 869 | 870 | window.thunar toolbar { 871 | background: #1e2528; 872 | padding: 5px 0; 873 | } 874 | 875 | window.thunar toolbar * { 876 | background: none; 877 | } 878 | 879 | window.thunar separator { 880 | background-image: image(#0f1619); 881 | background-size: 1px 1px; 882 | background-position: center center; 883 | } 884 | 885 | .gimp-internal-dock-1 GtkLabel { 886 | font-size: 12px; 887 | } 888 | 889 | @define-color borders #363d3f; 890 | window widget { 891 | background-color: #141b1e; 892 | } 893 | cursor-handle { 894 | background-color: transparent; 895 | background-image: none; 896 | box-shadow: none; 897 | border-style: none; } 898 | cursor-handle.top { 899 | -gtk-icon-source: -gtk-icontheme("selection-start-symbolic"); 900 | } 901 | cursor-handle.bottom { 902 | -gtk-icon-source: -gtk-icontheme("selection-end-symbolic"); } 903 | 904 | /*# sourceMappingURL=gtk.css.map */ 905 | /*# sourceMappingURL=gtk.scss.map */ 906 | 907 | /*# sourceMappingURL=gtk.css.map */ 908 | -------------------------------------------------------------------------------- /gtk-3.0/gtk.scss: -------------------------------------------------------------------------------- 1 | @define-color borders #2d3437; 2 | *:selected { 3 | color: #dadada; 4 | background-color: #363d3f; 5 | } 6 | 7 | @define-color borders #1e2528; 8 | window, 9 | dialog, 10 | messagedialog { 11 | background: #141b1e; 12 | color: #dadada; 13 | } 14 | 15 | dialog > box { 16 | padding: 10px; 17 | } 18 | 19 | messagedialog box { 20 | padding: 5px; 21 | } 22 | 23 | .background { 24 | background: #141b1e; 25 | } 26 | 27 | headerbar { 28 | background: #1e2528; 29 | padding: 6px; 30 | } 31 | 32 | headerbar box.horizontal.right > button.titlebutton:last-child { 33 | margin-right: -6px; 34 | } 35 | 36 | headerbar box.horizontal.left > button.titlebutton:first-child { 37 | margin-left: -6px; 38 | } 39 | 40 | headerbar button.titlebutton:not(.appmenu) { 41 | background: transparent; 42 | margin: -6px 0; 43 | padding: 15px 10px; 44 | border-radius: 0; 45 | } 46 | 47 | headerbar button.titlebutton:not(.appmenu):nth-last-child(-n+2) { 48 | margin-left: -6px; 49 | } 50 | 51 | headerbar button.titlebutton:not(.appmenu).minimize { 52 | color: #8ccf7e; 53 | } 54 | 55 | headerbar button.titlebutton:not(.appmenu).minimize:hover { 56 | background-color: #e57474; 57 | } 58 | 59 | headerbar button.titlebutton:not(.appmenu).maximize { 60 | color: #67b0e8; 61 | } 62 | 63 | headerbar button.titlebutton:not(.appmenu).maximize:hover { 64 | background-color: #67b0e8; 65 | } 66 | 67 | headerbar button.titlebutton:not(.appmenu).close { 68 | color: #e57474; 69 | } 70 | 71 | headerbar button.titlebutton:not(.appmenu).close:hover { 72 | background-color: #e57474; 73 | } 74 | 75 | headerbar button.titlebutton:not(.appmenu):hover { 76 | color: rgba(0, 0, 0, 0.5); 77 | } 78 | 79 | headerbar button.titlebutton.appmenu:not(:active):not(:checked) { 80 | background: transparent; 81 | } 82 | 83 | entry { 84 | transition: all 100ms ease-in-out; 85 | background: rgb(24, 31, 33); 86 | border: 2px solid transparent; 87 | padding: 6px; 88 | border-radius: 0; 89 | } 90 | 91 | entry:focus { 92 | border-color: #b3b9b8; 93 | background: rgba(255, 255, 255, 0.1); 94 | } 95 | 96 | entry:disabled { 97 | opacity: 0.3; 98 | } 99 | 100 | entry image.left { 101 | margin-right: 8px; 102 | } 103 | 104 | entry image.right { 105 | margin-left: 8px; 106 | } 107 | 108 | entry selection { 109 | background: #b185db; 110 | color: #2d3437; 111 | } 112 | 113 | button { 114 | transition: background-color 100ms ease-in; 115 | background: rgb(24, 31, 33); 116 | padding: 8px; 117 | } 118 | 119 | button:hover:not(:active) { 120 | background: rgb(54, 61, 63); 121 | } 122 | 123 | button:disabled { 124 | opacity: 0.3; 125 | } 126 | 127 | button:checked, button.suggested-action { 128 | background: #8ad8ef; 129 | color: white; 130 | } 131 | 132 | button:checked:hover:not(:active), button.suggested-action:hover:not(:active) { 133 | background: #5db7cb; 134 | } 135 | 136 | button.destructive-action { 137 | background: #e57474; 138 | color: white; 139 | } 140 | 141 | button.destructive-action:hover:not(:active) { 142 | background: #ef7d7d; 143 | } 144 | 145 | button.circular { 146 | border-radius: 100%; 147 | padding: 8px; 148 | } 149 | 150 | button.flat { 151 | background: transparent; 152 | } 153 | 154 | button.flat:hover { 155 | color: rgba(255, 255, 255, 0.7); 156 | } 157 | 158 | button.flat:checked { 159 | color: rgba(255, 255, 255, 0.8); 160 | } 161 | 162 | combobox box entry { 163 | border-radius: 0; 164 | } 165 | 166 | combobox button.combo cellview { 167 | margin: -2px; 168 | } 169 | 170 | combobox button.combo arrow { 171 | margin: -6px -8px; 172 | padding: 8px; 173 | min-width: 16px; 174 | -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); 175 | } 176 | 177 | placessidebar { 178 | background: #0f1619; 179 | } 180 | 181 | placessidebar list { 182 | background: transparent; 183 | border-radius: 20px; 184 | } 185 | 186 | placessidebar list row:hover { 187 | background: #1e2528; 188 | border-radius: 20px; 189 | } 190 | 191 | placessidebar list row .sidebar-icon { 192 | margin: 0 10px; 193 | } 194 | 195 | placessidebar.frame, placessidebar .frame { 196 | border: 0; 197 | } 198 | 199 | popover { 200 | background: #1e2528; 201 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); 202 | } 203 | 204 | popover box modelbutton { 205 | padding: 5px 10px; 206 | margin: 0 -10px; 207 | } 208 | 209 | popover box modelbutton:hover { 210 | background: #1e2528; 211 | } 212 | 213 | popover.menu:first-child { 214 | border-top-left-radius: 0; 215 | } 216 | 217 | notebook stack:only-child { 218 | background: #141b1e; 219 | } 220 | 221 | tabs { 222 | background: #141b1e; 223 | } 224 | 225 | .top > tabs { 226 | border-bottom: 2px solid #1e2528; 227 | } 228 | 229 | .top > tabs tab { 230 | border-bottom: 2px solid transparent; 231 | margin-bottom: -2px; 232 | } 233 | 234 | .right > tabs { 235 | border-left: 2px solid #1e2528; 236 | } 237 | 238 | .right > tabs tab { 239 | border-left: 2px solid transparent; 240 | margin-left: -2px; 241 | } 242 | 243 | .bottom > tabs { 244 | border-top: 2px solid #1e2528; 245 | } 246 | 247 | .bottom > tabs tab { 248 | border-top: 2px solid transparent; 249 | margin-top: -2px; 250 | } 251 | 252 | .left > tabs { 253 | border-right: 2px solid #1e2528; 254 | } 255 | 256 | .left > tabs tab { 257 | border-right: 2px solid transparent; 258 | margin-right: -2px; 259 | } 260 | 261 | tabs tab { 262 | padding: 5px; 263 | color: #787f81; 264 | transition: color 200ms ease-in-out, border-color 200ms ease-in-out; 265 | text-align: center; 266 | } 267 | 268 | header tabs tab:checked { 269 | border-color: #ef7d7d; 270 | color: #dadada; 271 | } 272 | 273 | header tabs tab:hover:not(:checked) { 274 | border-color: rgba(197, 201, 200, 0.2); 275 | } 276 | 277 | header tabs { 278 | background: #1e2528; 279 | } 280 | 281 | dialog header tabs > tab > label { 282 | padding: 3px; 283 | } 284 | 285 | treeview { 286 | -GtkTreeView-expander-size: 13; 287 | -GtkTreeView-grid-line-pattern: ""; 288 | -GtkTreeView-tree-line-pattern: ""; 289 | -GtkTreeView-horizontal-separator: 8; 290 | -GtkTreeView-vertical-separator: 8; 291 | background: #0f1619; 292 | border-left-color: #0f1619; 293 | border-top-color: #0f1619; 294 | } 295 | 296 | treeview:hover { 297 | background: #363d3f; 298 | } 299 | 300 | treeview:selected { 301 | background: #363d3f; 302 | color: #dadada; 303 | } 304 | 305 | treeview.separator { 306 | color: #1e2528; 307 | min-height: 2px; 308 | } 309 | 310 | treeview header button { 311 | border-bottom: 1px solid #363d3f; 312 | background: #1e2528; 313 | } 314 | 315 | treeview header button:hover { 316 | background: #363d3f; 317 | } 318 | 319 | treeview header button:not(:last-child) { 320 | border-right: 1px solid #363d3f; 321 | } 322 | 323 | overshoot.top { 324 | background-image: -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 325 | background-size: 100% 60%; 326 | background-repeat: no-repeat; 327 | background-position: center top; 328 | } 329 | 330 | overshoot.bottom { 331 | background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 332 | background-size: 100% 60%; 333 | background-repeat: no-repeat; 334 | background-position: center bottom; 335 | } 336 | 337 | overshoot.left { 338 | background-image: -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 339 | background-size: 60% 100%; 340 | background-repeat: no-repeat; 341 | background-position: left center; 342 | } 343 | 344 | overshoot.right { 345 | background-image: -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(35, 42, 44, 0.2)), to(rgba(35, 42, 44, 0))); 346 | background-size: 60% 100%; 347 | background-repeat: no-repeat; 348 | background-position: right center; 349 | } 350 | 351 | rubberband, .rubberband { 352 | background-color: rgba(88, 172, 196, 0.1); 353 | border: 1px solid rgba(88, 172, 196, 0.6); 354 | } 355 | 356 | progressbar trough { 357 | background: #232a2c; 358 | } 359 | 360 | progressbar.horizontal progress { 361 | background-image: linear-gradient(to right, #6cbfbf, #67b0e8); 362 | } 363 | 364 | progressbar.vertical progress { 365 | background-image: linear-gradient(to bottom, #6cbfbf, #67b0e8); 366 | } 367 | 368 | levelbar trough block { 369 | padding: 3px; 370 | border-radius: 3px; 371 | } 372 | 373 | levelbar trough block.filled { 374 | background: #67b0e8; 375 | } 376 | 377 | levelbar trough block.empty { 378 | background: #363d3f; 379 | } 380 | 381 | levelbar.discrete block:not(:first-child) { 382 | margin-left: 5px; 383 | } 384 | 385 | scale { 386 | padding: 8px 0; 387 | } 388 | 389 | scale contents trough { 390 | background: #363d3f; 391 | } 392 | 393 | scale contents trough slider { 394 | background: #dadada; 395 | padding: 8px; 396 | margin: -5px; 397 | border-radius: 100%; 398 | } 399 | 400 | scale marks mark { 401 | padding-top: 5px; 402 | } 403 | 404 | scale marks mark indicator { 405 | color: #363d3f; 406 | min-height: 8px; 407 | min-width: 1px; 408 | } 409 | 410 | scale.horizontal highlight { 411 | background-image: linear-gradient(to right, #c47fd5, #6cbfbf); 412 | } 413 | 414 | scale.vertical highlight { 415 | background-image: linear-gradient(to bottom, #c47fd5, #6cbfbf); 416 | } 417 | 418 | scale:disabled { 419 | opacity: 0.3; 420 | } 421 | 422 | spinbutton.horizontal entry { 423 | border-top-right-radius: 0; 424 | border-bottom-right-radius: 0; 425 | } 426 | 427 | spinbutton.horizontal button.down { 428 | border-radius: 0; 429 | } 430 | 431 | spinbutton.horizontal button.up { 432 | border-top-left-radius: 0; 433 | border-bottom-left-radius: 0; 434 | } 435 | 436 | spinbutton.vertical button.up { 437 | border-bottom-right-radius: 0; 438 | border-bottom-left-radius: 0; 439 | } 440 | 441 | spinbutton.vertical entry { 442 | border-radius: 0; 443 | } 444 | 445 | spinbutton.vertical button.down { 446 | border-top-left-radius: 0; 447 | border-top-right-radius: 0; 448 | } 449 | 450 | textview { 451 | transition: background 100ms ease-in-out; 452 | padding: 8px; 453 | } 454 | 455 | textview:focus { 456 | background: rgba(255, 255, 255, 0.1); 457 | } 458 | 459 | textview:disabled { 460 | opacity: 0.3; 461 | } 462 | 463 | .view:hover, iconview:hover, .view:hover:focus, iconview:hover:focus, .view text:hover, iconview text:hover, textview text:hover, iconview text:hover:focus, textview text:hover:focus, flowbox flowboxchild:hover, row:hover, .view:selected, iconview:selected, .view:selected:focus, iconview:selected:focus, .view text:selected, iconview text:selected, textview text:selected, iconview text:selected:focus, textview text:selected:focus, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, flowbox flowboxchild:selected, entry selection, entry selection:focus, row:selected { 464 | background-color: rgba(179, 185, 184, 0.5); 465 | } 466 | 467 | toolbar { 468 | background: #141b1e; 469 | } 470 | 471 | toolbar.osd { 472 | background: rgba(35, 42, 44, 0.5); 473 | padding: 10px; 474 | } 475 | 476 | frame.app-notification border { 477 | background: #1e2528; 478 | border: 0; 479 | } 480 | 481 | frame > border { 482 | border: none; 483 | } 484 | 485 | .frame { 486 | border: 1px solid #1e2528; 487 | } 488 | 489 | scrolledwindow viewport.frame { 490 | border-style: none; 491 | } 492 | 493 | list { 494 | background: #1e2528; 495 | } 496 | 497 | list row { 498 | padding: 6px; 499 | } 500 | 501 | list row:hover { 502 | background: #363d3f; 503 | } 504 | 505 | checkbutton check { 506 | -gtk-icon-source: -gtk-recolor(url("../assets/symbolic/check.symbolic.png")); 507 | -gtk-icon-transform: scale(0); 508 | color: rgb(189, 195, 194); 509 | border: 2px solid rgba(255, 255, 255, 0.05); 510 | border-radius: 1px; 511 | padding: 1px; 512 | min-width: 12px; 513 | min-height: 12px; 514 | transition: -gtk-icon-transform 200ms; 515 | } 516 | 517 | checkbutton check:hover, checkbutton check:checked { 518 | border-color: #ee9cdd; 519 | } 520 | 521 | checkbutton check:active, checkbutton check:checked { 522 | background: #ee9cdd; 523 | } 524 | 525 | checkbutton check:checked { 526 | -gtk-icon-transform: scale(1); 527 | border-color: #ee9cdd; 528 | } 529 | 530 | checkbutton check:checked:active { 531 | background: transparent; 532 | } 533 | 534 | checkbutton label { 535 | padding-left: 5px; 536 | } 537 | 538 | checkbutton:disabled { 539 | opacity: 0.3; 540 | } 541 | 542 | radiobutton radio { 543 | -gtk-icon-source: -gtk-recolor(url("../assets/symbolic/radio.symbolic.png")); 544 | -gtk-icon-transform: scale(0); 545 | color: rgba(255, 255, 255, 0.8); 546 | border: 2px solid rgba(255, 255, 255, 0.05); 547 | border-radius: 100%; 548 | padding: 3px; 549 | min-width: 8px; 550 | min-height: 8px; 551 | transition: -gtk-icon-transform 200ms; 552 | } 553 | 554 | radiobutton radio:hover { 555 | border-color: rgb(54, 61, 63); 556 | } 557 | 558 | radiobutton radio:active, radiobutton radio:checked { 559 | background: rgb(54, 61, 63); 560 | } 561 | 562 | radiobutton radio:checked { 563 | -gtk-icon-transform: scale(1); 564 | border-color: #8ad8ef; 565 | } 566 | 567 | radiobutton label { 568 | padding-left: 5px; 569 | } 570 | 571 | radiobutton:disabled { 572 | opacity: 0.38; 573 | } 574 | 575 | switch { 576 | background: rgba(197, 201, 200, 0.2); 577 | border-radius: 20px; 578 | color: transparent; 579 | min-width: 40px; 580 | border: 5px solid transparent; 581 | background-clip: padding-box; 582 | } 583 | 584 | switch slider { 585 | background: #c5c9c8; 586 | transition: background 100ms ease-in-out; 587 | border-radius: 100%; 588 | min-width: 5px; 589 | min-height: 5px; 590 | background-clip: padding-box; 591 | margin: -4px -2px; 592 | } 593 | 594 | switch:checked { 595 | background: rgba(177, 133, 219, 0.3); 596 | background-clip: content-box; 597 | } 598 | 599 | switch:checked slider { 600 | background: #b185db; 601 | } 602 | 603 | switch:disabled { 604 | opacity: 0.3; 605 | } 606 | 607 | separator { 608 | background-image: image(rgba(255, 255, 255, 0.05)); 609 | background-size: 1px 1px; 610 | background-position: center center; 611 | min-width: 7px; 612 | min-height: 7px; 613 | background-repeat: repeat-x; 614 | margin: -3px 0; 615 | } 616 | 617 | separator.vertical, .horizontal > separator { 618 | background-repeat: repeat-y; 619 | margin: 0 -3px; 620 | } 621 | 622 | menubar { 623 | background: #2d3437; 624 | padding: 5px; 625 | } 626 | 627 | menubar menuitem { 628 | padding: 5px; 629 | } 630 | 631 | menubar menuitem:hover { 632 | background: #2d3437; 633 | } 634 | 635 | menu { 636 | background: #0f1619; 637 | padding: 10px; 638 | } 639 | 640 | menu menuitem { 641 | padding: 8px; 642 | } 643 | 644 | menu menuitem:hover { 645 | background: #67b0e8; 646 | color: #141b1e; 647 | border-radius: 0.3em; 648 | } 649 | 650 | scrollbar { 651 | -GtkScrollbar-has-backward-stepper: false; 652 | -GtkScrollbar-has-forward-stepper: false; 653 | background: transparent; 654 | } 655 | 656 | scrollbar slider { 657 | padding: 3px; 658 | background: rgba(255, 255, 255, 0.05); 659 | } 660 | 661 | scrollbar slider:hover { 662 | background: rgba(255, 255, 255, 0.1); 663 | } 664 | 665 | scrollbar slider:active { 666 | background: rgba(177, 133, 219, 0.75); 667 | } 668 | 669 | scrollbar:hover { 670 | background: rgba(255, 255, 255, 0.05); 671 | } 672 | 673 | scrollbar:hover.horizontal slider { 674 | padding: 5px 3px; 675 | } 676 | 677 | scrollbar:hover.vertical slider { 678 | padding: 3px 5px; 679 | } 680 | 681 | label.dim-label, label:disabled { 682 | opacity: 0.3; 683 | } 684 | 685 | calendar { 686 | border: 1px solid #232a2c; 687 | background: #2d3437; 688 | } 689 | 690 | calendar.button { 691 | background: #232a2c; 692 | color: rgba(255, 255, 255, 0.5); 693 | } 694 | 695 | calendar.button:hover { 696 | color: rgba(255, 255, 255, 0.8); 697 | } 698 | 699 | calendar.button:disabled { 700 | color: rgba(255, 255, 255, 0.1); 701 | } 702 | 703 | calendar.header { 704 | background: #232a2c; 705 | } 706 | 707 | calendar.highlight { 708 | color: rgba(255, 255, 255, 0.2); 709 | } 710 | 711 | calendar:selected { 712 | color: white; 713 | background: #bab3e5; 714 | } 715 | 716 | calendar:indeterminate { 717 | color: rgba(255, 255, 255, 0.1); 718 | } 719 | 720 | actionbar { 721 | background: #2d3437; 722 | border-top: 1px solid #363d3f; 723 | } 724 | 725 | iconview { 726 | background: #2d3437; 727 | } 728 | 729 | iconview:selected { 730 | color: #363d3f; 731 | background: #bab3e5; 732 | } 733 | 734 | @keyframes rotate { 735 | to { 736 | -gtk-icon-transform: rotate(1turn); 737 | } 738 | } 739 | spinner { 740 | -gtk-icon-source: none; 741 | } 742 | 743 | spinner:checked { 744 | -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); 745 | animation: rotate 1s linear infinite; 746 | } 747 | 748 | spinner:disabled { 749 | opacity: 0.3; 750 | } 751 | 752 | infobar { 753 | color: rgba(255, 255, 255, 0.8); 754 | } 755 | 756 | infobar.info { 757 | background: #6cbfbf; 758 | } 759 | 760 | infobar.warning { 761 | background: #e57474; 762 | } 763 | 764 | infobar.error { 765 | background: #e57474; 766 | } 767 | 768 | infobar.question { 769 | background: #363d3f; 770 | } 771 | 772 | tooltip { 773 | background: #363d3f; 774 | opacity: 100%; 775 | } 776 | 777 | tooltip label { 778 | padding: 2px; 779 | } 780 | 781 | @define-color borders #2d3437; 782 | filechooser viewport, 783 | filechooser placessidebar, 784 | filechooser list { 785 | background: none; 786 | } 787 | 788 | filechooser placessidebar list row { 789 | margin: 5px; 790 | } 791 | 792 | filechooser treeview { 793 | background: none; 794 | } 795 | 796 | filechooser treeview header box { 797 | padding: 5px; 798 | } 799 | 800 | filechooser treeview:selected { 801 | background: #bab3e5; 802 | } 803 | 804 | .pavucontrol-window { 805 | background: #141b1e; 806 | } 807 | 808 | .pavucontrol-window tabs { 809 | background: #2d3437; 810 | } 811 | 812 | .pavucontrol-window tabs tab { 813 | padding: 16px; 814 | } 815 | 816 | .pavucontrol-window .show-volume-meters-check-button { 817 | padding: 8px; 818 | } 819 | 820 | window.thunar { 821 | background: none; 822 | /* hide separator */ 823 | } 824 | 825 | window.thunar treeview { 826 | background: none; 827 | } 828 | 829 | window.thunar grid *:selected, 830 | window.thunar grid *:active { 831 | background: #363d2f; 832 | border-radius: 3px; 833 | } 834 | 835 | window.thunar .sidebar { 836 | background: #0f1619; 837 | padding: 1rem; 838 | } 839 | 840 | window.thunar treeview { 841 | padding: 3px; 842 | color: #dadada; 843 | } 844 | 845 | window.thunar treeview:selected { 846 | background: #1e2529; 847 | color: #dadada; 848 | border-radius: 0.5em; 849 | } 850 | 851 | window.thunar .frame { 852 | border: 0; 853 | } 854 | 855 | window.thunar toolbar entry { 856 | background: #2c3335; 857 | border-radius: 10px; 858 | margin: 3px 2em 3px 1em; 859 | padding: 0px 1rem; 860 | } 861 | 862 | window.thunar toolbar entry image { 863 | background-image: image(rgb(54, 61, 63)); 864 | } 865 | 866 | window.thunar paned grid { 867 | background: #141b1e; 868 | } 869 | 870 | window.thunar toolbar { 871 | background: #1e2528; 872 | padding: 5px 0; 873 | } 874 | 875 | window.thunar toolbar * { 876 | background: none; 877 | } 878 | 879 | window.thunar separator { 880 | background-image: image(#0f1619); 881 | background-size: 1px 1px; 882 | background-position: center center; 883 | } 884 | 885 | .gimp-internal-dock-1 GtkLabel { 886 | font-size: 12px; 887 | } 888 | 889 | @define-color borders #363d3f; 890 | window widget { 891 | background-color: #141b1e; 892 | } 893 | 894 | cursor-handle { 895 | background-color: transparent; 896 | background-image: none; 897 | box-shadow: none; 898 | border-style: none; 899 | } 900 | 901 | cursor-handle.top { 902 | -gtk-icon-source: -gtk-icontheme("selection-start-symbolic"); 903 | } 904 | 905 | cursor-handle.bottom { 906 | -gtk-icon-source: -gtk-icontheme("selection-end-symbolic"); 907 | } 908 | 909 | /*# sourceMappingURL=gtk.css.map */ 910 | /*# sourceMappingURL=gtk.scss.map */ 911 | /*# sourceMappingURL=gtk.css.map */ 912 | 913 | /*# sourceMappingURL=gtk.scss.map */ 914 | -------------------------------------------------------------------------------- /gtk-2.0/main.rc: -------------------------------------------------------------------------------- 1 | # vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et: 2 | # 3 | # This is the main theme file, handling all the default widgets and theme 4 | # properties. Since GTK 2 is old, we need to overcome some of its limitations, 5 | # which is also mostly done in this file. Sadly not all of them can be overcome 6 | # so there will always be a visible difference between the GTK 2 and 3 theme. 7 | 8 | style "default" { 9 | xthickness = 1 10 | ythickness = 1 11 | 12 | #################### 13 | # Style Properties # 14 | #################### 15 | 16 | GtkWidget::focus-padding = 0 17 | GtkWidget::focus-line-width = 2 18 | GtkWidget::focus-line-pattern = "\2\1" 19 | 20 | GtkToolbar::space-size = 5 # 1 + 2*2 (separator + margins) 21 | GtkToolbar::internal-padding = 2 22 | GtkToolButton::icon-spacing = 4 23 | 24 | GtkWidget::tooltip-radius = 4 25 | GtkWidget::tooltip-alpha = 230 26 | GtkWidget::new-tooltip-style = 1 #for compatibility 27 | 28 | GtkWidget::link-color = @link_color 29 | GtkWidget::visited-link-color = @visited_link_color 30 | GnomeHRef::link_color = @link_color 31 | GtkHTML::link-color = @link_color 32 | GtkHTML::vlink-color = @visited_link_color 33 | GtkIMHtml::hyperlink-color = @link_color 34 | GtkIMHtml::hyperlink-visited-color = @visited_link_color 35 | 36 | GtkSeparatorMenuItem::horizontal-padding = 0 37 | GtkSeparatorMenuItem::wide-separators = 1 38 | GtkSeparatorMenuItem::separator-height = 3 39 | 40 | GtkButton::child-displacement-y = 0 41 | 42 | GtkButton::default-border = {0, 0, 0, 0} 43 | GtkButton::default-outside-border = {0, 0, 0, 0} 44 | GtkButton::inner-border = {4, 4, 4, 4} 45 | 46 | GtkEntry::state-hint = 1 47 | GtkEntry::inner-border = {4, 4, 4, 4} 48 | 49 | GtkPaned::handle-size = 8 50 | GtkHPaned::handle-size = 8 51 | GtkVPaned::handle-size = 8 52 | 53 | GtkScrollbar::trough-border = 0 54 | GtkRange::trough-border = 0 55 | GtkRange::slider-width = 17 56 | GtkRange::stepper-size = 0 57 | GtkRange::activate-slider = 1 58 | 59 | GtkScrollbar::activate-slider = 1 60 | GtkScrollbar::stepper-size = 0 61 | GtkScrollbar::has-backward-stepper = 0 62 | GtkScrollbar::has-forward-stepper = 0 63 | GtkScrollbar::min-slider-length = 32 # 24 + 2*4 (margins) 64 | GtkScrolledWindow::scrollbar-spacing = 0 65 | GtkScrolledWindow::scrollbars-within-bevel = 1 66 | 67 | GtkScale::slider_length = 24 68 | GtkScale::slider_width = 24 69 | GtkScale::trough-side-details = 1 70 | 71 | GtkProgressBar::min-horizontal-bar-height = 4 72 | GtkProgressBar::min-vertical-bar-width = 4 73 | GtkProgressBar::xspacing = 4 74 | GtkProgressBar::yspacing = 4 75 | 76 | GtkStatusbar::shadow_type = GTK_SHADOW_NONE 77 | GtkSpinButton::shadow_type = GTK_SHADOW_NONE 78 | GtkMenuBar::shadow-type = GTK_SHADOW_NONE 79 | GtkToolbar::shadow-type = GTK_SHADOW_NONE 80 | # TODO: find out what this comment means: 81 | # ( every window is misaligned for the sake of menus ): 82 | GtkMenuBar::internal-padding = 0 83 | GtkMenu::horizontal-padding = 0 84 | GtkMenu::vertical-padding = 4 85 | GtkMenu::double-arrows = 0 86 | GtkMenuItem::arrow-scaling = 1 87 | GtkMenuItem::toggle-spacing = 12 88 | 89 | GtkCheckButton::indicator-size = 24 90 | GtkCheckButton::indicator_spacing = 2 91 | GtkOptionMenu::indicator_spacing = {8, 8, 4, 4} 92 | 93 | GtkTreeView::expander-size = 16 94 | GtkTreeView::vertical-separator = 0 95 | GtkTreeView::horizontal-separator = 4 96 | GtkTreeView::allow-rules = 0 97 | # Set this because some apps read it 98 | GtkTreeView::odd-row-color = @base_color 99 | GtkTreeView::even-row-color = @base_color 100 | 101 | GtkExpander::expander-size = 16 102 | 103 | GtkNotebook::tab-overlap = 0 104 | 105 | ########## 106 | # Colors # 107 | ########## 108 | 109 | bg[NORMAL] = @bg_color 110 | bg[PRELIGHT] = @bg_color 111 | bg[SELECTED] = mix (0.24, @selected_bg_color, @bg_color) 112 | bg[INSENSITIVE] = @bg_color 113 | bg[ACTIVE] = @bg_color 114 | 115 | fg[NORMAL] = @fg_color 116 | fg[PRELIGHT] = @fg_color 117 | fg[SELECTED] = @fg_color 118 | fg[INSENSITIVE] = mix (0.5, @fg_color, @bg_color) 119 | fg[ACTIVE] = @fg_color 120 | 121 | text[NORMAL] = @text_color 122 | text[PRELIGHT] = @text_color 123 | text[SELECTED] = @text_color 124 | text[INSENSITIVE] = mix (0.5, @text_color, @base_color) 125 | text[ACTIVE] = @text_color 126 | 127 | base[NORMAL] = @base_color 128 | base[PRELIGHT] = mix (0.08, @text_color, @base_color) 129 | base[SELECTED] = mix (0.24, @selected_bg_color, @base_color) 130 | base[INSENSITIVE] = mix (0.5, @base_color, @bg_color) 131 | base[ACTIVE] = mix (0.24, @selected_bg_color, @base_color) 132 | 133 | # For succinctness, all reasonable pixmap options remain here 134 | 135 | # Draw frame around menu in a non-compositied environment 136 | # This needs to go before pixmap because we need to override some stuff 137 | engine "adwaita" {} 138 | 139 | engine "pixmap" { 140 | 141 | ################# 142 | # Check Buttons # 143 | ################# 144 | 145 | image { 146 | function = CHECK 147 | state = NORMAL 148 | shadow = OUT 149 | overlay_file = "assets/checkbox-unchecked.png" 150 | overlay_stretch = FALSE 151 | } 152 | 153 | image { 154 | function = CHECK 155 | state = PRELIGHT 156 | shadow = OUT 157 | overlay_file = "assets/checkbox-unchecked-hover.png" 158 | overlay_stretch = FALSE 159 | } 160 | 161 | image { 162 | function = CHECK 163 | state = ACTIVE 164 | shadow = OUT 165 | overlay_file = "assets/checkbox-unchecked-active.png" 166 | overlay_stretch = FALSE 167 | } 168 | 169 | image { 170 | function = CHECK 171 | state = SELECTED 172 | shadow = OUT 173 | overlay_file = "assets/checkbox-unchecked.png" 174 | overlay_stretch = FALSE 175 | } 176 | 177 | image { 178 | function = CHECK 179 | state = INSENSITIVE 180 | shadow = OUT 181 | overlay_file = "assets/checkbox-unchecked-disabled.png" 182 | overlay_stretch = FALSE 183 | } 184 | 185 | image { 186 | function = CHECK 187 | state = NORMAL 188 | shadow = IN 189 | overlay_file = "assets/checkbox-checked.png" 190 | overlay_stretch = FALSE 191 | } 192 | 193 | image { 194 | function = CHECK 195 | state = PRELIGHT 196 | shadow = IN 197 | overlay_file = "assets/checkbox-checked-hover.png" 198 | overlay_stretch = FALSE 199 | } 200 | 201 | image { 202 | function = CHECK 203 | state = ACTIVE 204 | shadow = IN 205 | overlay_file = "assets/checkbox-checked-active.png" 206 | overlay_stretch = FALSE 207 | } 208 | 209 | image { 210 | function = CHECK 211 | state = SELECTED 212 | shadow = IN 213 | overlay_file = "assets/checkbox-checked.png" 214 | overlay_stretch = FALSE 215 | } 216 | 217 | image { 218 | function = CHECK 219 | state = INSENSITIVE 220 | shadow = IN 221 | overlay_file = "assets/checkbox-checked-disabled.png" 222 | overlay_stretch = FALSE 223 | } 224 | 225 | image { 226 | function = CHECK 227 | state = NORMAL 228 | shadow = ETCHED_IN 229 | overlay_file = "assets/checkbox-mixed.png" 230 | overlay_stretch = FALSE 231 | } 232 | 233 | image { 234 | function = CHECK 235 | state = PRELIGHT 236 | shadow = ETCHED_IN 237 | overlay_file = "assets/checkbox-mixed-hover.png" 238 | overlay_stretch = FALSE 239 | } 240 | 241 | image { 242 | function = CHECK 243 | state = ACTIVE 244 | shadow = ETCHED_IN 245 | overlay_file = "assets/checkbox-mixed-active.png" 246 | overlay_stretch = FALSE 247 | } 248 | 249 | image { 250 | function = CHECK 251 | state = SELECTED 252 | shadow = ETCHED_IN 253 | overlay_file = "assets/checkbox-mixed.png" 254 | overlay_stretch = FALSE 255 | } 256 | 257 | image { 258 | function = CHECK 259 | state = INSENSITIVE 260 | shadow = ETCHED_IN 261 | overlay_file = "assets/checkbox-mixed-disabled.png" 262 | overlay_stretch = FALSE 263 | } 264 | 265 | ################# 266 | # Radio Buttons # 267 | ################# 268 | 269 | image { 270 | function = OPTION 271 | state = NORMAL 272 | shadow = OUT 273 | overlay_file = "assets/radio-unchecked.png" 274 | overlay_stretch = FALSE 275 | } 276 | 277 | image { 278 | function = OPTION 279 | state = PRELIGHT 280 | shadow = OUT 281 | overlay_file = "assets/radio-unchecked-hover.png" 282 | overlay_stretch = FALSE 283 | } 284 | 285 | image { 286 | function = OPTION 287 | state = ACTIVE 288 | shadow = OUT 289 | overlay_file = "assets/radio-unchecked-active.png" 290 | overlay_stretch = FALSE 291 | } 292 | 293 | image { 294 | function = OPTION 295 | state = SELECTED 296 | shadow = OUT 297 | overlay_file = "assets/radio-unchecked.png" 298 | overlay_stretch = FALSE 299 | } 300 | 301 | image { 302 | function = OPTION 303 | state = INSENSITIVE 304 | shadow = OUT 305 | overlay_file = "assets/radio-unchecked-disabled.png" 306 | overlay_stretch = FALSE 307 | } 308 | 309 | image { 310 | function = OPTION 311 | state = NORMAL 312 | shadow = IN 313 | overlay_file = "assets/radio-checked.png" 314 | overlay_stretch = FALSE 315 | } 316 | 317 | image { 318 | function = OPTION 319 | state = PRELIGHT 320 | shadow = IN 321 | overlay_file = "assets/radio-checked-hover.png" 322 | overlay_stretch = FALSE 323 | } 324 | 325 | image { 326 | function = OPTION 327 | state = ACTIVE 328 | shadow = IN 329 | overlay_file = "assets/radio-checked-active.png" 330 | overlay_stretch = FALSE 331 | } 332 | 333 | image { 334 | function = OPTION 335 | state = SELECTED 336 | shadow = IN 337 | overlay_file = "assets/radio-checked.png" 338 | overlay_stretch = FALSE 339 | } 340 | 341 | image { 342 | function = OPTION 343 | state = INSENSITIVE 344 | shadow = IN 345 | overlay_file = "assets/radio-checked-disabled.png" 346 | overlay_stretch = FALSE 347 | } 348 | 349 | image { 350 | function = OPTION 351 | state = NORMAL 352 | shadow = ETCHED_IN 353 | overlay_file = "assets/radio-mixed.png" 354 | overlay_stretch = FALSE 355 | } 356 | 357 | image { 358 | function = OPTION 359 | state = PRELIGHT 360 | shadow = ETCHED_IN 361 | overlay_file = "assets/radio-mixed-hover.png" 362 | overlay_stretch = FALSE 363 | } 364 | 365 | image { 366 | function = OPTION 367 | state = ACTIVE 368 | shadow = ETCHED_IN 369 | overlay_file = "assets/radio-mixed-active.png" 370 | overlay_stretch = FALSE 371 | } 372 | 373 | image { 374 | function = OPTION 375 | state = SELECTED 376 | shadow = ETCHED_IN 377 | overlay_file = "assets/radio-mixed.png" 378 | overlay_stretch = FALSE 379 | } 380 | 381 | image { 382 | function = OPTION 383 | state = INSENSITIVE 384 | shadow = ETCHED_IN 385 | overlay_file = "assets/radio-mixed-disabled.png" 386 | overlay_stretch = FALSE 387 | } 388 | 389 | ########## 390 | # Arrows # 391 | ########## 392 | 393 | # Overrides 394 | 395 | # Disable arrows in spinbuttons 396 | image { 397 | function = ARROW 398 | detail = "spinbutton" 399 | } 400 | 401 | # Disable arrows for qt in scrollbars 402 | 403 | image { 404 | function = ARROW 405 | detail = "vscrollbar" 406 | } 407 | 408 | image { 409 | function = ARROW 410 | detail = "hscrollbar" 411 | } 412 | 413 | # Menu arrows 414 | 415 | image { 416 | function = ARROW 417 | state = NORMAL 418 | detail = "menuitem" 419 | overlay_file = "assets/pan-left.png" 420 | overlay_stretch = FALSE 421 | arrow_direction = LEFT 422 | } 423 | 424 | image { 425 | function = ARROW 426 | state = PRELIGHT 427 | detail = "menuitem" 428 | overlay_file = "assets/pan-left.png" 429 | overlay_stretch = FALSE 430 | arrow_direction = LEFT 431 | } 432 | 433 | image { 434 | function = ARROW 435 | state = INSENSITIVE 436 | detail = "menuitem" 437 | overlay_file = "assets/pan-left-disabled.png" 438 | overlay_stretch = FALSE 439 | arrow_direction = LEFT 440 | } 441 | 442 | image { 443 | function = ARROW 444 | state = NORMAL 445 | detail = "menuitem" 446 | overlay_file = "assets/pan-right.png" 447 | overlay_stretch = FALSE 448 | arrow_direction = RIGHT 449 | } 450 | 451 | image { 452 | function = ARROW 453 | state = PRELIGHT 454 | detail = "menuitem" 455 | overlay_file = "assets/pan-right.png" 456 | overlay_stretch = FALSE 457 | arrow_direction = RIGHT 458 | } 459 | 460 | image { 461 | function = ARROW 462 | state = INSENSITIVE 463 | detail = "menuitem" 464 | overlay_file = "assets/pan-right-disabled.png" 465 | overlay_stretch = FALSE 466 | arrow_direction = RIGHT 467 | } 468 | 469 | image { 470 | function = ARROW 471 | state = INSENSITIVE 472 | detail = "menu_scroll_arrow_up" 473 | overlay_file = "assets/pan-up-disabled.png" 474 | overlay_stretch = FALSE 475 | } 476 | 477 | image { 478 | function = ARROW 479 | detail = "menu_scroll_arrow_up" 480 | overlay_file = "assets/pan-up.png" 481 | overlay_stretch = FALSE 482 | } 483 | 484 | image { 485 | function = ARROW 486 | state = INSENSITIVE 487 | detail = "menu_scroll_arrow_down" 488 | overlay_file = "assets/pan-down-disabled.png" 489 | overlay_stretch = FALSE 490 | } 491 | 492 | image { 493 | function = ARROW 494 | detail = "menu_scroll_arrow_down" 495 | overlay_file = "assets/pan-down.png" 496 | overlay_stretch = FALSE 497 | } 498 | 499 | # Regular arrows 500 | 501 | image { 502 | function = ARROW 503 | state = NORMAL 504 | overlay_file = "assets/pan-up.png" 505 | overlay_stretch = FALSE 506 | arrow_direction = UP 507 | } 508 | 509 | image { 510 | function = ARROW 511 | state = PRELIGHT 512 | overlay_file = "assets/pan-up.png" 513 | overlay_stretch = FALSE 514 | arrow_direction = UP 515 | } 516 | 517 | image { 518 | function = ARROW 519 | state = ACTIVE 520 | overlay_file = "assets/pan-up.png" 521 | overlay_stretch = FALSE 522 | arrow_direction = UP 523 | } 524 | 525 | image { 526 | function = ARROW 527 | state = INSENSITIVE 528 | overlay_file = "assets/pan-up-disabled.png" 529 | overlay_stretch = FALSE 530 | arrow_direction = UP 531 | } 532 | 533 | image { 534 | function = ARROW 535 | state = NORMAL 536 | overlay_file = "assets/pan-down.png" 537 | overlay_stretch = FALSE 538 | arrow_direction = DOWN 539 | } 540 | 541 | image { 542 | function = ARROW 543 | state = PRELIGHT 544 | overlay_file = "assets/pan-down.png" 545 | overlay_stretch = FALSE 546 | arrow_direction = DOWN 547 | } 548 | 549 | image { 550 | function = ARROW 551 | state = ACTIVE 552 | overlay_file = "assets/pan-down.png" 553 | overlay_stretch = FALSE 554 | arrow_direction = DOWN 555 | } 556 | 557 | image { 558 | function = ARROW 559 | state = INSENSITIVE 560 | overlay_file = "assets/pan-down-disabled.png" 561 | overlay_stretch = FALSE 562 | arrow_direction = DOWN 563 | } 564 | 565 | image { 566 | function = ARROW 567 | state = NORMAL 568 | overlay_file = "assets/pan-left.png" 569 | overlay_stretch = FALSE 570 | arrow_direction = LEFT 571 | } 572 | 573 | image { 574 | function = ARROW 575 | state = PRELIGHT 576 | overlay_file = "assets/pan-left.png" 577 | overlay_stretch = FALSE 578 | arrow_direction = LEFT 579 | } 580 | 581 | image { 582 | function = ARROW 583 | state = ACTIVE 584 | overlay_file = "assets/pan-left.png" 585 | overlay_stretch = FALSE 586 | arrow_direction = LEFT 587 | } 588 | 589 | image { 590 | function = ARROW 591 | state = INSENSITIVE 592 | overlay_file = "assets/pan-left-disabled.png" 593 | overlay_stretch = FALSE 594 | arrow_direction = LEFT 595 | } 596 | 597 | image { 598 | function = ARROW 599 | state = NORMAL 600 | overlay_file = "assets/pan-right.png" 601 | overlay_stretch = FALSE 602 | arrow_direction = RIGHT 603 | } 604 | 605 | image { 606 | function = ARROW 607 | state = PRELIGHT 608 | overlay_file = "assets/pan-right.png" 609 | overlay_stretch = FALSE 610 | arrow_direction = RIGHT 611 | } 612 | 613 | image { 614 | function = ARROW 615 | state = ACTIVE 616 | overlay_file = "assets/pan-right.png" 617 | overlay_stretch = FALSE 618 | arrow_direction = RIGHT 619 | } 620 | 621 | image { 622 | function = ARROW 623 | state = INSENSITIVE 624 | overlay_file = "assets/pan-right-disabled.png" 625 | overlay_stretch = FALSE 626 | arrow_direction = RIGHT 627 | } 628 | 629 | ###################### 630 | # Option Menu Arrows # 631 | ###################### 632 | 633 | image { 634 | function = TAB 635 | state = NORMAL 636 | overlay_file = "assets/pan-down.png" 637 | overlay_stretch = FALSE 638 | } 639 | 640 | image { 641 | function = TAB 642 | state = PRELIGHT 643 | overlay_file = "assets/pan-down.png" 644 | overlay_stretch = FALSE 645 | } 646 | 647 | image { 648 | function = TAB 649 | state = ACTIVE 650 | overlay_file = "assets/pan-down.png" 651 | overlay_stretch = FALSE 652 | } 653 | 654 | image { 655 | function = TAB 656 | state = INSENSITIVE 657 | overlay_file = "assets/pan-down-disabled.png" 658 | overlay_stretch = FALSE 659 | } 660 | 661 | ######### 662 | # Lines # 663 | ######### 664 | 665 | image { 666 | function = VLINE 667 | file = "assets/border.png" 668 | border = {1, 0, 0, 0} 669 | } 670 | 671 | image { 672 | function = HLINE 673 | file = "assets/border.png" 674 | border = {0, 0, 1, 0} 675 | } 676 | 677 | ######### 678 | # Focus # 679 | ######### 680 | 681 | image { 682 | function = FOCUS 683 | file = "assets/focus.png" 684 | border = {5, 5, 5, 5} # Super strange, {4, 4, 4, 4} does not work properly... 685 | stretch = TRUE 686 | } 687 | 688 | ########### 689 | # Handles # 690 | ########### 691 | 692 | image { 693 | function = HANDLE 694 | detail = "handlebox" 695 | overlay_file = "assets/handle-vert.png" 696 | overlay_stretch = FALSE 697 | } 698 | 699 | image { 700 | function = HANDLE 701 | state = NORMAL 702 | overlay_file = "assets/handle-horz.png" 703 | overlay_stretch = FALSE 704 | orientation = HORIZONTAL 705 | } 706 | 707 | image { 708 | function = HANDLE 709 | state = PRELIGHT 710 | overlay_file = "assets/handle-horz-hover.png" 711 | overlay_stretch = FALSE 712 | orientation = HORIZONTAL 713 | } 714 | 715 | image { 716 | function = HANDLE 717 | state = ACTIVE 718 | overlay_file = "assets/handle-horz-active.png" 719 | overlay_stretch = FALSE 720 | orientation = HORIZONTAL 721 | } 722 | 723 | image { 724 | function = HANDLE 725 | state = NORMAL 726 | overlay_file = "assets/handle-vert.png" 727 | overlay_stretch = FALSE 728 | orientation = VERTICAL 729 | } 730 | 731 | image { 732 | function = HANDLE 733 | state = PRELIGHT 734 | overlay_file = "assets/handle-vert-hover.png" 735 | overlay_stretch = FALSE 736 | orientation = VERTICAL 737 | } 738 | 739 | image { 740 | function = HANDLE 741 | state = ACTIVE 742 | overlay_file = "assets/handle-vert-active.png" 743 | overlay_stretch = FALSE 744 | orientation = VERTICAL 745 | } 746 | 747 | image { 748 | function = RESIZE_GRIP 749 | } 750 | 751 | ############# 752 | # Expanders # 753 | ############# 754 | 755 | image { 756 | function = EXPANDER 757 | expander_style = EXPANDED 758 | state = NORMAL 759 | file = "assets/pan-down.png" 760 | } 761 | 762 | image { 763 | function = EXPANDER 764 | expander_style = EXPANDED 765 | state = PRELIGHT 766 | file = "assets/pan-down-alt.png" 767 | } 768 | 769 | image { 770 | function = EXPANDER 771 | expander_style = EXPANDED 772 | state = ACTIVE 773 | file = "assets/pan-down-alt.png" 774 | } 775 | 776 | image { 777 | function = EXPANDER 778 | expander_style = EXPANDED 779 | state = INSENSITIVE 780 | file = "assets/pan-down-disabled.png" 781 | } 782 | 783 | # LTR 784 | 785 | image { 786 | function = EXPANDER 787 | expander_style = COLLAPSED 788 | state = NORMAL 789 | file = "assets/pan-right.png" 790 | direction = LTR 791 | } 792 | 793 | image { 794 | function = EXPANDER 795 | expander_style = COLLAPSED 796 | state = PRELIGHT 797 | file = "assets/pan-right-alt.png" 798 | direction = LTR 799 | } 800 | 801 | image { 802 | function = EXPANDER 803 | expander_style = COLLAPSED 804 | state = ACTIVE 805 | file = "assets/pan-right-alt.png" 806 | direction = LTR 807 | } 808 | 809 | image { 810 | function = EXPANDER 811 | expander_style = COLLAPSED 812 | state = INSENSITIVE 813 | file = "assets/pan-right-disabled.png" 814 | direction = LTR 815 | } 816 | 817 | image { 818 | function = EXPANDER 819 | expander_style = SEMI_COLLAPSED 820 | file = "assets/pan-right-semi.png" 821 | direction = LTR 822 | } 823 | 824 | image { 825 | function = EXPANDER 826 | expander_style = SEMI_EXPANDED 827 | file = "assets/pan-right-semi.png" 828 | direction = LTR 829 | } 830 | 831 | # RTL 832 | 833 | image { 834 | function = EXPANDER 835 | expander_style = COLLAPSED 836 | state = NORMAL 837 | file = "assets/pan-left.png" 838 | direction = RTL 839 | } 840 | 841 | image { 842 | function = EXPANDER 843 | expander_style = COLLAPSED 844 | state = PRELIGHT 845 | file = "assets/pan-left-alt.png" 846 | direction = RTL 847 | } 848 | 849 | image { 850 | function = EXPANDER 851 | expander_style = COLLAPSED 852 | state = ACTIVE 853 | file = "assets/pan-left-alt.png" 854 | direction = RTL 855 | } 856 | 857 | image { 858 | function = EXPANDER 859 | expander_style = COLLAPSED 860 | state = INSENSITIVE 861 | file = "assets/pan-left-disabled.png" 862 | direction = RTL 863 | } 864 | 865 | image { 866 | function = EXPANDER 867 | expander_style = SEMI_COLLAPSED 868 | file = "assets/pan-left-semi.png" 869 | direction = RTL 870 | } 871 | 872 | image { 873 | function = EXPANDER 874 | expander_style = SEMI_EXPANDED 875 | file = "assets/pan-left-semi.png" 876 | direction = RTL 877 | } 878 | 879 | ############# 880 | # Notebooks # 881 | ############# 882 | 883 | # Left 884 | 885 | image { 886 | function = EXTENSION 887 | state = NORMAL 888 | file = "assets/tab.png" 889 | border = {0, 1, 0, 0} 890 | stretch = TRUE 891 | gap_side = RIGHT 892 | } 893 | 894 | image { 895 | function = EXTENSION 896 | gap_side = RIGHT 897 | } 898 | 899 | # Right 900 | 901 | image { 902 | function = EXTENSION 903 | state = NORMAL 904 | file = "assets/tab.png" 905 | border = {1, 0, 0, 0} 906 | stretch = TRUE 907 | gap_side = LEFT 908 | } 909 | 910 | image { 911 | function = EXTENSION 912 | gap_side = LEFT 913 | } 914 | 915 | # Up 916 | 917 | image { 918 | function = EXTENSION 919 | state = NORMAL 920 | file = "assets/tab.png" 921 | border = {0, 0, 0, 1} 922 | stretch = TRUE 923 | gap_side = BOTTOM 924 | } 925 | 926 | image { 927 | function = EXTENSION 928 | gap_side = BOTTOM 929 | } 930 | 931 | # Down 932 | 933 | image { 934 | function = EXTENSION 935 | state = NORMAL 936 | file = "assets/tab.png" 937 | border = {0, 0, 1, 0} 938 | stretch = TRUE 939 | gap_side = TOP 940 | } 941 | 942 | image { 943 | function = EXTENSION 944 | gap_side = TOP 945 | } 946 | 947 | # Inner frame 948 | 949 | image { 950 | function = BOX_GAP 951 | detail = "notebook" 952 | file = "assets/frame-notebook.png" 953 | border = {1, 1, 1, 1} 954 | stretch = TRUE 955 | gap_file = "assets/tab.png" 956 | gap_border = {1, 0, 0, 0} 957 | gap_side = LEFT 958 | } 959 | 960 | image { 961 | function = BOX_GAP 962 | detail = "notebook" 963 | file = "assets/frame-notebook.png" 964 | border = {1, 1, 1, 1} 965 | stretch = TRUE 966 | gap_file = "assets/tab.png" 967 | gap_border = {0, 1, 0, 0} 968 | gap_side = RIGHT 969 | } 970 | 971 | image { 972 | function = BOX_GAP 973 | detail = "notebook" 974 | file = "assets/frame-notebook.png" 975 | border = {1, 1, 1, 1} 976 | stretch = TRUE 977 | gap_file = "assets/tab.png" 978 | gap_border = {0, 0, 1, 0} 979 | gap_side = TOP 980 | } 981 | 982 | image { 983 | function = BOX_GAP 984 | detail = "notebook" 985 | file = "assets/frame-notebook.png" 986 | border = {1, 1, 1, 1} 987 | stretch = TRUE 988 | gap_file = "assets/tab.png" 989 | gap_border = {0, 0, 0, 1} 990 | gap_side = BOTTOM 991 | } 992 | 993 | # Standalone frame 994 | image { 995 | function = BOX 996 | detail = "notebook" 997 | file = "assets/frame-notebook.png" 998 | border = {1, 1, 1, 1} 999 | stretch = TRUE 1000 | } 1001 | 1002 | ############## 1003 | # Scrollbars # 1004 | ############## 1005 | 1006 | image { 1007 | function = BOX 1008 | detail = "trough" 1009 | file = "assets/scrollbar-horz-trough.png" 1010 | border = {0, 0, 1, 0} 1011 | orientation = HORIZONTAL 1012 | } 1013 | 1014 | image { 1015 | function = BOX 1016 | detail = "trough" 1017 | file = "assets/scrollbar-vert-ltr-trough.png" 1018 | border = {1, 0, 0, 0} 1019 | orientation = VERTICAL 1020 | direction = LTR 1021 | } 1022 | 1023 | image { 1024 | function = BOX 1025 | detail = "trough" 1026 | file = "assets/scrollbar-vert-rtl-trough.png" 1027 | border = {0, 1, 0, 0} 1028 | orientation = VERTICAL 1029 | direction = RTL 1030 | } 1031 | 1032 | # Horizontal sliders 1033 | 1034 | image { 1035 | function = SLIDER 1036 | state = NORMAL 1037 | detail = "slider" 1038 | file = "assets/scrollbar-horz-slider.png" 1039 | border = {8, 8, 9, 8 } 1040 | stretch = TRUE 1041 | orientation = HORIZONTAL 1042 | } 1043 | 1044 | image { 1045 | function = SLIDER 1046 | state = PRELIGHT 1047 | detail = "slider" 1048 | file = "assets/scrollbar-horz-slider-hover.png" 1049 | border = {8, 8, 9, 8 } 1050 | stretch = TRUE 1051 | orientation = HORIZONTAL 1052 | } 1053 | 1054 | image { 1055 | function = SLIDER 1056 | state = ACTIVE 1057 | detail = "slider" 1058 | file = "assets/scrollbar-horz-slider-active.png" 1059 | border = {8, 8, 9, 8 } 1060 | stretch = TRUE 1061 | orientation = HORIZONTAL 1062 | } 1063 | 1064 | image { 1065 | function = SLIDER 1066 | state = INSENSITIVE 1067 | detail = "slider" 1068 | file = "assets/scrollbar-horz-slider-disabled.png" 1069 | border = {8, 8, 9, 8 } 1070 | stretch = TRUE 1071 | orientation = HORIZONTAL 1072 | } 1073 | 1074 | # Vertical sliders 1075 | 1076 | image { 1077 | function = SLIDER 1078 | state = NORMAL 1079 | detail = "slider" 1080 | file = "assets/scrollbar-vert-ltr-slider.png" 1081 | border = {9, 8, 8, 8} 1082 | stretch = TRUE 1083 | orientation = VERTICAL 1084 | direction = LTR 1085 | } 1086 | 1087 | image { 1088 | function = SLIDER 1089 | state = PRELIGHT 1090 | detail = "slider" 1091 | file = "assets/scrollbar-vert-ltr-slider-hover.png" 1092 | border = {9, 8, 8, 8} 1093 | stretch = TRUE 1094 | orientation = VERTICAL 1095 | direction = LTR 1096 | } 1097 | 1098 | image { 1099 | function = SLIDER 1100 | state = ACTIVE 1101 | detail = "slider" 1102 | file = "assets/scrollbar-vert-ltr-slider-active.png" 1103 | border = {9, 8, 8, 8} 1104 | stretch = TRUE 1105 | orientation = VERTICAL 1106 | direction = LTR 1107 | } 1108 | 1109 | image { 1110 | function = SLIDER 1111 | state = INSENSITIVE 1112 | detail = "slider" 1113 | file = "assets/scrollbar-vert-ltr-slider-disabled.png" 1114 | border = {9, 8, 8, 8} 1115 | stretch = TRUE 1116 | orientation = VERTICAL 1117 | direction = LTR 1118 | } 1119 | 1120 | # RTL 1121 | 1122 | image { 1123 | function = SLIDER 1124 | state = NORMAL 1125 | detail = "slider" 1126 | file = "assets/scrollbar-vert-rtl-slider.png" 1127 | border = {8, 9, 8, 8} 1128 | stretch = TRUE 1129 | orientation = VERTICAL 1130 | direction = RTL 1131 | } 1132 | 1133 | image { 1134 | function = SLIDER 1135 | state = PRELIGHT 1136 | detail = "slider" 1137 | file = "assets/scrollbar-vert-rtl-slider-hover.png" 1138 | border = {8, 9, 8, 8} 1139 | stretch = TRUE 1140 | orientation = VERTICAL 1141 | direction = RTL 1142 | } 1143 | 1144 | image { 1145 | function = SLIDER 1146 | state = ACTIVE 1147 | detail = "slider" 1148 | file = "assets/scrollbar-vert-rtl-slider-active.png" 1149 | border = {8, 9, 8, 8} 1150 | stretch = TRUE 1151 | orientation = VERTICAL 1152 | direction = RTL 1153 | } 1154 | 1155 | image { 1156 | function = SLIDER 1157 | state = INSENSITIVE 1158 | detail = "slider" 1159 | file = "assets/scrollbar-vert-rtl-slider-disabled.png" 1160 | border = {8, 9, 8, 8} 1161 | stretch = TRUE 1162 | orientation = VERTICAL 1163 | direction = RTL 1164 | } 1165 | 1166 | ########## 1167 | # Scales # 1168 | ########## 1169 | 1170 | # Troughs, overrided later on. We set them here too because some widgets 1171 | # don't specify their orientation. 1172 | 1173 | image { 1174 | function = BOX 1175 | detail = "trough-upper" 1176 | file = "assets/scale-horz-trough.png" 1177 | border = {6, 6, 0, 0} 1178 | stretch = TRUE 1179 | orientation = HORIZONTAL 1180 | } 1181 | 1182 | image { 1183 | function = BOX 1184 | state = INSENSITIVE 1185 | detail = "trough-upper" 1186 | file = "assets/scale-horz-trough-disabled.png" 1187 | border = {6, 6, 0, 0} 1188 | stretch = TRUE 1189 | orientation = HORIZONTAL 1190 | } 1191 | 1192 | image { 1193 | function = BOX 1194 | detail = "trough-lower" 1195 | file = "assets/scale-horz-trough-active.png" 1196 | border = {6, 6, 0, 0} 1197 | stretch = TRUE 1198 | orientation = HORIZONTAL 1199 | } 1200 | 1201 | image { 1202 | function = BOX 1203 | state = INSENSITIVE 1204 | detail = "trough-lower" 1205 | file = "assets/scale-horz-trough-disabled.png" 1206 | border = {6, 6, 0, 0} 1207 | stretch = TRUE 1208 | orientation = HORIZONTAL 1209 | } 1210 | 1211 | image { 1212 | function = BOX 1213 | detail = "trough-upper" 1214 | file = "assets/scale-vert-trough.png" 1215 | border = {0, 0, 6, 6} 1216 | stretch = TRUE 1217 | orientation = VERTICAL 1218 | } 1219 | 1220 | image { 1221 | function = BOX 1222 | state = INSENSITIVE 1223 | detail = "trough-upper" 1224 | file = "assets/scale-vert-trough-disabled.png" 1225 | border = {0, 0, 6, 6} 1226 | stretch = TRUE 1227 | orientation = VERTICAL 1228 | } 1229 | 1230 | image { 1231 | function = BOX 1232 | detail = "trough-lower" 1233 | file = "assets/scale-vert-trough-active.png" 1234 | border = {0, 0, 6, 6} 1235 | stretch = TRUE 1236 | orientation = VERTICAL 1237 | } 1238 | 1239 | image { 1240 | function = BOX 1241 | state = INSENSITIVE 1242 | detail = "trough-lower" 1243 | file = "assets/scale-vert-trough-disabled.png" 1244 | border = {0, 0, 6, 6} 1245 | stretch = TRUE 1246 | orientation = VERTICAL 1247 | } 1248 | 1249 | # Sliders 1250 | 1251 | image { 1252 | function = SLIDER 1253 | state = NORMAL 1254 | detail = "hscale" 1255 | file = "assets/scale-slider.png" 1256 | } 1257 | 1258 | image { 1259 | function = SLIDER 1260 | state = PRELIGHT 1261 | detail = "hscale" 1262 | file = "assets/scale-slider-hover.png" 1263 | } 1264 | 1265 | image { 1266 | function = SLIDER 1267 | state = ACTIVE 1268 | detail = "hscale" 1269 | file = "assets/scale-slider-active.png" 1270 | } 1271 | 1272 | image { 1273 | function = SLIDER 1274 | state = INSENSITIVE 1275 | detail = "hscale" 1276 | file = "assets/scale-slider-disabled.png" 1277 | } 1278 | 1279 | image { 1280 | function = SLIDER 1281 | state = NORMAL 1282 | detail = "vscale" 1283 | file = "assets/scale-slider.png" 1284 | } 1285 | 1286 | image { 1287 | function = SLIDER 1288 | state = PRELIGHT 1289 | detail = "vscale" 1290 | file = "assets/scale-slider-hover.png" 1291 | } 1292 | 1293 | image { 1294 | function = SLIDER 1295 | state = ACTIVE 1296 | detail = "vscale" 1297 | file = "assets/scale-slider-active.png" 1298 | } 1299 | 1300 | image { 1301 | function = SLIDER 1302 | state = INSENSITIVE 1303 | detail = "vscale" 1304 | file = "assets/scale-slider-disabled.png" 1305 | } 1306 | 1307 | ########### 1308 | # Menubar # 1309 | ########### 1310 | 1311 | # image { 1312 | # function = BOX 1313 | # detail = "menubar" 1314 | # file = "assets/border.png" 1315 | # border = {0, 0, 0, 1} 1316 | # } 1317 | 1318 | ######### 1319 | # Menus # 1320 | ######### 1321 | 1322 | image { 1323 | function = BOX 1324 | state = PRELIGHT 1325 | detail = "menu_scroll_arrow_up" 1326 | file = "assets/border.png" 1327 | } 1328 | 1329 | image { 1330 | function = BOX 1331 | detail = "menu_scroll_arrow_up" 1332 | file = "assets/border.png" 1333 | border = {0, 0, 0, 1} 1334 | } 1335 | 1336 | image { 1337 | function = BOX 1338 | state = PRELIGHT 1339 | detail = "menu_scroll_arrow_down" 1340 | file = "assets/border.png" 1341 | } 1342 | 1343 | image { 1344 | function = BOX 1345 | detail = "menu_scroll_arrow_down" 1346 | file = "assets/border.png" 1347 | border = {0, 0, 1, 0} 1348 | } 1349 | 1350 | ########### 1351 | # Entries # 1352 | ########### 1353 | 1354 | image { 1355 | function = SHADOW 1356 | state = ACTIVE 1357 | detail = "entry" 1358 | file = "assets/entry-active.png" 1359 | border = {8, 8, 8, 8} 1360 | stretch = TRUE 1361 | } 1362 | 1363 | image { 1364 | function = SHADOW 1365 | state = INSENSITIVE 1366 | detail = "entry" 1367 | file = "assets/entry-disabled.png" 1368 | border = {8, 8, 8, 8} 1369 | stretch = TRUE 1370 | } 1371 | 1372 | image { 1373 | function = SHADOW 1374 | detail = "entry" 1375 | file = "assets/entry.png" 1376 | border = {8, 8, 8, 8} 1377 | stretch = TRUE 1378 | } 1379 | 1380 | image { 1381 | function = FLAT_BOX 1382 | state = ACTIVE 1383 | detail = "entry_bg" 1384 | file = "assets/entry-background.png" 1385 | } 1386 | 1387 | image { 1388 | function = FLAT_BOX 1389 | state = INSENSITIVE 1390 | detail = "entry_bg" 1391 | file = "assets/entry-background-disabled.png" 1392 | } 1393 | 1394 | image { 1395 | function = FLAT_BOX 1396 | detail = "entry_bg" 1397 | file = "assets/entry-background.png" 1398 | } 1399 | 1400 | ######### 1401 | # Spins # 1402 | ######### 1403 | 1404 | # Spin-Up LTR 1405 | 1406 | image { 1407 | function = BOX 1408 | state = NORMAL 1409 | detail = "spinbutton_up" 1410 | file = "assets/spin-ltr-up.png" 1411 | border = {0, 8, 8, 0} 1412 | stretch = TRUE 1413 | overlay_file = "assets/pan-up.png" 1414 | overlay_stretch = FALSE 1415 | direction = LTR 1416 | } 1417 | 1418 | image { 1419 | function = BOX 1420 | state = PRELIGHT 1421 | detail = "spinbutton_up" 1422 | file = "assets/spin-ltr-up-hover.png" 1423 | border = {0, 8, 8, 0} 1424 | stretch = TRUE 1425 | overlay_file = "assets/pan-up.png" 1426 | overlay_stretch = FALSE 1427 | direction = LTR 1428 | } 1429 | 1430 | image { 1431 | function = BOX 1432 | state = ACTIVE 1433 | detail = "spinbutton_up" 1434 | file = "assets/spin-ltr-up-active.png" 1435 | border = {0, 8, 8, 0} 1436 | stretch = TRUE 1437 | overlay_file = "assets/pan-up.png" 1438 | overlay_stretch = FALSE 1439 | direction = LTR 1440 | } 1441 | 1442 | image { 1443 | function = BOX 1444 | state = INSENSITIVE 1445 | detail = "spinbutton_up" 1446 | file = "assets/spin-ltr-up-disabled.png" 1447 | border = {0, 8, 8, 0} 1448 | stretch = TRUE 1449 | overlay_file = "assets/pan-up-disabled.png" 1450 | overlay_stretch = FALSE 1451 | direction = LTR 1452 | } 1453 | 1454 | # Spin-Up RTL 1455 | 1456 | image { 1457 | function = BOX 1458 | state = NORMAL 1459 | detail = "spinbutton_up" 1460 | file = "assets/spin-rtl-up.png" 1461 | border = {8, 0, 8, 0} 1462 | stretch = TRUE 1463 | overlay_file = "assets/pan-up.png" 1464 | overlay_stretch = FALSE 1465 | direction = RTL 1466 | } 1467 | 1468 | image { 1469 | function = BOX 1470 | state = PRELIGHT 1471 | detail = "spinbutton_up" 1472 | file = "assets/spin-rtl-up-hover.png" 1473 | border = {8, 0, 8, 0} 1474 | stretch = TRUE 1475 | overlay_file = "assets/pan-up.png" 1476 | overlay_stretch = FALSE 1477 | direction = RTL 1478 | } 1479 | 1480 | image { 1481 | function = BOX 1482 | state = ACTIVE 1483 | detail = "spinbutton_up" 1484 | file = "assets/spin-rtl-up-hover.png" 1485 | border = {8, 0, 8, 0} 1486 | stretch = TRUE 1487 | overlay_file = "assets/pan-up.png" 1488 | overlay_stretch = FALSE 1489 | direction = RTL 1490 | } 1491 | 1492 | image { 1493 | function = BOX 1494 | state = INSENSITIVE 1495 | detail = "spinbutton_up" 1496 | file = "assets/spin-rtl-up-disabled.png" 1497 | border = {8, 0, 8, 0} 1498 | stretch = TRUE 1499 | overlay_file = "assets/pan-up-disabled.png" 1500 | overlay_stretch = FALSE 1501 | direction = RTL 1502 | } 1503 | 1504 | # Spin-Down LTR 1505 | 1506 | image { 1507 | function = BOX 1508 | state = NORMAL 1509 | detail = "spinbutton_down" 1510 | file = "assets/spin-ltr-down.png" 1511 | border = {0, 8, 0, 8} 1512 | stretch = TRUE 1513 | overlay_file = "assets/pan-down.png" 1514 | overlay_stretch = FALSE 1515 | direction = LTR 1516 | } 1517 | 1518 | image { 1519 | function = BOX 1520 | state = PRELIGHT 1521 | detail = "spinbutton_down" 1522 | file = "assets/spin-ltr-down-hover.png" 1523 | border = {0, 8, 0, 8} 1524 | stretch = TRUE 1525 | overlay_file = "assets/pan-down.png" 1526 | overlay_stretch = FALSE 1527 | direction = LTR 1528 | } 1529 | 1530 | image { 1531 | function = BOX 1532 | state = ACTIVE 1533 | detail = "spinbutton_down" 1534 | file = "assets/spin-ltr-down-active.png" 1535 | border = {0, 8, 0, 8} 1536 | stretch = TRUE 1537 | overlay_file = "assets/pan-down.png" 1538 | overlay_stretch = FALSE 1539 | direction = LTR 1540 | } 1541 | 1542 | image { 1543 | function = BOX 1544 | state = INSENSITIVE 1545 | detail = "spinbutton_down" 1546 | file = "assets/spin-ltr-down-disabled.png" 1547 | border = {0, 8, 0, 8} 1548 | stretch = TRUE 1549 | overlay_file = "assets/pan-down-disabled.png" 1550 | overlay_stretch = FALSE 1551 | direction = LTR 1552 | } 1553 | 1554 | # Spin-Down RTL 1555 | 1556 | image { 1557 | function = BOX 1558 | state = NORMAL 1559 | detail = "spinbutton_down" 1560 | file = "assets/spin-rtl-down.png" 1561 | border = {8, 0, 0, 8} 1562 | stretch = TRUE 1563 | overlay_file = "assets/pan-down.png" 1564 | overlay_stretch = FALSE 1565 | direction = RTL 1566 | } 1567 | 1568 | image { 1569 | function = BOX 1570 | state = PRELIGHT 1571 | detail = "spinbutton_down" 1572 | file = "assets/spin-rtl-down-hover.png" 1573 | border = {8, 0, 0, 8} 1574 | stretch = TRUE 1575 | overlay_file = "assets/pan-down.png" 1576 | overlay_stretch = FALSE 1577 | direction = RTL 1578 | } 1579 | 1580 | image { 1581 | function = BOX 1582 | state = ACTIVE 1583 | detail = "spinbutton_down" 1584 | file = "assets/spin-rtl-down-active.png" 1585 | border = {8, 0, 0, 8} 1586 | stretch = TRUE 1587 | overlay_file = "assets/pan-down.png" 1588 | overlay_stretch = FALSE 1589 | direction = RTL 1590 | } 1591 | 1592 | image { 1593 | function = BOX 1594 | state = INSENSITIVE 1595 | detail = "spinbutton_down" 1596 | file = "assets/spin-rtl-down-disabled.png" 1597 | border = {8, 0, 0, 8} 1598 | stretch = TRUE 1599 | overlay_file = "assets/pan-down-disabled.png" 1600 | overlay_stretch = FALSE 1601 | direction = RTL 1602 | } 1603 | 1604 | ############## 1605 | # Scrollbars # 1606 | ############## 1607 | 1608 | image { 1609 | function = BOX 1610 | detail = "bar" 1611 | file = "assets/progressbar-progress.png" 1612 | stretch = TRUE 1613 | border = {0, 0, 0, 0} 1614 | orientation = HORIZONTAL 1615 | } 1616 | 1617 | image { 1618 | function = BOX 1619 | detail = "bar" 1620 | file = "assets/progressbar-progress.png" 1621 | stretch = TRUE 1622 | border = {0, 0, 0, 0} 1623 | orientation = VERTICAL 1624 | } 1625 | 1626 | ############# 1627 | # Treeviews # 1628 | ############# 1629 | 1630 | # Disable active the column highlight 1631 | # We need to match specific cells or we break stuff 1632 | # Looking at you deadbeef 1633 | 1634 | image { 1635 | function = FLAT_BOX 1636 | detail = "cell_even_sorted" 1637 | state = NORMAL 1638 | } 1639 | 1640 | image { 1641 | function = FLAT_BOX 1642 | detail = "cell_odd_sorted" 1643 | state = NORMAL 1644 | } 1645 | 1646 | # Disable all the other shadows 1647 | # This prevents the Raleigh effect 1648 | image { 1649 | function = SHADOW 1650 | } 1651 | } 1652 | } 1653 | 1654 | style "menubar" { 1655 | bg[NORMAL] = @titlebar_bg_color 1656 | fg[NORMAL] = mix(0.7, @titlebar_fg_color, @titlebar_bg_color) 1657 | fg[PRELIGHT] = @titlebar_fg_color 1658 | fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color) 1659 | # Needed to fix Firefox's menubar text 1660 | bg[SELECTED] = mix(0.12, @titlebar_fg_color, @titlebar_bg_color) 1661 | fg[SELECTED] = @titlebar_fg_color 1662 | } 1663 | 1664 | style "menubar_item" { 1665 | xthickness = 3 1666 | ythickness = 4 1667 | 1668 | fg[NORMAL] = mix(0.7, @titlebar_fg_color, @titlebar_bg_color) 1669 | bg[PRELIGHT] = mix(0.12, @titlebar_fg_color, @titlebar_bg_color) 1670 | fg[PRELIGHT] = @titlebar_fg_color 1671 | fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color) 1672 | } 1673 | 1674 | style "menu" { 1675 | xthickness = 0 1676 | ythickness = 0 1677 | 1678 | bg[NORMAL] = @menu_color 1679 | bg[INSENSITIVE] = @menu_color 1680 | bg[PRELIGHT] = @menu_color 1681 | bg[SELECTED] = mix(0.08, @fg_color, @menu_color) 1682 | } 1683 | 1684 | style "menu_item" { 1685 | xthickness = 4 1686 | ythickness = 4 1687 | 1688 | bg[PRELIGHT] = mix(0.08, @fg_color, @menu_color) 1689 | fg[PRELIGHT] = @fg_color 1690 | # Chromium uses this setting 1691 | bg[SELECTED] = mix(0.08, @fg_color, @menu_color) 1692 | text[SELECTED] = @fg_color 1693 | # Some widgets use text, we need to handle that 1694 | text[NORMAL] = @fg_color 1695 | text[PRELIGHT] = @fg_color 1696 | 1697 | # Unfortunately we can't tell regular and menu checks/radios apart 1698 | # Without the heirarchy 1699 | engine "pixmap" { 1700 | 1701 | ################# 1702 | # Check Buttons # 1703 | ################# 1704 | 1705 | image { 1706 | function = CHECK 1707 | state = NORMAL 1708 | shadow = OUT 1709 | overlay_file = "assets/menu-checkbox-unchecked.png" 1710 | overlay_stretch = FALSE 1711 | } 1712 | 1713 | image { 1714 | function = CHECK 1715 | state = PRELIGHT 1716 | shadow = OUT 1717 | overlay_file = "assets/menu-checkbox-unchecked.png" 1718 | overlay_stretch = FALSE 1719 | } 1720 | 1721 | image { 1722 | function = CHECK 1723 | state = ACTIVE 1724 | shadow = OUT 1725 | overlay_file = "assets/menu-checkbox-unchecked.png" 1726 | overlay_stretch = FALSE 1727 | } 1728 | 1729 | image { 1730 | function = CHECK 1731 | state = INSENSITIVE 1732 | shadow = OUT 1733 | overlay_file = "assets/menu-checkbox-unchecked-disabled.png" 1734 | overlay_stretch = FALSE 1735 | } 1736 | 1737 | image { 1738 | function = CHECK 1739 | state = NORMAL 1740 | shadow = IN 1741 | overlay_file = "assets/menu-checkbox-checked.png" 1742 | overlay_stretch = FALSE 1743 | } 1744 | 1745 | image { 1746 | function = CHECK 1747 | state = PRELIGHT 1748 | shadow = IN 1749 | overlay_file = "assets/menu-checkbox-checked.png" 1750 | overlay_stretch = FALSE 1751 | } 1752 | 1753 | image { 1754 | function = CHECK 1755 | state = ACTIVE 1756 | shadow = IN 1757 | overlay_file = "assets/menu-checkbox-checked.png" 1758 | overlay_stretch = FALSE 1759 | } 1760 | 1761 | image { 1762 | function = CHECK 1763 | state = INSENSITIVE 1764 | shadow = IN 1765 | overlay_file = "assets/menu-checkbox-checked-disabled.png" 1766 | overlay_stretch = FALSE 1767 | } 1768 | 1769 | image { 1770 | function = CHECK 1771 | state = NORMAL 1772 | shadow = ETCHED_IN 1773 | overlay_file = "assets/menu-checkbox-mixed.png" 1774 | overlay_stretch = FALSE 1775 | } 1776 | 1777 | image { 1778 | function = CHECK 1779 | state = PRELIGHT 1780 | shadow = ETCHED_IN 1781 | overlay_file = "assets/menu-checkbox-mixed.png" 1782 | overlay_stretch = FALSE 1783 | } 1784 | 1785 | image { 1786 | function = CHECK 1787 | state = ACTIVE 1788 | shadow = ETCHED_IN 1789 | overlay_file = "assets/menu-checkbox-mixed.png" 1790 | overlay_stretch = FALSE 1791 | } 1792 | 1793 | image { 1794 | function = CHECK 1795 | state = INSENSITIVE 1796 | shadow = ETCHED_IN 1797 | overlay_file = "assets/menu-checkbox-mixed-disabled.png" 1798 | overlay_stretch = FALSE 1799 | } 1800 | 1801 | ################# 1802 | # Radio Buttons # 1803 | ################# 1804 | 1805 | image { 1806 | function = OPTION 1807 | state = NORMAL 1808 | shadow = OUT 1809 | overlay_file = "assets/menu-radio-unchecked.png" 1810 | overlay_stretch = FALSE 1811 | } 1812 | 1813 | image { 1814 | function = OPTION 1815 | state = PRELIGHT 1816 | shadow = OUT 1817 | overlay_file = "assets/menu-radio-unchecked.png" 1818 | overlay_stretch = FALSE 1819 | } 1820 | 1821 | image { 1822 | function = OPTION 1823 | state = ACTIVE 1824 | shadow = OUT 1825 | overlay_file = "assets/menu-radio-unchecked.png" 1826 | overlay_stretch = FALSE 1827 | } 1828 | 1829 | image { 1830 | function = OPTION 1831 | state = INSENSITIVE 1832 | shadow = OUT 1833 | overlay_file = "assets/menu-radio-unchecked-disabled.png" 1834 | overlay_stretch = FALSE 1835 | } 1836 | 1837 | image { 1838 | function = OPTION 1839 | state = NORMAL 1840 | shadow = IN 1841 | overlay_file = "assets/menu-radio-checked.png" 1842 | overlay_stretch = FALSE 1843 | } 1844 | 1845 | image { 1846 | function = OPTION 1847 | state = PRELIGHT 1848 | shadow = IN 1849 | overlay_file = "assets/menu-radio-checked.png" 1850 | overlay_stretch = FALSE 1851 | } 1852 | 1853 | image { 1854 | function = OPTION 1855 | state = ACTIVE 1856 | shadow = IN 1857 | overlay_file = "assets/menu-radio-checked.png" 1858 | overlay_stretch = FALSE 1859 | } 1860 | 1861 | image { 1862 | function = OPTION 1863 | state = INSENSITIVE 1864 | shadow = IN 1865 | overlay_file = "assets/menu-radio-checked-disabled.png" 1866 | overlay_stretch = FALSE 1867 | } 1868 | 1869 | image { 1870 | function = OPTION 1871 | state = NORMAL 1872 | shadow = ETCHED_IN 1873 | overlay_file = "assets/menu-radio-mixed.png" 1874 | overlay_stretch = FALSE 1875 | } 1876 | 1877 | image { 1878 | function = OPTION 1879 | state = PRELIGHT 1880 | shadow = ETCHED_IN 1881 | overlay_file = "assets/menu-radio-mixed.png" 1882 | overlay_stretch = FALSE 1883 | } 1884 | 1885 | image { 1886 | function = OPTION 1887 | state = ACTIVE 1888 | shadow = ETCHED_IN 1889 | overlay_file = "assets/menu-radio-mixed.png" 1890 | overlay_stretch = FALSE 1891 | } 1892 | 1893 | image { 1894 | function = OPTION 1895 | state = INSENSITIVE 1896 | shadow = ETCHED_IN 1897 | overlay_file = "assets/menu-radio-mixed-disabled.png" 1898 | overlay_stretch = FALSE 1899 | } 1900 | } 1901 | } 1902 | 1903 | style "separator_menu_item" { 1904 | xthickness = 0 1905 | ythickness = 2 1906 | 1907 | engine "pixmap" { 1908 | image { 1909 | function = BOX 1910 | file = "assets/border.png" 1911 | border = {0, 0, 0, 1} 1912 | } 1913 | } 1914 | } 1915 | 1916 | style "button_label" { 1917 | # fg[NORMAL] = mix(0.7, @fg_color, @bg_color) 1918 | # fg[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 1919 | 1920 | font_name = "Medium" 1921 | } 1922 | 1923 | style "normal_button_label" { 1924 | # fg[NORMAL] = @fg_color 1925 | # fg[INSENSITIVE] = mix(0.5, @fg_color, @bg_color) 1926 | 1927 | font_name = "Regular" 1928 | } 1929 | 1930 | style "button" { 1931 | xthickness = 4 1932 | ythickness = 4 1933 | 1934 | # For the sake of sanity style buttons this way 1935 | engine "pixmap" { 1936 | 1937 | ########### 1938 | # Buttons # 1939 | ########### 1940 | 1941 | image { 1942 | function = BOX 1943 | state = NORMAL 1944 | file = "assets/button.png" 1945 | border = {8, 8, 8, 8} 1946 | stretch = TRUE 1947 | } 1948 | 1949 | image { 1950 | function = BOX 1951 | state = PRELIGHT 1952 | shadow = OUT 1953 | file = "assets/button-hover.png" 1954 | border = {8, 8, 8, 8} 1955 | stretch = TRUE 1956 | } 1957 | 1958 | # Don't add hover effect on pressed buttons 1959 | image { 1960 | function = BOX 1961 | state = PRELIGHT 1962 | shadow = IN 1963 | file = "assets/button-active.png" 1964 | border = {8, 8, 8, 8} 1965 | stretch = TRUE 1966 | } 1967 | 1968 | image { 1969 | function = BOX 1970 | state = ACTIVE 1971 | file = "assets/button-active.png" 1972 | border = {8, 8, 8, 8} 1973 | stretch = TRUE 1974 | } 1975 | 1976 | image { 1977 | function = BOX 1978 | state = INSENSITIVE 1979 | file = "assets/button-disabled.png" 1980 | border = {8, 8, 8, 8} 1981 | stretch = TRUE 1982 | } 1983 | } 1984 | } 1985 | 1986 | style "link_button" { 1987 | # Disable the button effect, leave just the link 1988 | engine "pixmap" { 1989 | image { 1990 | function = BOX 1991 | } 1992 | } 1993 | } 1994 | 1995 | style "entry" { 1996 | base[NORMAL] = @bg_color 1997 | base[SELECTED] = mix (0.24, @selected_bg_color, @bg_color) 1998 | base[INSENSITIVE] = @bg_color 1999 | base[ACTIVE] = mix (0.24, @selected_bg_color, @bg_color) 2000 | 2001 | # We set this same as the border of the border of the entry 2002 | # This way there's no overlap 2003 | xthickness = 6 2004 | ythickness = 6 2005 | } 2006 | 2007 | style "combobox" { 2008 | xthickness = 6 2009 | ythickness = 6 2010 | 2011 | # This affects only the button beside an entry 2012 | GtkButton::inner-border = {0, 0, 0, 0} 2013 | 2014 | # For the sake of sanity style buttons this way 2015 | engine "pixmap" { 2016 | 2017 | ########### 2018 | # Buttons # 2019 | ########### 2020 | 2021 | image { 2022 | function = BOX 2023 | state = NORMAL 2024 | file = "assets/entry.png" 2025 | border = {8, 8, 8, 8} 2026 | stretch = TRUE 2027 | } 2028 | 2029 | image { 2030 | function = BOX 2031 | state = PRELIGHT 2032 | file = "assets/entry-hover.png" 2033 | border = {8, 8, 8, 8} 2034 | stretch = TRUE 2035 | } 2036 | 2037 | image { 2038 | function = BOX 2039 | state = ACTIVE 2040 | file = "assets/entry-active.png" 2041 | border = {8, 8, 8, 8} 2042 | stretch = TRUE 2043 | } 2044 | 2045 | image { 2046 | function = BOX 2047 | state = INSENSITIVE 2048 | file = "assets/entry-disabled.png" 2049 | border = {8, 8, 8, 8} 2050 | stretch = TRUE 2051 | } 2052 | } 2053 | } 2054 | 2055 | style "combobox_cellview" { 2056 | # text[NORMAL] = mix(0.7, @fg_color, @bg_color) 2057 | # text[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 2058 | } 2059 | 2060 | style "combobox_entry" { 2061 | # Since one side of the button is missing, we need to shift the arrow a little to the right 2062 | GtkButton::inner-border = {0, 2, 0, 0} 2063 | 2064 | engine "pixmap" { 2065 | 2066 | ############# 2067 | # LTR entry # 2068 | ############# 2069 | 2070 | image { 2071 | function = SHADOW 2072 | state = NORMAL 2073 | detail = "entry" 2074 | file = "assets/combo-left-entry.png" 2075 | border = {8, 8, 8, 8} 2076 | stretch = TRUE 2077 | direction = LTR 2078 | } 2079 | 2080 | image { 2081 | function = SHADOW 2082 | state = ACTIVE 2083 | detail = "entry" 2084 | file = "assets/combo-left-entry-active.png" 2085 | border = {8, 8, 8, 8} 2086 | stretch = TRUE 2087 | direction = LTR 2088 | } 2089 | 2090 | image { 2091 | function = SHADOW 2092 | state = INSENSITIVE 2093 | detail = "entry" 2094 | file = "assets/combo-left-entry-disabled.png" 2095 | border = {8, 8, 8, 8} 2096 | stretch = TRUE 2097 | direction = LTR 2098 | } 2099 | 2100 | ############# 2101 | # RTL entry # 2102 | ############# 2103 | 2104 | image { 2105 | function = SHADOW 2106 | state = NORMAL 2107 | detail = "entry" 2108 | file = "assets/combo-right-entry.png" 2109 | border = {8, 8, 8, 8} 2110 | stretch = TRUE 2111 | direction = RTL 2112 | } 2113 | 2114 | image { 2115 | function = SHADOW 2116 | state = ACTIVE 2117 | detail = "entry" 2118 | file = "assets/combo-right-entry-active.png" 2119 | border = {8, 8, 8, 8} 2120 | stretch = TRUE 2121 | direction = RTL 2122 | } 2123 | 2124 | image { 2125 | function = SHADOW 2126 | state = INSENSITIVE 2127 | detail = "entry" 2128 | file = "assets/combo-right-entry-disabled.png" 2129 | border = {8, 8, 8, 8} 2130 | stretch = TRUE 2131 | direction = RTL 2132 | } 2133 | 2134 | ############## 2135 | # LTR button # 2136 | ############## 2137 | 2138 | image { 2139 | function = BOX 2140 | state = NORMAL 2141 | detail = "button" 2142 | file = "assets/combo-right-entry.png" 2143 | border = {0, 8, 8, 8} 2144 | stretch = TRUE 2145 | direction = LTR 2146 | } 2147 | 2148 | image { 2149 | function = BOX 2150 | state = PRELIGHT 2151 | detail = "button" 2152 | file = "assets/combo-right-entry-hover.png" 2153 | border = {0, 8, 8, 8} 2154 | stretch = TRUE 2155 | direction = LTR 2156 | } 2157 | 2158 | image { 2159 | function = BOX 2160 | state = ACTIVE 2161 | detail = "button" 2162 | file = "assets/combo-right-entry-active.png" 2163 | border = {0, 8, 8, 8} 2164 | stretch = TRUE 2165 | direction = LTR 2166 | } 2167 | 2168 | image { 2169 | function = BOX 2170 | state = INSENSITIVE 2171 | detail = "button" 2172 | file = "assets/combo-right-entry-disabled.png" 2173 | border = {0, 8, 8, 8} 2174 | stretch = TRUE 2175 | direction = LTR 2176 | } 2177 | 2178 | ############## 2179 | # RTL button # 2180 | ############## 2181 | 2182 | image { 2183 | function = BOX 2184 | state = NORMAL 2185 | detail = "button" 2186 | file = "assets/combo-left-entry.png" 2187 | border = {8, 0, 8, 8} 2188 | stretch = TRUE 2189 | direction = RTL 2190 | } 2191 | 2192 | image { 2193 | function = BOX 2194 | state = PRELIGHT 2195 | detail = "button" 2196 | file = "assets/combo-left-entry-hover.png" 2197 | border = {8, 0, 8, 8} 2198 | stretch = TRUE 2199 | direction = RTL 2200 | } 2201 | 2202 | image { 2203 | function = BOX 2204 | state = ACTIVE 2205 | detail = "button" 2206 | file = "assets/combo-left-entry-active.png" 2207 | border = {8, 0, 8, 8} 2208 | stretch = TRUE 2209 | direction = RTL 2210 | } 2211 | 2212 | image { 2213 | function = BOX 2214 | state = INSENSITIVE 2215 | detail = "button" 2216 | file = "assets/combo-left-entry-disabled.png" 2217 | border = {8, 0, 8, 8} 2218 | stretch = TRUE 2219 | direction = RTL 2220 | } 2221 | } 2222 | } 2223 | 2224 | style "combo_button_padding" { 2225 | # Since one side of the button is missing, we need to shift the arrow a 2226 | # little to the right. 2227 | # This is the same thing we've done above but the combo, unlike the combobox, 2228 | # uses padding the same way as a button. 2229 | GtkButton::inner-border = {3, 6, 3, 3} 2230 | } 2231 | 2232 | style "notebook" { 2233 | xthickness = 3 2234 | ythickness = 3 2235 | } 2236 | 2237 | style "notebook_tab_label" { 2238 | fg[ACTIVE] = mix(0.7, @fg_color, @bg_color) 2239 | 2240 | font_name = "Medium" 2241 | } 2242 | 2243 | style "notebook_viewport" { 2244 | bg[NORMAL] = @base_color 2245 | } 2246 | 2247 | style "notebook_bg" { 2248 | bg[NORMAL] = @base_color 2249 | bg[PRELIGHT] = @base_color 2250 | bg[INSENSITIVE] = @base_color 2251 | } 2252 | 2253 | style "notebook_entry" { 2254 | base[NORMAL] = @base_color 2255 | base[SELECTED] = mix (0.24, @selected_bg_color, @base_color) 2256 | base[INSENSITIVE] = @base_color 2257 | base[ACTIVE] = mix (0.24, @selected_bg_color, @base_color) 2258 | } 2259 | 2260 | style "normal_bg" { 2261 | bg[NORMAL] = @bg_color 2262 | bg[PRELIGHT] = @bg_color 2263 | bg[INSENSITIVE] = @bg_color 2264 | } 2265 | 2266 | style "normal_entry" { 2267 | base[NORMAL] = @bg_color 2268 | base[SELECTED] = mix (0.24, @selected_bg_color, @bg_color) 2269 | base[INSENSITIVE] = @bg_color 2270 | base[ACTIVE] = mix (0.24, @selected_bg_color, @bg_color) 2271 | } 2272 | 2273 | style "textview" { 2274 | bg[NORMAL] = @base_color 2275 | } 2276 | 2277 | style "scale_horz" { 2278 | engine "pixmap" { 2279 | image { 2280 | function = BOX 2281 | detail = "trough-upper" 2282 | file = "assets/scale-horz-trough.png" 2283 | border = {6, 6, 0, 0} 2284 | stretch = TRUE 2285 | } 2286 | 2287 | image { 2288 | function = BOX 2289 | detail = "trough-lower" 2290 | file = "assets/scale-horz-trough-active.png" 2291 | border = {6, 6, 0, 0} 2292 | stretch = TRUE 2293 | } 2294 | } 2295 | } 2296 | 2297 | style "scale_vert" { 2298 | engine "pixmap" { 2299 | image { 2300 | function = BOX 2301 | detail = "trough-upper" 2302 | file = "assets/scale-vert-trough.png" 2303 | border = {0, 0, 6, 6} 2304 | stretch = TRUE 2305 | } 2306 | 2307 | image { 2308 | function = BOX 2309 | detail = "trough-lower" 2310 | file = "assets/scale-vert-trough-active.png" 2311 | border = {0, 0, 6, 6} 2312 | stretch = TRUE 2313 | } 2314 | } 2315 | } 2316 | 2317 | style "progressbar" { 2318 | xthickness = 0 2319 | ythickness = 0 2320 | 2321 | fg[PRELIGHT] = @selected_fg_color 2322 | 2323 | engine "pixmap" { 2324 | image { 2325 | function = BOX 2326 | detail = "trough" 2327 | file = "assets/progressbar-trough.png" 2328 | border = {0, 0, 0, 0} 2329 | stretch = TRUE 2330 | orientation = HORIZONTAL 2331 | } 2332 | 2333 | image { 2334 | function = BOX 2335 | detail = "trough" 2336 | file = "assets/progressbar-trough.png" 2337 | border = {0, 0, 0, 0} 2338 | stretch = TRUE 2339 | orientation = VERTICAL 2340 | } 2341 | } 2342 | } 2343 | 2344 | style "treeview_header" { 2345 | xthickness = 2 2346 | ythickness = 2 2347 | 2348 | fg[NORMAL] = mix(0.7, @fg_color, @base_color) 2349 | fg[PRELIGHT] = mix(0.7, @fg_color, @base_color) 2350 | fg[ACTIVE] = mix(0.7, @fg_color, @base_color) 2351 | 2352 | font_name = "Medium" 2353 | 2354 | GtkButton::inner-border = {4, 4, 0, 2} 2355 | 2356 | engine "pixmap" { 2357 | image { 2358 | function = BOX 2359 | state = NORMAL 2360 | file = "assets/treeview-ltr-button.png" 2361 | border = {0, 1, 0, 1} 2362 | stretch = TRUE 2363 | direction = LTR 2364 | } 2365 | 2366 | image { 2367 | function = BOX 2368 | state = PRELIGHT 2369 | file = "assets/treeview-ltr-button-hover.png" 2370 | border = {0, 1, 0, 1} 2371 | stretch = TRUE 2372 | direction = LTR 2373 | } 2374 | 2375 | image { 2376 | function = BOX 2377 | state = ACTIVE 2378 | file = "assets/treeview-ltr-button-active.png" 2379 | border = {0, 1, 0, 1} 2380 | stretch = TRUE 2381 | direction = LTR 2382 | } 2383 | 2384 | image { 2385 | function = BOX 2386 | state = NORMAL 2387 | file = "assets/treeview-rtl-button.png" 2388 | border = {1, 0, 0, 1} 2389 | stretch = TRUE 2390 | direction = RTL 2391 | } 2392 | 2393 | image { 2394 | function = BOX 2395 | state = PRELIGHT 2396 | file = "assets/treeview-rtl-button-hover.png" 2397 | border = {1, 0, 0, 1} 2398 | stretch = TRUE 2399 | direction = RTL 2400 | } 2401 | 2402 | image { 2403 | function = BOX 2404 | state = ACTIVE 2405 | file = "assets/treeview-rtl-button-active.png" 2406 | border = {1, 0, 0, 1} 2407 | stretch = TRUE 2408 | direction = RTL 2409 | } 2410 | 2411 | image { 2412 | function = ARROW 2413 | state = NORMAL 2414 | overlay_file = "assets/pan-up.png" 2415 | overlay_stretch = FALSE 2416 | arrow_direction = UP 2417 | } 2418 | 2419 | image { 2420 | function = ARROW 2421 | state = PRELIGHT 2422 | overlay_file = "assets/pan-up.png" 2423 | overlay_stretch = FALSE 2424 | arrow_direction = UP 2425 | } 2426 | 2427 | image { 2428 | function = ARROW 2429 | state = ACTIVE 2430 | overlay_file = "assets/pan-up.png" 2431 | overlay_stretch = FALSE 2432 | arrow_direction = UP 2433 | } 2434 | 2435 | image { 2436 | function = ARROW 2437 | state = NORMAL 2438 | overlay_file = "assets/pan-down.png" 2439 | overlay_stretch = FALSE 2440 | arrow_direction = DOWN 2441 | } 2442 | 2443 | image { 2444 | function = ARROW 2445 | state = PRELIGHT 2446 | overlay_file = "assets/pan-down.png" 2447 | overlay_stretch = FALSE 2448 | arrow_direction = DOWN 2449 | } 2450 | 2451 | image { 2452 | function = ARROW 2453 | state = ACTIVE 2454 | overlay_file = "assets/pan-down.png" 2455 | overlay_stretch = FALSE 2456 | arrow_direction = DOWN 2457 | } 2458 | } 2459 | } 2460 | 2461 | style "scrolled_window" { 2462 | engine "pixmap" { 2463 | image { 2464 | function = SHADOW 2465 | file = "assets/frame.png" 2466 | border = {1, 1, 1, 1} 2467 | stretch = TRUE 2468 | } 2469 | } 2470 | } 2471 | 2472 | style "frame" { 2473 | engine "pixmap" { 2474 | image { 2475 | function = SHADOW 2476 | shadow = NONE 2477 | } 2478 | 2479 | image { 2480 | function = SHADOW 2481 | file = "assets/frame.png" 2482 | border = {1, 1, 1, 1} 2483 | stretch = TRUE 2484 | } 2485 | 2486 | image { 2487 | function = SHADOW_GAP 2488 | file = "assets/frame.png" 2489 | border = {1, 1, 1, 1} 2490 | stretch = TRUE 2491 | gap_start_file = "assets/border.png" 2492 | gap_end_file = "assets/border.png" 2493 | } 2494 | } 2495 | } 2496 | 2497 | style "tool_button" { 2498 | GtkButton::inner-border = {2, 2, 2, 2} 2499 | 2500 | # For the sake of sanity style buttons this way 2501 | engine "pixmap" { 2502 | image { 2503 | function = BOX 2504 | state = NORMAL 2505 | file = "assets/flat-button.png" 2506 | border = {8, 8, 8, 8} 2507 | stretch = TRUE 2508 | } 2509 | 2510 | image { 2511 | function = BOX 2512 | state = PRELIGHT 2513 | shadow = OUT 2514 | file = "assets/flat-button-hover.png" 2515 | border = {8, 8, 8, 8} 2516 | stretch = TRUE 2517 | } 2518 | 2519 | # Don't add hover effect on pressed buttons 2520 | image { 2521 | function = BOX 2522 | state = PRELIGHT 2523 | shadow = IN 2524 | file = "assets/flat-button-active.png" 2525 | border = {8, 8, 8, 8} 2526 | stretch = TRUE 2527 | } 2528 | 2529 | image { 2530 | function = BOX 2531 | state = ACTIVE 2532 | file = "assets/flat-button-active.png" 2533 | border = {8, 8, 8, 8} 2534 | stretch = TRUE 2535 | } 2536 | 2537 | image { 2538 | function = BOX 2539 | state = INSENSITIVE 2540 | shadow = OUT 2541 | file = "assets/flat-button-disabled.png" 2542 | border = {8, 8, 8, 8} 2543 | stretch = TRUE 2544 | } 2545 | 2546 | image { 2547 | function = BOX 2548 | state = INSENSITIVE 2549 | shadow = IN 2550 | file = "assets/button-disabled.png" 2551 | border = {8, 8, 8, 8} 2552 | stretch = TRUE 2553 | } 2554 | } 2555 | } 2556 | 2557 | style "toolbar_separator" { 2558 | GtkWidget::wide-separators = 1 2559 | GtkWidget::separator-width = 1 2560 | GtkWidget::separator-height = 1 2561 | 2562 | engine "pixmap" { 2563 | image { 2564 | function = BOX 2565 | file = "assets/border.png" 2566 | } 2567 | } 2568 | } 2569 | 2570 | style "inline_toolbar" { 2571 | # GtkToolbar::button-relief = GTK_RELIEF_NORMAL 2572 | 2573 | engine "pixmap" { 2574 | image { 2575 | function = BOX 2576 | file = "assets/frame-inline.png" 2577 | border = {1, 1, 0, 1} 2578 | stretch = TRUE 2579 | } 2580 | } 2581 | } 2582 | 2583 | style "tooltip" { 2584 | xthickness = 8 2585 | ythickness = 8 2586 | 2587 | bg[NORMAL] = @tooltip_bg_color 2588 | fg[NORMAL] = @tooltip_fg_color 2589 | bg[SELECTED] = @tooltip_bg_color 2590 | } 2591 | 2592 | style "disable_text_shadow" { 2593 | engine "murrine" { 2594 | textstyle = 0 2595 | } 2596 | } 2597 | 2598 | style "disable_separator" { 2599 | xthickness = 0 2600 | ythickness = 0 2601 | 2602 | GtkWidget::wide-separators = 1 2603 | } 2604 | 2605 | # Default style, containing theme properties and trying to match every widget as 2606 | # much as possible, which is not only faster than trying to match every widget 2607 | # by its own but also less bug-prune and more consistent. However there is some 2608 | # widget specific stuff that needs to be taken care of, which is the point of 2609 | # every other style below. 2610 | class "GtkWidget" style "default" 2611 | 2612 | ###################################### 2613 | # Override padding, style and colour # 2614 | ###################################### 2615 | 2616 | class "GtkButton" style "button" 2617 | class "GtkLinkButton" style "link_button" 2618 | class "GtkEntry" style "entry" 2619 | class "GtkOldEditable" style "entry" 2620 | class "GtkNotebook" style "notebook" 2621 | class "GtkHScale" style "scale_horz" 2622 | class "GtkVScale" style "scale_vert" 2623 | class "GtkProgressBar" style "progressbar" 2624 | class "GtkScrolledWindow" style "scrolled_window" 2625 | class "GtkFrame" style "frame" 2626 | class "GtkSeparatorToolItem" style "toolbar_separator" 2627 | class "GtkMenuBar" style "menubar" 2628 | class "GtkMenu" style "menu" 2629 | class "GtkTextView" style "textview" 2630 | 2631 | # Menu and menubar items 2632 | widget_class "**" style "menu_item" 2633 | widget_class "*.*" style "menubar_item" 2634 | widget_class "**" style "separator_menu_item" 2635 | 2636 | # Treeview buttons 2637 | widget_class "***" style "treeview_header" 2638 | 2639 | # Give the file chooser toolbar a border 2640 | widget_class "**" style "inline_toolbar" 2641 | 2642 | # Fix padding on regular comboboxes 2643 | widget_class "*." style "combobox" 2644 | widget_class "*" style "combobox" 2645 | 2646 | # And disable separators on them 2647 | widget_class "*.*" style "disable_separator" 2648 | widget_class "**" style "disable_separator" 2649 | widget_class "**" style "disable_separator" 2650 | 2651 | # Join together the ComboBoxEntry entry and button 2652 | widget_class "**" style "combobox_entry" 2653 | 2654 | # Join the Combo entry and button 2655 | widget_class "**" style "combobox_entry" 2656 | 2657 | # Tweak the padding on the button a little bit because it 2658 | # uses it a bit differently 2659 | widget_class "*." style "combo_button_padding" 2660 | 2661 | # Alas we cannot do the same for ComboBoxText because there 2662 | # isn't a way to apply the style to only the comboboxes that 2663 | # have an entry inside 2664 | 2665 | # Tool buttons have different styles 2666 | widget_class "**" style "tool_button" 2667 | widget_class "**.*" style "tool_button" 2668 | 2669 | # Notebooks 2670 | widget_class "*." style "notebook_tab_label" 2671 | widget_class "*.." style "notebook_tab_label" 2672 | 2673 | # Notebooks are white, act accordingly 2674 | widget_class "**" style "notebook_entry" 2675 | widget_class "**" style "notebook_bg" 2676 | widget_class "**" style "notebook_bg" 2677 | widget_class "***" style "notebook_bg" 2678 | widget_class "**" style "notebook_bg" 2679 | widget_class "*.*" style "notebook_bg" 2680 | 2681 | # However, stuff inside eventboxes inside notebooks is grey 2682 | # again, react 2683 | widget_class "***" style "normal_entry" 2684 | widget_class "***" style "normal_bg" 2685 | widget_class "***" style "normal_bg" 2686 | 2687 | # Button labels 2688 | widget_class "*." style "button_label" 2689 | 2690 | # Normalize button labels 2691 | widget_class "*." style "normal_button_label" 2692 | widget_class "*." style "normal_button_label" 2693 | 2694 | # ComboBoxes tend to draw the button label with text[] 2695 | # instead of fg[], we need to fix that 2696 | widget_class "**" style "combobox_cellview" 2697 | 2698 | # Disable white text shadows 2699 | widget_class "*" style "disable_text_shadow" 2700 | widget_class "*" style "disable_text_shadow" 2701 | 2702 | # GTK tooltips 2703 | widget "gtk-tooltip*" style "tooltip" 2704 | --------------------------------------------------------------------------------