Improvements to draggable elements

This commit is contained in:
Eudaimon 2024-04-25 18:12:36 +02:00
parent 9d7a43d4c5
commit 36d23dda8e
2 changed files with 54 additions and 32 deletions

View File

@ -177,3 +177,12 @@ calendar:indeterminate { /* days numbers of previous or next month */
color: alpha(currentColor, 0.3); color: alpha(currentColor, 0.3);
} }
/* draggable elements (in gtk3, the size of the circle needs to be much smaller!)*/
slider, tab.reorderable-page, tabbox > tabboxchild > tab, paned > separator {
background-image: radial-gradient(circle, alpha(currentColor, 0.2), alpha(currentColor, 0.2) 20%, alpha(currentColor, 0) 20%);
background-size: 5px 5px;
background-position: center;
background-repeat: repeat;
}

View File

@ -31,6 +31,7 @@ check:disabled:active, radio:disabled:active,
slider:disabled slider:disabled
{ {
color: @disabled_fg_color; color: @disabled_fg_color;
opacity: 1; /*hopefully overwriting some libadwaita tendencies */
} }
button:disabled, button.flat:disabled, .button:disabled, tab:disabled, entry:disabled, row:disabled, menuitem:disabled, modelbutton:disabled, modelbutton.flat:disabled button:disabled, button.flat:disabled, .button:disabled, tab:disabled, entry:disabled, row:disabled, menuitem:disabled, modelbutton:disabled, modelbutton.flat:disabled
check:disabled, radio:disabled, check:disabled, radio:disabled,
@ -135,7 +136,7 @@ header button {
/* popover, &.menu , &.emoji-picker, &.emoji-completion-row, emoji-completion */ /* popover, &.menu , &.emoji-picker, &.emoji-completion-row, emoji-completion */
/* button, splitbutton, buttoncontent... and what about flat buttons?! , arrow */ /* button, splitbutton, buttoncontent... and what about flat buttons?! , arrow */
button, arrow, tab, .button { button, arrow, tab, .button, slider {
min-height: 1.2em; min-height: 1.2em;
min-width: 1.2em; min-width: 1.2em;
padding: 0.3em 0.3em; padding: 0.3em 0.3em;
@ -188,20 +189,30 @@ radiobutton, radio {
} }
button:hover, arrow:hover, tab:hover, .button:hover, button:hover, arrow:hover, tab:hover, .button:hover,
button:focus, .button:focus button:focus, .button:focus,
slider:hover, slider:focus
{ {
box-shadow: inset 0 -.2em 0 0 alpha(@accent_color, 0.7); box-shadow: inset 0 0 0 .1em @accent_color;
} }
button:hover:checked, arrow:hover:checked, tab:hover:checked, .button:hover:checked, button:hover:checked, arrow:hover:checked, tab:hover:checked, .button:hover:checked,
button:focus:checked, .button:focus:checked button:focus:checked, .button:focus:checked
{ {
box-shadow: inset 0 -.3em 0 0 alpha(@accent_color, 0.75); box-shadow: inset 0 -.3em 0 0 @accent_color,
inset 0 0 0 .1em @accent_color;
} }
button:checked, arrow:checked, tab:checked, .button:checked, button:checked, arrow:checked, tab:checked, .button:checked
button:active, arrow:active, tab:active, tab:selected, .button:active
{ {
box-shadow: inset 0 -.3em 0 0 alpha(@accent_color, 1); box-shadow: inset 0 -.3em 0 0 alpha(@accent_color, 1);
}
button:active, arrow:active, tab:active, tab:selected, .button:active, slider:active {
box-shadow: inset 0 0 0 .2em @accent_color;
}
button:active:checked, arrow:active:checked, tab:active:checked, tab:selected:active, .button:active:checked {
box-shadow: inset 0 0 0 .2em @accent_color,
inset 0 -.3em 0 0 alpha(@accent_color, 1);
} }
button:checked:disabled, arrow:checked:disabled, tab:checked:disabled, tab:selected:disabled, .button:checked:disabled { button:checked:disabled, arrow:checked:disabled, tab:checked:disabled, tab:selected:disabled, .button:checked:disabled {
@ -388,16 +399,15 @@ scale.vertical mark, scale.vertical mark > indicator {
slider { /* overwrites some things defined in button, which needs to be above */ slider { /* overwrites some things defined in button, which needs to be above */
min-width: 0.8em; min-width: 1.2em;
min-height: 0.8em; min-height: 1.2em;
padding: 0;
border-radius: 9999px; border-radius: 9999px;
background-color: mix(@window_fg_color,@window_bg_color, 0.7); background-color: mix(@window_fg_color,@window_bg_color, 0.8);
border: 3px double mix(@window_fg_color,@window_bg_color, 0.5); /*border: 3px double mix(@window_fg_color,@window_bg_color, 0.5);*/
margin: 0; margin: 0;
} }
scrollbar.horizontal slider { scrollbar.horizontal slider {
min-height: 0.6em; min-height: 0.6em;
min-width: 2em; min-width: 2em;
@ -407,38 +417,40 @@ scrollbar.vertical slider {
min-width: 0.6em; min-width: 0.6em;
} }
/* draggable elements */
slider:hover, slider:focus, switch:focus slider, scale:focus slider, slider, tab.reorderable-page, tabbox > tabboxchild > tab, paned > separator {
tab.reorderable-page:hover, tabbox > tabboxchild > tab:hover { background-image: radial-gradient(circle, alpha(currentColor, 0.2), alpha(currentColor, 0.2) 30%, alpha(currentColor, 0) 35%);
/*box-shadow: inset 0 0 0 0.1em alpha(@accent_color, 0.5);*/ background-size: 5px 5px;
border-color: alpha(currentColor, 0.68); background-position: center;
border-style: solid; background-repeat: repeat;
} }
slider:active, slider:hover:active, tab.reorderable-page > *, tab.reorderable-page label, tab.reorderable-page button,
tab.reorderable-page:hover:active, tabbox > tabboxchild > tab:hover:active { /* not really working in tabs... */ tabbox > tabboxchild > tab > *, tabbox > tabboxchild > tab label {
/*box-shadow: inset 0 0 0 0.1em @accent_color;*/ background-color: mix(@window_bg_color, @window_fg_color, 0.1);
border-color: currentColor; padding: 0 0.3em;
border-style: solid; border-radius: 9999px;
} }
.fine-tune slider:active, .fine-tune slider:active:hover { .fine-tune slider:active, .fine-tune slider:active:hover {
/*box-shadow: inset 0 0 0 0.1em @warning_bg_color;*/ /*box-shadow: inset 0 0 0 0.1em @warning_bg_color;*/
border-color: @warning_bg_color;
border-style: solid; background-color: @warning_bg_color;
/*border-style: solid;*/
} }
switch { switch {
border: 1px solid alpha(currentColor, 0.5); border: 1px solid alpha(currentColor, 0.5);
border-radius: 9999px; border-radius: 9999px;
}
switch {
background-color: mix(@window_bg_color, @view_bg_color, 0.5); background-color: mix(@window_bg_color, @view_bg_color, 0.5);
} }
switch slider { switch slider {
min-width: 1.2em; min-width: 1.2em;
min-height: 1.2em; min-height: 1.2em;
color: @window_fg_color; color: @window_fg_color;
margin: 0.1em;
} }
switch:checked { switch:checked {
@ -533,13 +545,13 @@ tab, button.radio, stackswitcher > button, .circular, .pill {
margin: 1px; margin: 1px;
} }
tab.reorderable-page, tabbox > tabboxchild > tab { /*tab.reorderable-page, tabbox > tabboxchild > tab {
border-style: double; border-style: double;
border-width: 3px; border-width: 3px;
min-width: 1em; min-width: 1em;
min-height: 1em; min-height: 1em;
padding: 0.1em 0.3em; padding: 0.1em 0.3em;
} }*/
/* see slider for active reorderable tab */ /* see slider for active reorderable tab */
@ -737,7 +749,7 @@ treeview.view.expander:disabled, window.print treeview.expander.dialog-action-bo
/* separator, paned > separator */ /* separator, paned > separator */
separator, paned > separator { separator, paned > separator {
background-color: alpha(@window_fg_color,0.3); background-color: alpha(@window_fg_color,0.1);
} }
separator { separator {
@ -747,8 +759,8 @@ separator {
} }
paned > separator, paned.horizontal > separator, paned.vertical > separator { paned > separator, paned.horizontal > separator, paned.vertical > separator {
min-width: 0.2em; min-width: 0.25em;
min-height: 0.2em; min-height: 0.25em;
-gtk-icon-source: none; -gtk-icon-source: none;
margin: 0.2em; margin: 0.2em;
} }
@ -986,6 +998,7 @@ windowcontrols.start {margin-right: 1em;}
background-color: alpha(mix(@window_bg_color, @view_bg_color, 0.5), 0.75); background-color: alpha(mix(@window_bg_color, @view_bg_color, 0.5), 0.75);
border: 1px dashed alpha(@view_fg_color, 0.3); border: 1px dashed alpha(@view_fg_color, 0.3);
background-clip: border-box; background-clip: border-box;
border-radius: 5px;
} }
toast, toast label { /* override libadwaita */ toast, toast label { /* override libadwaita */