diff --git a/src/gtk3/widgets/_button.scss b/src/gtk3/widgets/_button.scss --- a/src/gtk3/widgets/_button.scss +++ b/src/gtk3/widgets/_button.scss @@ -168,7 +168,23 @@ %buttons { $_button_transition: all 200ms $ease-out-quad; - + &.toggle { + &:not(:checked) { + &:focus, &:hover { + @include button(normal); + border-color: gtk("@theme_button_decoration_focus"); + } + } + &:checked { + &:focus, &:hover { + background-color: gtkmix("@theme_button_background_normal", "@theme_button_foreground_normal", 0.2); + border-color: gtk("@theme_button_decoration_focus"); + } + } + &:focus, &:hover { + border-color: gtk("@theme_button_decoration_focus"); + } + } border: 1px solid; border-radius: $r; padding: 6px 6px; @@ -200,6 +216,10 @@ @include button(active-hover); } } + &:checked { + background-color: gtkmix("@theme_button_background_normal", "@theme_button_foreground_normal", 0.2); + border-color: gtkmix("@theme_button_background_normal", "@theme_button_foreground_normal", 0.2); + } &:backdrop { @include button(backdrop); -gtk-icon-effect: none; @@ -209,11 +229,19 @@ &:active, &:checked, &:focus { @include button(backdrop-active); } + &:checked { + background-color: gtkmix("@theme_button_background_backdrop", "@theme_button_foreground_backdrop", 0.2); + border-color: gtkmix("@theme_button_background_backdrop", "@theme_button_foreground_backdrop", 0.2); + } &:disabled { @include button(backdrop-insensitive); } &:disabled:active, &:disabled:checked, &:disabled:focus { @include button(backdrop-insensitive-active); + &:checked { + background-color: gtkmix("@theme_button_background_backdrop_insensitive", "@theme_button_foreground_backdrop_insensitive", 0.2); + border-color: gtkmix("@theme_button_background_backdrop_insensitive", "@theme_button_foreground_backdrop_insensitive", 0.2); + } } } &.flat:backdrop { @@ -234,6 +262,10 @@ &:active, &:checked, &:focus { @include button(insensitive-active); } + &:checked { + background-color: gtkmix("@theme_button_background_insensitive", "@theme_button_foreground_insensitive", 0.2); + border-color: gtkmix("@theme_button_background_insensitive", "@theme_button_foreground_insensitive", 0.2); + } } separator { background-color: transparent;