[gtk/wip/jimmac/menu-styling-adjustments] Adwaita: menu item styling for all
- From: Jakub Steiner <jimmac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/jimmac/menu-styling-adjustments] Adwaita: menu item styling for all
- Date: Thu, 7 May 2020 16:22:37 +0000 (UTC)
commit aaa4fca16276bfa6945b173165b5a1fb23d34ac0
Author: Jakub Steiner <jimmac gmail com>
Date: Thu Apr 30 12:10:42 2020 +0200
Adwaita: menu item styling for all
- sync menus, context menus, popovers and popover menus to use
the same styling
- special case menubar menus to not have rounded corners
See https://gitlab.gnome.org/GNOME/gtk/-/issues/2675
gtk/theme/Adwaita/_colors.scss | 5 ++---
gtk/theme/Adwaita/_common.scss | 35 +++++++++++++++++++++++-----------
gtk/theme/HighContrast/_colors-hc.scss | 2 ++
3 files changed, 28 insertions(+), 14 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_colors.scss b/gtk/theme/Adwaita/_colors.scss
index a3f4c69a2c..4daab70d98 100644
--- a/gtk/theme/Adwaita/_colors.scss
+++ b/gtk/theme/Adwaita/_colors.scss
@@ -18,9 +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%));
-$popover_bg_color: $bg_color;
-$popover_hover_color: lighten($bg_color, 5%);
+$menu_color: $base_color;
+$menu_selected_color: $bg_color;
$scrollbar_bg_color: if($variant == 'light', mix($bg_color, $fg_color, 80%), mix($base_color, $bg_color,
50%));
$scrollbar_slider_color: mix($fg_color, $bg_color, 60%);
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index cbbaad7936..63ae47b377 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -880,7 +880,7 @@ modelbutton.flat {
@extend %undecorated_button;
- &:hover { background-color: $popover_hover_color; }
+ &:hover { background-color: $menu_selected_color; }
&:disabled {
color: $insensitive_fg_color;
@@ -898,6 +898,7 @@ modelbutton.flat arrow {
background: none;
min-width: 16px;
min-height: 16px;
+ opacity: 0.3; //dim icon
&:hover { background: none; }
@@ -1828,7 +1829,7 @@ popover.background {
> contents {
$_popover_border: if($variant=='light', transparentize(black, 0.77), transparentize($borders_color,
0.1));
- background-color: $popover_bg_color;
+ background-color: $menu_color;
background-clip: padding-box;
border: 1px solid $_popover_border;
box-shadow: 0 1px 2px transparentize(black, 0.7);
@@ -4304,7 +4305,7 @@ emoji-completion-row:hover {
emoji-completion-row emoji:focus,
emoji-completion-row emoji:hover {
- background-color: $popover_hover_color;
+ background-color: $menu_selected_color;
}
popover.entry-completion > contents {
@@ -4334,6 +4335,13 @@ menubar {
}
// remove padding and rounding from menubar submenu decoration
.csd.popup decoration { border-radius:0; }
+ // only bottom part rounded for menubar menus
+ & > item popover.menu.background > contents {
+ margin-top: -1px; //nudge it into the menubar
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ padding: 0 0 $button_radius 0;
+ }
}
$_menu-padding: 12px;
@@ -4354,7 +4362,7 @@ popover.menu {
outline: none;
transition: none;
- &:selected { @extend %selected_items; }
+ &:selected { background: image($menu_selected_color); }
}
}
@@ -4392,16 +4400,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,
@@ -4424,7 +4429,15 @@ popover.menu {
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..3533b6e90b 100644
--- a/gtk/theme/HighContrast/_colors-hc.scss
+++ b/gtk/theme/HighContrast/_colors-hc.scss
@@ -9,6 +9,8 @@ $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_color: $base_color;
+$menu_selected_color: darken($bg_color,10%);
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]