From a8ddb5d8e40547675e7eeee73a1685d98e9dcf1d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 18 Jul 2017 18:20:40 +0100 Subject: rebase Redcore gtk theme on Numix --- Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss | 319 ++++++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss (limited to 'Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss') diff --git a/Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss b/Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss new file mode 100644 index 0000000..1a7f248 --- /dev/null +++ b/Redcore-daylight/gtk-3.20/scss/widgets/_menu.scss @@ -0,0 +1,319 @@ +@import "entry"; + + + +@mixin menu_calendar($bg, $fg) { + color: $fg; + + &.header { + border-bottom: 1px solid shade($bg, ($contrast + .1)); + border-radius: 0; + + &:backdrop { border-color: shade($bg, ($contrast + .1)); } + } + + &.button { + @extend %undecorated_button; + color: alpha($fg, .55); + + &:hover { + @extend %undecorated_button; + color: $fg; + } + } + + &:indeterminate, + &:indeterminate:backdrop { color: mix($fg, $bg, .5); } +} + + +/********* + ! Menubar +**********/ + +@include exports("menubar") { + menubar, .menubar { + -GtkWidget-window-dragging: true; + + padding: 0; + border: 0; + background-color: $menubar_bg_color; + background-image: none; + //box-shadow: inset 0 -1px shade($menubar_bg_color, .9); + color: $menubar_fg_color; + + > menuitem { + min-height: 16px; + padding: $spacing*1.5 $spacing * 2.5; + border: 1px solid transparent; + background-color: transparent; + background-image: none; + color: $menubar_fg_color; + + &:hover { + border-color: mix($menubar_bg_color, $menubar_fg_color, .21); + background-color: mix($menubar_bg_color, $menubar_fg_color, .21); + background-image: none; + color: shade($menubar_fg_color, 1.08); + } + + *:hover { color: shade($menubar_fg_color, 1.08); } + } + } +} + + +/****** + ! Menu +*******/ + +@include exports("menu") { + menu, + .menu, + .context-menu { + border: 0; + border-radius: 0; + padding: $spacing; + background-color: $menu_bg_color; + color: $menu_fg_color; + + .csd & { border: 0; } // axes borders in a composited env + + &:selected { background-color: $selected_bg_color; } + + // A little hack to get some extra space above/below menuitem separators + separator, + .csd & separator { + background-color: shade($menu_bg_color, ($contrast + .1)); + margin: ($spacing - 2px) 0; + } + + // Firefox workaround + .separator, + .csd & .separator { color: shade($menu_bg_color, ($contrast + .1)); } + + menuitem { + min-height: 16px; + min-width: 40px; + padding: $spacing; + border-radius: 0; + + &:active, &:hover { + border: 0; + background-color: $selected_bg_color; + background-image: none; + color: $selected_fg_color; + } + + *:active, *:hover { color: $selected_fg_color; } + + &:disabled, *:disabled { color: mix($menu_fg_color, $menu_bg_color, .5); } + + // submenu indicators + arrow { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { + -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); + margin-left: 10px; + } + + &:dir(rtl) { + -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); + margin-right: 10px; + } + } + + &.button, &.button.flat { + &, &:focus, &:active, &:disabled, &:active:disabled { + background-color: transparent; + background-image: none; + border: 0; + box-shadow: none; + color: currentColor; + } + + &:hover, &:focus:hover, &:active:hover, &:selected { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + + calendar { @include menu_calendar($menu_bg_color, $menu_fg_color); } + + // avoids labels color being overridden, see + // https://bugzilla.gnome.org/show_bug.cgi?id=767058 + label { &:dir(rtl), &:dir(ltr) { color: inherit; } } + } + + // overflow arrows + > arrow { + //@include button(undecorated); + + min-height: 16px; + min-width: 16px; + padding: $spacing; + background-color: $menu_bg_color; + border-radius: 0; + + &.top { + margin-top: -6px; + border-bottom: 1px solid mix($fg_color, $base_color, .1); + -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); + } + + &.bottom { + margin-bottom: -6px; + border-top: 1px solid mix($fg_color, $base_color, .1); + -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); + } + + &:hover { background-color: mix($fg_color, $base_color, .1); } + + &:backdrop { background-color: $backdrop_menu_color; } + + &:disabled { + color: transparent; + background-color: transparent; + border-color: transparent; + } + } + } + + .context-menu { font: initial; } // Decouple the font of context menus from their entry/textview + + .monospace { font-family: monospace; } + + menuitem { + accelerator { + color: alpha($menu_fg_color, .6); + + &:hover { color: alpha($selected_fg_color, .8); } + + &:disabled { color: alpha(mix($menu_fg_color, $menu_bg_color, .5), .4); } + } + + check, radio { + min-height: 16px; + min-width: 16px; + + &:dir(ltr) { margin-right: 7px; } + &:dir(rtl) { margin-left: 7px; } + } + + window decoration { + box-shadow: 0 2px 3px alpha($black, .2); + } + + entry { @include entry($menu_bg_color, $menu_fg_color); } + } +} + + +/********* + ! Popover +**********/ + +@include exports("popover") { + popover.background { + padding: $spacing - 3px; + border-radius: $roundness; + background-clip: border-box; + background-color: $menu_bg_color; + background-image: none; + color: $menu_fg_color; + box-shadow: 0 3px 6px alpha($black, .16); + + .csd &, & { + /*@include border($menu_bg_color);*/ + @include border(alpha($menu_fg_color, .5)); + border-width: 1px; + border-style: solid; + } + + &:backdrop { box-shadow: none; } + + treeview.view { + &:hover, &:selected, &:selected:focus, &:backdrop:selected, &:backdrop:selected:focus { border-top-color: $selected_bg_color; } + + &, &:backdrop { border-top-color: shade($menu_bg_color, ($contrast + .4)); } + } + + view, .view, list { + &:hover { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &, &:backdrop { + background-color: shade($menu_bg_color, ($contrast + .5)); + background-image: none; + color: $menu_fg_color; + border-color: border_normal($menu_bg_color); + } + } + + list row { + &, & .button { + background-color: transparent; + background-image: none; + color: $menu_fg_color; + + &:focus, &:hover, &:active { + background-image: none; + background-color: $selected_bg_color; + color: $selected_fg_color; + } + } + } + + .frame { + border-color: border_normal($menu_bg_color); + border-radius: $roundness; + } + + entry { @include entry($base_color, $text_color); } + + button { @include button($header_button_bg_color, $header_button_fg_color); } + .linked > button { @include linked_button($header_button_bg_color); } + + > list, > .view, > toolbar { + border-style: none; + background-color: transparent; + } + } + + modelbutton.flat, + menuitem.button.flat { + padding: $spacing ($spacing + 2px); + outline-color: transparent; + transition: none; + + @extend %undecorated_button; + + &:hover { + background-color: $selected_bg_color; + color: $selected_fg_color; + } + + &:active, &:selected { &, arrow { @extend %selected_items; } } + + &:checked { color: $fg_color; } + + arrow { + &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + + &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + } + + // FIXME: temporary workaround + check:last-child, + radio:last-child { margin-left: 8px; } + + check:first-child, + radio:first-child { margin-right: 8px; } + } +} -- cgit v1.2.3