mirror of
https://github.com/luneko/SweetTokyoNight.git
synced 2025-12-13 15:29:53 +01:00
Gtk-4: Add initial suppport to gtk v4
This commit is contained in:
176
gtk-4.0/widgets/_scrollbars.scss
Normal file
176
gtk-4.0/widgets/_scrollbars.scss
Normal file
@@ -0,0 +1,176 @@
|
||||
/**************
|
||||
* Scrollbars *
|
||||
**************/
|
||||
scrollbar {
|
||||
$_slider_min_length: 40px;
|
||||
|
||||
// disable steppers
|
||||
@at-root * {
|
||||
-GtkScrollbar-has-backward-stepper: false;
|
||||
-GtkScrollbar-has-forward-stepper: false;
|
||||
}
|
||||
|
||||
background-color: $scrollbar_bg_color;
|
||||
transition: 300ms $ease-out-quad;
|
||||
|
||||
// scrollbar border
|
||||
&.top { border-bottom: 1px solid $borders_color; }
|
||||
&.bottom { border-top: 1px solid $borders_color; }
|
||||
&.left { border-right: 1px solid $borders_color; }
|
||||
&.right { border-left: 1px solid $borders_color; }
|
||||
|
||||
&:backdrop {
|
||||
background-color: $backdrop_scrollbar_bg_color;
|
||||
border-color: $backdrop_borders_color;
|
||||
transition: $backdrop_transition;
|
||||
}
|
||||
|
||||
// slider
|
||||
slider {
|
||||
min-width: 6px;
|
||||
min-height: 6px;
|
||||
margin: -1px;
|
||||
border: 4px solid transparent;
|
||||
border-radius: 8px;
|
||||
background-clip: padding-box;
|
||||
background-color: $scrollbar_slider_color;
|
||||
|
||||
&:hover { background-color: $scrollbar_slider_hover_color; }
|
||||
|
||||
&:hover:active { background-color: $scrollbar_slider_active_color; }
|
||||
|
||||
&:backdrop { background-color: $backdrop_scrollbar_slider_color; }
|
||||
|
||||
&:disabled { background-color: transparent; }
|
||||
}
|
||||
|
||||
&.fine-tune {
|
||||
slider {
|
||||
min-width: 4px;
|
||||
min-height: 4px;
|
||||
}
|
||||
|
||||
&.horizontal slider { border-width: 5px 4px; }
|
||||
&.vertical slider { border-width: 4px 5px; }
|
||||
}
|
||||
|
||||
&.overlay-indicator {
|
||||
&:not(.dragging):not(.hovering) {
|
||||
border-color: transparent;
|
||||
opacity: 0.4;
|
||||
background-color: transparent;
|
||||
|
||||
slider {
|
||||
margin: 0;
|
||||
min-width: 3px;
|
||||
min-height: 3px;
|
||||
background-color: $fg_color;
|
||||
border: 1px solid if($variant == 'light', white, black);
|
||||
}
|
||||
|
||||
button {
|
||||
min-width: 5px;
|
||||
min-height: 5px;
|
||||
background-color: $fg_color;
|
||||
background-clip: padding-box;
|
||||
border-radius: 100%;
|
||||
border: 1px solid if($variant == 'light', white, black);
|
||||
-gtk-icon-source: none;
|
||||
}
|
||||
|
||||
&.horizontal {
|
||||
slider {
|
||||
margin: 0 2px;
|
||||
min-width: $_slider_min_length;
|
||||
}
|
||||
|
||||
button {
|
||||
margin: 1px 2px;
|
||||
min-width: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
slider {
|
||||
margin: 2px 0;
|
||||
min-height: $_slider_min_length;
|
||||
}
|
||||
|
||||
button {
|
||||
margin: 2px 1px;
|
||||
min-height: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.dragging,
|
||||
&.hovering { opacity: 0.8; }
|
||||
}
|
||||
|
||||
&.horizontal slider { min-width: $_slider_min_length; }
|
||||
|
||||
&.vertical slider { min-height: $_slider_min_length; }
|
||||
|
||||
// button styling
|
||||
button {
|
||||
padding: 0;
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
border-style: none;
|
||||
border-radius: 0;
|
||||
transition-property: min-height, min-width, color;
|
||||
|
||||
@include button(undecorated);
|
||||
|
||||
color: $scrollbar_slider_color;
|
||||
|
||||
&:hover {
|
||||
@include button(undecorated);
|
||||
|
||||
color: $scrollbar_slider_hover_color;
|
||||
}
|
||||
&:active, &:checked {
|
||||
@include button(undecorated);
|
||||
|
||||
color: $scrollbar_slider_active_color;
|
||||
}
|
||||
&:disabled {
|
||||
@include button(undecorated);
|
||||
|
||||
color: transparentize($scrollbar_slider_color, 0.8);
|
||||
}
|
||||
&:backdrop {
|
||||
@include button(undecorated);
|
||||
|
||||
color: $backdrop_scrollbar_slider_color;
|
||||
|
||||
&:disabled {
|
||||
@include button(undecorated);
|
||||
|
||||
color: transparentize($backdrop_scrollbar_slider_color, 0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// button icons
|
||||
&.vertical {
|
||||
button {
|
||||
&.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
|
||||
|
||||
&.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); }
|
||||
}
|
||||
}
|
||||
|
||||
&.horizontal {
|
||||
button {
|
||||
&.down { -gtk-icon-source: -gtk-icontheme('pan-right-symbolic'); }
|
||||
|
||||
&.up { -gtk-icon-source: -gtk-icontheme('pan-left-symbolic'); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
treeview ~ scrollbar.vertical {
|
||||
border-top: 1px solid $borders_color;
|
||||
margin-top: -1px;
|
||||
}
|
||||
Reference in New Issue
Block a user