diff options
Diffstat (limited to 'Redcore-nighttime/gtk-3.20/scss/widgets/_toolbar.scss')
-rw-r--r-- | Redcore-nighttime/gtk-3.20/scss/widgets/_toolbar.scss | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/Redcore-nighttime/gtk-3.20/scss/widgets/_toolbar.scss b/Redcore-nighttime/gtk-3.20/scss/widgets/_toolbar.scss new file mode 100644 index 0000000..0b6f30e --- /dev/null +++ b/Redcore-nighttime/gtk-3.20/scss/widgets/_toolbar.scss @@ -0,0 +1,237 @@ +@import "button"; + + +/********* + ! Toolbar +**********/ + +@mixin toolbar($bg, $fg) { + @include linear-gradient($bg); + @include border($bg); + + color: $fg; + + &:disabled { + @include linear-gradient(shade($bg, .9)); + + color: mix($fg, $bg, .5); + } + + .title { + font-weight: bold; + padding: 0 ($spacing * 2); + } + + .subtitle { + font-size: smaller; + padding: 0 ($spacing * 2); + } + + button { @include button($bg, $fg); } + + .linked > button { @include linked_button($bg); } + + combobox, button { + padding: $spacing; + + &.text-button { padding: $spacing; } + + &.image-button { padding: $spacing; } + } + + separator { + &, &:disabled { + color: shade($bg, ($contrast - .2)); + border-color: currentColor; + + -GtkWidget-window-dragging: true; + } + } +} + +@mixin inline-toolbar($bg, $fg) { + padding: 1px; + border-width: 0 1px 1px; + border-style: solid; + border-color: $borders_color; + background-color: mix($borders_color, $bg_color, .7);; + background-image: none; + + &:backdrop { + border-color: $backdrop_borders_color; + background-color: $backdrop_dark_fill; + transition: 200ms ease-out; + } + + button { @include button($toolbar_bg_color, $toolbar_fg_color); } + + toolbutton, + toolbutton:backdrop { + > button.flat { @extend %linked_middle; } + + &:first-child > button.flat { @extend %linked_button:first-child; } + + &:last-child > button.flat { @extend %linked_button:last-child; } + + &:only-child > button.flat { @extend %linked_button:only-child; } + } +} + +@include exports("toolbar_extends") { + %toolbar { + padding: $spacing - 1px; + border-style: none; + + // toolbar separators + &.horizontal separator { margin: 0 ($spacing + 2px) 1px; } + + &.vertical separator { margin: ($spacing + 2px) 1px ($spacing + 2px) 0; } + } + + %headerbar { + border-width: 0 0 1px; + border-style: solid; + + // add vertical margins to common widget on the headerbar to avoid them spanning the whole height + entry, + spinbutton, + separator, + button { // Size height + margin-top: $spacing + 3px; + margin-bottom: $spacing + 3px; + } + + switch { // Size height + margin-top: $spacing + 1px; + margin-bottom: $spacing + 1px; + } + + window:not(.tiled):not(.maximized) separator:first-child + &, // tackles the paned container case + window:not(.tiled):not(.maximized) &:first-child { &:backdrop, & { border-top-left-radius: $roundness; } } + + window:not(.tiled):not(.maximized) &:last-child { &:backdrop, & { border-top-right-radius: $roundness; } } + } + + %titlebar { // Default headerbar and titlebar code. + @include toolbar($titlebar_bg_color, $titlebar_fg_color); + @include linear-gradient($titlebar_bg_color); + + border-radius: $roundness $roundness 0 0; + color: mix($titlebar_fg_color, $titlebar_bg_color, .1); + padding: 0 $spacing * 2; + min-height: 42px; + + &:backdrop { + @include linear-gradient($titlebar_bg_color); + + color: mix($titlebar_fg_color, $titlebar_bg_color, .6); + text-shadow: none; + } + + &.default-decoration { // Default titlebar (old metacity) + min-height: 24px; + box-shadow: none; + border: 0; + + button.titlebutton { + min-height: 16px; + min-width: 16px; + margin: 0; + padding: 0; + } + } + + .tiled &, + .maximized & { &:backdrop, & { border-radius: 0; } } // squared corners when the window is maximized or tiled + + .title { font-weight: bold; } + + separator.titlebutton { margin-left: $spacing; } + + button { + @include button($header_button_bg_color, $header_button_fg_color); + } + + button.titlebutton + separator.titlebutton { + margin-left: 0; + margin-right: $spacing; + } + + button.titlebutton { + border: 0; + background-image: none; + background-color: transparent; + color: mix($titlebar_fg_color, $titlebar_bg_color, .1); + box-shadow: none; + + &:hover, &:hover:focus { + background-image: none; + background-color: transparent; + color: $selected_bg_color; + box-shadow: none; + } + + &:active, &:active:hover { + background-image: none; + background-color: transparent; + color: shade($selected_bg_color, .9); + box-shadow: none; + } + + &:backdrop { + background: none; + color: mix($titlebar_fg_color, $titlebar_bg_color, .6); + -gtk-icon-shadow: none; + } + } + } +} + +@include exports("toolbar") { + toolbar { + @include toolbar($toolbar_bg_color, $toolbar_fg_color); + + @extend %toolbar; + + &.inline-toolbar { @include inline-toolbar($toolbar_bg_color, $toolbar_fg_color); } + } + + headerbar { + @extend %titlebar; + @extend %headerbar; + } + + .titlebar:not(headerbar) { + window.csd > & { + // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases + padding: 0; + background-color: transparent; + background-image: none; + border-style: none; + border-color: transparent; + box-shadow: none; + } + + > separator { background-color: shade($titlebar_bg_color, .88); } // $borders_color + + @extend %titlebar; + } + + .background:not(.tiled):not(.maximized) .titlebar { + &:backdrop, & { + border-top-left-radius: $roundness; + border-top-right-radius: $roundness; + } + } + + // Fixed: https://github.com/numixproject/numix-gtk-theme/issues/585 + // workaround for ugly Ubuntu-related CSD patches + .background:not(.csd):not(.ssd):not(.solid-csd) headerbar { + &, &:backdrop { + &, &:not(:last-child) { + border-radius: 0; + border-top-color: transparent; + } + } + } +} |