From 94bda61f6836f95f0c9284477ec69b2fc952dbb4 Mon Sep 17 00:00:00 2001 From: Jakub Steiner Date: Thu, 30 Apr 2020 12:10:42 +0200 Subject: [PATCH] Adwaita: popover menu styling - match existing popover styling for menus See https://gitlab.gnome.org/GNOME/gtk/-/issues/2675 --- gtk/theme/Adwaita/_colors.scss | 3 ++- gtk/theme/Adwaita/_common.scss | 25 ++++++++++++++++--------- gtk/theme/HighContrast/_colors-hc.scss | 1 + 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gtk/theme/Adwaita/_colors.scss b/gtk/theme/Adwaita/_colors.scss index a3f4c69a2c..5ca9c7a68c 100644 --- a/gtk/theme/Adwaita/_colors.scss +++ b/gtk/theme/Adwaita/_colors.scss @@ -18,7 +18,8 @@ $link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), li $top_hilight: $borders_edge; $dark_fill: mix($borders_color, $bg_color, 50%); $headerbar_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%)); -$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%)); +$menu_color: $bg_color; +$menu_selected_color: $base_color; $popover_bg_color: $bg_color; $popover_hover_color: lighten($bg_color, 5%); diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss index cbbaad7936..d3cdbeeac0 100644 --- a/gtk/theme/Adwaita/_common.scss +++ b/gtk/theme/Adwaita/_common.scss @@ -4338,6 +4338,8 @@ menubar { $_menu-padding: 12px; +/* Popover menu is a popover more than it is a menu */ + popover.menu { padding: 0px; @@ -4354,7 +4356,7 @@ popover.menu { outline: none; transition: none; - &:selected { @extend %selected_items; } + &:selected { background: image($menu_selected_color); } } } @@ -4392,16 +4394,13 @@ popover.menu { radio { @include check('menu', 'transparent', $text_color); - &:hover, &:active { - @include check('menu-active', 'transparent', $selected_fg_color); - } + &:hover { @include check('menu-active', 'transparent', $text_color); } + &:active { @include check('menu-active', 'transparent', $text_color); } } //only menu radios have a border radio { border-color: $borders_color; - &:active, &:hover { - border-color: transparentize($selected_fg_color,0.5); - } + &:active { border-color: transparentize($borders_color,0.5); } } arrow.left, @@ -4421,10 +4420,18 @@ popover.menu { modelbutton { min-height: 30px; min-width: 40px; + margin: 0 $_menu-padding/2; padding: 0 $_menu-padding; - border-radius: 0; - &:selected { @extend %selected_items; } + &:selected { + color: $text-color; + background-color: $menu_selected_color; + } + &:selected:active { + //@extend %selected_items; + //color: $selected_fg_color; + background-color: darken($bg_color,14%); // matching buttons + } } label.title { diff --git a/gtk/theme/HighContrast/_colors-hc.scss b/gtk/theme/HighContrast/_colors-hc.scss index d9dfc278cd..31808e81a2 100644 --- a/gtk/theme/HighContrast/_colors-hc.scss +++ b/gtk/theme/HighContrast/_colors-hc.scss @@ -9,6 +9,7 @@ $selected_bg_color: darken($selected_bg_color,10%); $selected_borders_color: darken($selected_borders_color, 10%); $borders_color: if($variant == 'light', darken($borders_color, 30%), lighten($borders_color, 30%)); $alt_borders_color: if($variant == 'light', darken($alt_borders_color, 33%), lighten($alt_borders_color, 28%)); +$menu_selected_color: if($variant == 'light', $base_color, darken($bg_color,10%)); //insensitive state derived colors $insensitive_fg_color: mix($fg_color, $bg_color, 50%);