Adwaita: don't focus outline tabs with mouse
authorJakub Steiner <jimmac@gmail.com>
Thu, 14 May 2020 16:50:47 +0000 (18:50 +0200)
committerJakub Steiner <jimmac@gmail.com>
Thu, 14 May 2020 16:50:47 +0000 (18:50 +0200)
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2721

gtk/theme/Adwaita/_common.scss
gtk/theme/Adwaita/_drawing.scss

index 17774ede72478b6cbb11f351ee4cc19fe5cee41f..bafad344e0b1020b3a59c28808c37dd7384cc20e 100644 (file)
@@ -292,7 +292,7 @@ entry {
 
     @include entry(normal);
 
-    @include focus-ring($within: true);
+    @include focus-ring($focus-state: 'focus-within');
 
     > image { // icons inside the entry
       &.left { margin-right: 6px; }
@@ -342,7 +342,7 @@ entry {
       &.#{$e_type} {
         color: $e_color;
 
-        @include focus-ring($within: true, $fc: transparentize($e_color, 0.5));
+        @include focus-ring($focus-state: 'focus-within', $fc: transparentize($e_color, 0.5));
 
         &:focus-within { @include entry(focus, $e_color); }
 
@@ -1881,7 +1881,7 @@ popover.background {
  * Notebooks *
  *************/
 notebook {
-  @include focus-ring("> header > tabs > tab", $offset: -2px, $within: true);
+  @include focus-ring("> header > tabs > tab:checked", $offset: -2px, $focus-state: 'focus-within:focus-visible');
 
   > header {
     padding: 1px;
index 467be6c817166c6f88dac51bd64dedf104fffcd9..ef4ea6abd5e37c154cbca8c3bfd5d3595e158ad6 100644 (file)
@@ -9,14 +9,12 @@
 // If $outer is true, the focus ring extends outward. Otherwise, it extends inward.
 // If $within is true, use focus-within instead of focus:focus-visible
 //
-@mixin focus-ring($target: null, $width: 2px, $offset: -$width, $outer: false, $within: false, $fc: $focus_border_color) {
+@mixin focus-ring($target: null, $width: 2px, $offset: -$width, $outer: false, $focus-state: 'focus:focus-visible', $fc: $focus_border_color) {
   & #{$target} {
     outline: 0 solid transparent;
     outline-offset: if($outer, $offset + 4px, $offset + $width + 4px);
   }
 
-  $focus-state: if($within, "focus-within", "focus:focus-visible");
-
   &:#{$focus-state} #{$target} {
     outline-color: $fc;
     outline-width: $width;