comparison gtk-3.0/_common.scss @ 17:ca246bc0af4a

Update to GTK 3.18 and regenerate assets
author IBBoard <dev@ibboard.co.uk>
date Sat, 09 Jul 2016 15:25:37 +0100
parents a48477723cfe
children cb3e1a45b770
comparison
equal deleted inserted replaced
16:504f558b5340 17:ca246bc0af4a
1 @function gtkalpha($c,$a) { 1 @function gtkalpha($c,$a) {
2 @return unquote("alpha(#{$c},#{$a})"); 2 @return unquote("alpha(#{$c},#{$a})");
3 } 3 }
4 4
5 $ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); 5 $ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
6 $asset_suffix: if($variant=='dark', '-dark', '');
6 7
7 * { 8 * {
8 padding: 0; 9 padding: 0;
9 -GtkToolButton-icon-spacing: 4; 10 -GtkToolButton-icon-spacing: 4;
10 -GtkTextView-error-underline-color: $error_color; 11 -GtkTextView-error-underline-color: $error_color;
34 35
35 -GtkWidget-focus-padding: 2; // FIXME: do we still need these? 36 -GtkWidget-focus-padding: 2; // FIXME: do we still need these?
36 -GtkWidget-focus-line-width: 1; // 37 -GtkWidget-focus-line-width: 1; //
37 38
38 -GtkWidget-text-handle-width: 20; 39 -GtkWidget-text-handle-width: 20;
39 -GtkWidget-text-handle-height: 20; 40 -GtkWidget-text-handle-height: 24;
40 41
41 -GtkDialog-button-spacing: 4; 42 -GtkDialog-button-spacing: 4;
42 -GtkDialog-action-area-border: 0; 43 -GtkDialog-action-area-border: 0;
43 44
44 -GtkStatusbar-shadow-type: none; 45 -GtkStatusbar-shadow-type: none;
117 @extend %selected_items; 118 @extend %selected_items;
118 } 119 }
119 } 120 }
120 121
121 .rubberband { 122 .rubberband {
122 border: 1px solid $selected_bg_color; 123 border: 1px solid darken($selected_bg_color, 10%);
123 background-color: transparentize($selected_bg_color,0.8); 124 background-color: transparentize(darken($selected_bg_color, 10%), 0.8);
124 } 125 }
125 126
126 .label { 127 .label {
127 &.separator { 128 &.separator {
128 color: $fg_color; 129 color: $fg_color;
258 background-color: transparent; 259 background-color: transparent;
259 box-shadow: none; 260 box-shadow: none;
260 &:backdrop { background-color: transparent; } 261 &:backdrop { background-color: transparent; }
261 } 262 }
262 263
263 .linked > & { //FIXME: use same buttons linking logic and template 264 .linked:not(.vertical) > & { @extend %linked; }
264 border-radius: 0; 265
265 &:first-child { 266 .linked:not(.vertical) > &:focus + .entry,
266 border-top-left-radius: 3px; 267 .linked:not(.vertical) > &:focus + .button,
267 border-bottom-left-radius: 3px; 268 .linked:not(.vertical) > &:focus + GtkComboBox > .the-button-in-the-combobox,
268 &:dir(rtl) { border-right-style: none;} 269 .linked:not(.vertical) > &:focus + GtkComboBoxText > .the-button-in-the-combobox {
269 } 270 border-left-color: entry_focus_border(); // colors the border of the widget following a focused entry
270 &:last-child { 271 }
271 border-top-right-radius: 3px; 272
272 border-bottom-right-radius: 3px; 273 // entry error and warning style
273 border-left-style: none; 274 @each $e_type, $e_color in (error, $error_color),
274 &:dir(rtl) { border-left-style: solid; } 275 (warning, $warning_color) {
275 } 276 &.#{$e_type} {
276 } 277 color: $e_color;
277 278 border-color: entry_focus_border($e_color);
278 &.error { // FIXME: dark variant love needed 279 &:focus { @include entry(focus, $e_color); }
279 color: $error_color; 280 &:selected, &:selected:focus { background-color: $e_color; }
280 border-color: $error_color;
281 &:focus { @include entry(focus, $error_color); }
282 &:selected, &:selected:focus {
283 background-color: $error_color;
284 }
285 }
286
287 &.warning { // FIXME: dark variant love needed
288 color: $warning_color;
289 border-color: $warning_color;
290 &:focus { @include entry(focus, $warning_color); }
291 &:selected, &:selected:focus {
292 background-color: $warning_color;
293 } 281 }
294 } 282 }
295 283
296 &.image { // entry icons colors 284 &.image { // entry icons colors
297 color: mix($fg_color, $base_color, 80%); 285 color: mix($fg_color, $base_color, 80%);
298 &:hover { color: $fg_color; } 286 &:hover { color: $fg_color; }
299 &:active { color: $selected_bg_color; } 287 &:active { color: $selected_bg_color; }
300 &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); } 288 &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); }
301 } 289 }
302 290
303 .linked.vertical > & { //FIXME comment stuff and make the whole thing smarter.
304 @include entry(normal, $edge: none);
305 background-image: linear-gradient(to bottom, $base_color);
306 border-bottom-color: mix($borders_color, $base_color, 30%);
307 box-shadow: none;
308 @extend %linked_vertical;
309 &:focus {
310 border-color: entry_focus_border($selected_bg_color);
311 box-shadow: entry_focus_glow($selected_bg_color),
312 0 -1px 0 0 entry_focus_border($selected_bg_color);
313 @extend %linked_vertical;
314 }
315 &:insensitive {
316 @include entry(insensitive, $edge: none);
317 border-bottom-color: mix($borders_color, $base_color, 30%);
318 @extend %linked_vertical;
319 &:backdrop {
320 @include entry(backdrop-insensitive, $edge: none);
321 border-bottom-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
322 @extend %linked_vertical;
323 }
324 }
325 &:backdrop {
326 @include entry(backdrop, $edge: none);
327 border-bottom-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
328 @extend %linked_vertical;
329 }
330 &:first-child {
331 @include entry(normal, $edge: none);
332 border-bottom-color: mix($borders_color, $base_color, 30%);
333 &:focus { @include entry(focus, $edge: none); }
334 &:insensitive {
335 @include entry(insensitive, $edge: none);
336 border-bottom-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
337 @extend %linked_vertical:first-child;
338 &:backdrop {
339 @include entry(backdrop-insensitive, $edge: none);
340 border-bottom-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
341 border-top-style: solid;
342 }
343 }
344 &:backdrop {
345 @include entry(backdrop, $edge: none);
346 border-bottom-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
347 @extend %linked_vertical:first-child;
348 }
349 }
350 &:last-child {
351 @include entry(normal);
352 background-image: linear-gradient(to bottom, $base_color);
353 box-shadow: _widget_edge();
354 &:focus {
355 border-color: entry_focus_border($selected_bg_color);
356 box-shadow: entry_focus_glow($selected_bg_color),
357 0 -1px 0 0 entry_focus_border($selected_bg_color),
358 _widget_edge();
359 @extend %linked_vertical:last-child;
360 }
361 &:insensitive {
362 @include entry(insensitive);
363 @extend %linked_vertical:last-child;
364 &:backdrop {
365 @include entry(backdrop-insensitive);
366 @extend %linked_vertical:last-child;
367 }
368 }
369 &:backdrop {
370 @include entry(backdrop);
371 @extend %linked_vertical:last-child;
372 }
373 }
374 }
375 .osd & { 291 .osd & {
376 @include entry(osd); 292 @include entry(osd);
377 &:focus { @include entry(osd-focus); } 293 &:focus { @include entry(osd-focus); }
378 &:backdrop { @include entry(osd-backdrop); } 294 &:backdrop { @include entry(osd-backdrop); }
379 &:insensitive { @include entry(osd-insensitive); } 295 &:insensitive { @include entry(osd-insensitive); }
380 } 296 }
381 } 297 }
298
299 // Vertically linked entries
300 // FIXME: take care of "colored" entries
301 .linked.vertical {
302 > .entry { @extend %linked_vertical; }
303
304 // remove the edge hilight and the focus shadow (unfortunatelly)
305 > .entry:not(:last-child) { box-shadow: none; }
306 // add back the focus shadow
307 > .entry:focus:not(:last-child) { box-shadow: entry_focus_shadow(); }
308
309 // brighter border between linked entries
310 > .entry:not(:insensitive) + .entry:not(:insensitive) {
311 border-top-color: mix($borders_color, $base_color, 30%);
312 background-image: linear-gradient(to bottom, $base_color);
313 &:backdrop {
314 border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%);
315 background-image: linear-gradient(to bottom, $backdrop_base_color);
316 }
317 }
318
319 // color back the top border of a linked focused entry following another entry and add back the focus shadow.
320 > .entry + .entry:focus:not(:last-child) {
321 border-top-color: entry_focus_border();
322 box-shadow: entry_focus_shadow();
323 }
324 // just recolor the top border on the last focused entry, since we don't reset the shadow here letting that be
325 // inherited by the entry styling.
326 > .entry + .entry:focus:last-child {
327 border-top-color: entry_focus_border();
328 }
329
330 // this takes care of coloring the top border of the focused entry subsequent widget.
331 // :not(:only-child) is a specificity bump hack.
332 > .entry:focus:not(:only-child) + .entry,
333 > .entry:focus:not(:only-child) + .button,
334 > .entry:focus:not(:only-child) + GtkComboBox > .the-button-in-the-combobox,
335 > .entry:focus:not(:only-child) + GtkComboBoxText > .the-button-in-the-combobox { border-top-color: entry_focus_border(); }
336 }
337
382 338
383 /*********** 339 /***********
384 * Buttons * 340 * Buttons *
385 ***********/ 341 ***********/
386 342
556 } 512 }
557 } 513 }
558 514
559 // Suggested and Destructive Action buttons 515 // Suggested and Destructive Action buttons
560 @each $b_type, $b_color in (suggested-action, $selected_bg_color), 516 @each $b_type, $b_color in (suggested-action, $selected_bg_color),
561 (destructive-action, $destructive_color) { 517 (destructive-action, $destructive_color) {
562 &.#{$b_type} { 518 &.#{$b_type} {
563 @include button(normal, $b_color, white); 519 @include button(normal, $b_color, white);
564 &.flat { 520 &.flat {
565 @include button(undecorated); 521 @include button(undecorated);
566 color: $b_color; //FIXME: does it work on the dark variant? 522 color: $b_color; //FIXME: does it work on the dark variant?
735 691
736 // More inline toolbar buttons 692 // More inline toolbar buttons
737 .inline-toolbar.toolbar GtkToolButton, 693 .inline-toolbar.toolbar GtkToolButton,
738 .inline-toolbar.toolbar GtkToolButton:backdrop { 694 .inline-toolbar.toolbar GtkToolButton:backdrop {
739 & > .button.flat { @extend %linked_middle; } 695 & > .button.flat { @extend %linked_middle; }
740 &:dir(rtl) > .button.flat { @extend %linked_middle:dir(rtl); }
741 &:first-child > .button.flat { @extend %linked:first-child; } 696 &:first-child > .button.flat { @extend %linked:first-child; }
742 &:last-child > .button.flat { @extend %linked:last-child; } 697 &:last-child > .button.flat { @extend %linked:last-child; }
743 &:last-child:dir(rtl) > .button.flat { @extend %linked:last-child:dir(rtl); }
744 &:only-child > .button.flat { @extend %linked:only-child; } 698 &:only-child > .button.flat { @extend %linked:only-child; }
745 } 699 }
746 700
747 %linked_middle { 701 %linked_middle {
748 border-radius: 0; 702 border-radius: 0;
749 border-left-style: none; 703 border-right-style: none;
750 &:dir(rtl) {
751 border-radius: 0; // needed when including %linked_middle:dir(rtl)
752 border-right-style: none;
753 border-left-style: solid
754 }
755 } 704 }
756 705
757 %linked { 706 %linked {
758 @extend %linked_middle; 707 @extend %linked_middle;
759 &:first-child { 708 &:first-child {
760 border-radius: 3px 0 0 3px; 709 border-top-left-radius: 3px;
761 border-left-style: solid; 710 border-bottom-left-radius: 3px;
762 } 711 }
763 &:last-child { 712 &:last-child {
764 border-radius: 0 3px 3px 0; 713 border-top-right-radius: 3px;
765 &:dir(rtl) { border-right-style: solid; } 714 border-bottom-right-radius: 3px;
715 border-right-style: solid;
766 } 716 }
767 &:only-child { 717 &:only-child {
768 border-radius: 3px; 718 border-radius: 3px;
769 border-style: solid; 719 border-style: solid;
770 } 720 }
771 } 721 }
772 722
773 %linked_vertical_middle { 723 %linked_vertical_middle {
774 border-left-style: solid; 724 border-style: solid solid none solid;
775 border-top-style: none;
776 border-radius: 0; 725 border-radius: 0;
777 } 726 }
778 727
779 %linked_vertical{ 728 %linked_vertical{
780 @extend %linked_vertical_middle; 729 @extend %linked_vertical_middle;
781 &:first-child { 730 &:first-child {
731 border-top-left-radius: 3px;
732 border-top-right-radius: 3px;
733 }
734 &:last-child {
735 border-bottom-left-radius: 3px;
736 border-bottom-right-radius: 3px;
782 border-style: solid; 737 border-style: solid;
783 border-radius: 3px 3px 0 0;
784 }
785 &:last-child {
786 border-radius: 0 0 3px 3px;
787 } 738 }
788 &:only-child { 739 &:only-child {
789 border-radius: 3px; 740 border-radius: 3px;
790 border-style: solid; 741 border-style: solid;
791 } 742 }
862 } 813 }
863 &:backdrop { 814 &:backdrop {
864 @extend %undecorated_button; //This shouldn't be needed but avoids 815 @extend %undecorated_button; //This shouldn't be needed but avoids
865 //a weird transition which for some reason 816 //a weird transition which for some reason
866 //makes borders blink on hover 817 //makes borders blink on hover
818 }
819 & > .label {
820 text-decoration-line: underline;
867 } 821 }
868 } 822 }
869 823
870 /***************** 824 /*****************
871 * GtkSpinButton * 825 * GtkSpinButton *
1018 972
1019 /************** 973 /**************
1020 * ComboBoxes * 974 * ComboBoxes *
1021 **************/ 975 **************/
1022 GtkComboBox { 976 GtkComboBox {
1023 > .button { padding-top: 3px; padding-bottom: 4px; } // Otherwise combos 977 > .the-button-in-the-combobox { padding-top: 3px; padding-bottom: 4px; } // Otherwise combos
1024 // are bigger then 978 // are bigger then
1025 // buttons 979 // buttons
1026 -GtkComboBox-arrow-scaling: 0.5; 980 -GtkComboBox-arrow-scaling: 0.5;
1027 -GtkComboBox-shadow-type: none; 981 -GtkComboBox-shadow-type: none;
1028
1029 box-shadow: 0 1px $borders_edge;
1030 982
1031 @include _button_text_shadow; 983 @include _button_text_shadow;
1032 984
1033 &:insensitive { 985 &:insensitive {
1034 color: $insensitive_fg_color; 986 color: $insensitive_fg_color;
1046 .menuitem { text-shadow: none; } 998 .menuitem { text-shadow: none; }
1047 .separator.vertical { 999 .separator.vertical {
1048 // always disable separators 1000 // always disable separators
1049 -GtkWidget-wide-separators: true; 1001 -GtkWidget-wide-separators: true;
1050 } 1002 }
1051 &.combobox-entry .entry { @extend %linked; } 1003 &.combobox-entry .entry {
1052 &.combobox-entry .button, &.combobox-entry .button:backdrop { 1004 &:dir(ltr) {
1053 // It is needed to specify the backdrop button or it gets overridden 1005 border-top-right-radius: 0;
1054 @extend %linked; 1006 border-bottom-right-radius: 0;
1055 } 1007 }
1056 } 1008 &:dir(rtl) {
1057 1009 border-top-left-radius: 0;
1058 .linked > GtkComboBox > .button { 1010 border-bottom-left-radius: 0;
1011 }
1012 }
1013 &.combobox-entry .button {
1014 &:dir(ltr) {
1015 border-top-left-radius: 0;
1016 border-bottom-left-radius: 0;
1017 border-left-style: none;
1018 }
1019 &:dir(rtl) {
1020 border-top-right-radius: 0;
1021 border-bottom-right-radius: 0;
1022 border-right-style: none;
1023 }
1024 }
1025 }
1026
1027 .linked > GtkComboBox > .the-button-in-the-combobox,
1028 .linked > GtkComboBoxText > .the-button-in-the-combobox {
1059 // the combo is a composite widget so the way we do button linkind doesn't 1029 // the combo is a composite widget so the way we do button linkind doesn't
1060 // work, special case needed. See 1030 // work, special case needed. See
1061 // https://bugzilla.gnome.org/show_bug.cgi?id=733979 1031 // https://bugzilla.gnome.org/show_bug.cgi?id=733979
1062 &:dir(ltr) { @extend %linked_middle; } // specificity bump 1032 &:dir(ltr),
1063 &:dir(rtl) { @extend %linked_middle:dir(rtl); } 1033 &:dir(rtl) { @extend %linked_middle; } // specificity bump
1064 } 1034 }
1065 .linked > GtkComboBox:first-child > .button { 1035 .linked > GtkComboBox:first-child > .the-button-in-the-combobox,
1036 .linked > GtkComboBoxText:first-child > .the-button-in-the-combobox {
1066 @extend %linked:first-child; 1037 @extend %linked:first-child;
1067 } 1038 }
1068 .linked > GtkComboBox:last-child > .button { 1039 .linked > GtkComboBox:last-child > .the-button-in-the-combobox,
1040 .linked > GtkComboBoxText:last-child > .the-button-in-the-combobox {
1069 @extend %linked:last-child; 1041 @extend %linked:last-child;
1070 } 1042 }
1071 .linked > GtkComboBox:only-child > .button { 1043 .linked > GtkComboBox:only-child > .the-button-in-the-combobox,
1044 .linked > GtkComboBoxText:only-child > .the-button-in-the-combobox {
1072 @extend %linked:only-child; 1045 @extend %linked:only-child;
1073 } 1046 }
1074 .linked.vertical > GtkComboBoxText > .button, 1047
1075 .linked.vertical > GtkComboBox > .button { @extend %linked_vertical_middle; } 1048 .linked.vertical > GtkComboBoxText > .the-button-in-the-combobox,
1076 .linked.vertical > GtkComboBoxText:first-child > .button, 1049 .linked.vertical > GtkComboBox > .the-button-in-the-combobox { @extend %linked_vertical_middle; }
1077 .linked.vertical > GtkComboBox:first-child > .button { @extend %linked_vertical:first-child; } 1050 .linked.vertical > GtkComboBoxText:first-child > .the-button-in-the-combobox,
1078 .linked.vertical > GtkComboBoxText:last-child > .button, 1051 .linked.vertical > GtkComboBox:first-child > .the-button-in-the-combobox { @extend %linked_vertical:first-child; }
1079 .linked.vertical > GtkComboBox:last-child > .button { @extend %linked_vertical:last-child; } 1052 .linked.vertical > GtkComboBoxText:last-child > .the-button-in-the-combobox,
1080 .linked.vertical > GtkComboBoxText:only-child > .button, 1053 .linked.vertical > GtkComboBox:last-child > .the-button-in-the-combobox { @extend %linked_vertical:last-child; }
1081 .linked.vertical > GtkComboBox:only-child > .button { @extend %linked_vertical:only-child; } 1054 .linked.vertical > GtkComboBoxText:only-child > .the-button-in-the-combobox,
1055 .linked.vertical > GtkComboBox:only-child > .the-button-in-the-combobox { @extend %linked_vertical:only-child; }
1082 1056
1083 /************ 1057 /************
1084 * Toolbars * 1058 * Toolbars *
1085 ************/ 1059 ************/
1086 .toolbar { 1060 .toolbar {
1333 -GtkTreeView-tree-line-pattern: ''; 1307 -GtkTreeView-tree-line-pattern: '';
1334 -GtkTreeView-expander-size: 16; 1308 -GtkTreeView-expander-size: 16;
1335 1309
1336 border-left-color: mix($fg_color, $base_color, 50%); // this is actually the tree lines color, 1310 border-left-color: mix($fg_color, $base_color, 50%); // this is actually the tree lines color,
1337 border-top-color: $bg_color; // while this is the grid lines color, better then nothing 1311 border-top-color: $bg_color; // while this is the grid lines color, better then nothing
1312
1313 &.rubberband { @extend .rubberband; } // to avoid borders being overridden by the previously set props
1338 1314
1339 &:selected { border-radius: 0; } // rest border radius in lists 1315 &:selected { border-radius: 0; } // rest border radius in lists
1340 1316
1341 &:selected, &:backdrop:selected { 1317 &:selected, &:backdrop:selected {
1342 border-left-color: mix($selected_fg_color, $selected_bg_color, 50%); 1318 border-left-color: mix($selected_fg_color, $selected_bg_color, 50%);
1533 } 1509 }
1534 1510
1535 .menu { 1511 .menu {
1536 margin: 4px; 1512 margin: 4px;
1537 padding: 0px; 1513 padding: 0px;
1538 background-color: $base_color; 1514 background-color: $menu_color;
1539 border: 1px solid $borders_color; // adds borders in a non composited env 1515 border: 1px solid $borders_color; // adds borders in a non composited env
1540 .csd & { border: none; } // axes borders in a composited env 1516 .csd & { border: none; } // axes borders in a composited env
1517 &:backdrop { background-color: $backdrop_menu_color; }
1541 .menuitem { 1518 .menuitem {
1542 text-shadow: none; 1519 text-shadow: none;
1543 padding: 4px; 1520 padding: 4px;
1544 &:hover { 1521 &:hover {
1545 color: $selected_fg_color; 1522 color: $selected_fg_color;
1549 color: $insensitive_fg_color; 1526 color: $insensitive_fg_color;
1550 &:backdrop { color: $backdrop_insensitive_color; } 1527 &:backdrop { color: $backdrop_insensitive_color; }
1551 } 1528 }
1552 &:backdrop, &:backdrop:hover { 1529 &:backdrop, &:backdrop:hover {
1553 color: $backdrop_fg_color; 1530 color: $backdrop_fg_color;
1554 background-color: $backdrop_base_color; 1531 background-color: transparent;
1555 } 1532 }
1556 //submenu indicators 1533 //submenu indicators
1557 &.arrow { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } 1534 &.arrow { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
1558 &.arrow:dir(rtl) {-gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); } 1535 &.arrow:dir(rtl) {-gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl'); }
1559 } 1536 }
1604 text-shadow: none; 1581 text-shadow: none;
1605 transition: none; 1582 transition: none;
1606 } 1583 }
1607 1584
1608 &.osd { @extend %osd; } 1585 &.osd { @extend %osd; }
1609 }
1610
1611 //touch selection handlebars for the Popover.osd above
1612 .entry.cursor-handle,
1613 .cursor-handle {
1614 background-color: transparent;
1615 background-image: none;
1616 box-shadow: none;
1617 border-style: none;
1618 &.top { -gtk-icon-source: -gtk-icontheme('selection-start-symbolic'); }
1619 &.bottom { -gtk-icon-source: -gtk-icontheme('selection-end-symbolic'); }
1620 } 1586 }
1621 1587
1622 /***************** 1588 /*****************
1623 * Notebooks and * 1589 * Notebooks and *
1624 * Tabs * 1590 * Tabs *
2027 **********/ 1993 **********/
2028 1994
2029 GtkSwitch { 1995 GtkSwitch {
2030 -GtkSwitch-slider-width: 45px; // 55px is the right value to make it as tall 1996 -GtkSwitch-slider-width: 45px; // 55px is the right value to make it as tall
2031 // as buttons, not doing that for now 1997 // as buttons, not doing that for now
1998 -GtkSwitch-slider-height: 27px;
1999
2032 font-weight: bold; 2000 font-weight: bold;
2033 font-size: smaller; 2001 font-size: smaller;
2034 outline-offset: -4px; 2002 outline-offset: -4px;
2035 box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here 2003 box-shadow: inset 0 1px transparentize(black, 0.9), // needs to be set here
2036 _widget_edge(); // otherwise it gets 2004 _widget_edge(); // otherwise it gets
2128 *************************/ 2096 *************************/
2129 2097
2130 // draw regular check and radio items using our PNG assets 2098 // draw regular check and radio items using our PNG assets
2131 // all assets are rendered from assets.svg. never add pngs directly 2099 // all assets are rendered from assets.svg. never add pngs directly
2132 2100
2133 $asset_suffix: if($variant=='dark', '-dark', '');
2134 @each $w,$a in ('check', 'checkbox'), 2101 @each $w,$a in ('check', 'checkbox'),
2135 ('radio','radio') { 2102 ('radio','radio') {
2136 2103
2137 //standard checks and radios 2104 //standard checks and radios
2138 @each $s,$as in ('','-unchecked'), 2105 @each $s,$as in ('','-unchecked'),
2192 .list-row .check, list-row .radio { 2159 .list-row .check, list-row .radio {
2193 icon-shadow: none; 2160 icon-shadow: none;
2194 &:selected, &:hover { icon-shadow: none; } 2161 &:selected, &:hover { icon-shadow: none; }
2195 } 2162 }
2196 2163
2197 //content view (grid/list)
2198
2199 .content-view {
2200 background-color: darken($bg_color,7%);
2201 &:backdrop { background-color: darken($bg_color,7%); }
2202 &.rubberband { @extend .rubberband; }
2203 }
2204
2205 //selection-mode 2164 //selection-mode
2206 @each $s,$as in ('','-selectionmode'), 2165 @each $s,$as in ('','-selectionmode'),
2207 (':hover', '-hover-selectionmode'), 2166 (':hover', '-hover-selectionmode'),
2208 (':active', '-active-selectionmode'), 2167 (':active', '-active-selectionmode'),
2209 (':backdrop', '-backdrop-selectionmode'), 2168 (':backdrop', '-backdrop-selectionmode'),
2210 (':checked', '-checked-selectionmode'), 2169 (':checked', '-checked-selectionmode'),
2211 (':checked:hover', '-checked-hover-selectionmode'), 2170 (':checked:hover', '-checked-hover-selectionmode'),
2212 (':checked:active', '-checked-active-selectionmode'), 2171 (':checked:active', '-checked-active-selectionmode'),
2213 (':backdrop:checked', '-checked-backdrop-selectionmode') { 2172 (':backdrop:checked', '-checked-backdrop-selectionmode') {
2214 .view.content-view.check#{$s} { 2173 .view.content-view.check#{$s}:not(.list) {
2215 icon-shadow: none; 2174 icon-shadow: none;
2216 -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"), 2175 -gtk-icon-source: -gtk-scaled(url("assets/checkbox#{$as}.png"),
2217 url("assets/checkbox#{$as}@2.png")); 2176 url("assets/checkbox#{$as}@2.png"));
2218 background-color: transparent; 2177 background-color: transparent;
2219 } 2178 }
2335 } 2294 }
2336 &:backdrop:insensitive, .highlight:backdrop:insensitive { 2295 &:backdrop:insensitive, .highlight:backdrop:insensitive {
2337 border-color: $backdrop_borders_color; 2296 border-color: $backdrop_borders_color;
2338 background-color: $insensitive_bg_color; 2297 background-color: $insensitive_bg_color;
2339 } 2298 }
2299
2340 //OSD troughs 2300 //OSD troughs
2341 .osd & { 2301 .osd & {
2342 border-color: $osd_borders_color; 2302 border-color: $osd_borders_color;
2343 box-shadow: none; 2303 box-shadow: none;
2344 margin: 9px; 2304 margin: 9px;
2358 border-color: $osd_borders_color; 2318 border-color: $osd_borders_color;
2359 background-image: none; 2319 background-image: none;
2360 } 2320 }
2361 } 2321 }
2362 } 2322 }
2363 } 2323 // scales on selected list rows
2364 2324 .list-row:selected & {
2365 $asset_suffix: if($variant=='dark', '-dark', ''); 2325 border-color: $selected_borders_color;
2326 &.trough {
2327 box-shadow: inset 1px 1px transparentize(black, 0.9);
2328 &:backdrop { box-shadow: none; }
2329 &.highlight:backdrop { border-color: $selected_borders_color; }
2330 }
2331 &:insensitive,
2332 &.trough.highlight:insensitive {
2333 border-color: $selected_bg_color;
2334 box-shadow: none;
2335 background-color: mix($selected_fg_color, $selected_bg_color, 50%);
2336 background-image: none;
2337 &:backdrop { background-color: mix($backdrop_selected_fg_color, $selected_bg_color, 50%); }
2338 }
2339 }
2340 }
2341
2366 @each $d,$dn in ('', 'horz'), 2342 @each $d,$dn in ('', 'horz'),
2367 ('.vertical', 'vert') { 2343 ('.vertical', 'vert') {
2368 @each $w,$we in ('scale-has-marks-below','scale_marks_below'), 2344 @each $w,$we in ('scale-has-marks-below','scale_marks_below'),
2369 ('scale-has-marks-above','scale_marks_above') { 2345 ('scale-has-marks-above','scale_marks_above') {
2370 .scale#{$d}.#{$w} { 2346 .scale#{$d}.#{$w} {
2371 -GtkScale-slider-length: 20; 2347 -GtkScale-slider-length: 20;
2372 -GtkRange-slider-width: 24; 2348 -GtkRange-slider-width: 24;
2373 -GtkRange-trough-border: 2; 2349 -GtkRange-trough-border: 2;
2350
2351 color: gtkalpha(currentColor, 0.5); // marks color
2374 2352
2375 @extend %#{$we}_#{$dn}; 2353 @extend %#{$we}_#{$dn};
2376 2354
2377 @each $s,$as in ('',''), 2355 @each $s,$as in ('',''),
2378 (':hover','-hover'), 2356 (':hover','-hover'),
2496 2474
2497 /************* 2475 /*************
2498 * Level Bar * 2476 * Level Bar *
2499 *************/ 2477 *************/
2500 2478
2501 .level-bar.vertical {
2502 -GtkLevelBar-min-block-width: 3;
2503 -GtkLevelBar-min-block-height: 34;
2504 }
2505
2506 .level-bar { 2479 .level-bar {
2507 box-shadow: _widget_edge(); // needs to be set here to avoid clipping 2480 box-shadow: _widget_edge(); // needs to be set here to avoid clipping
2508 -GtkLevelBar-min-block-width: 34; 2481 -GtkLevelBar-min-block-width: 34;
2509 -GtkLevelBar-min-block-height: 3; 2482 -GtkLevelBar-min-block-height: 3;
2510 &.vertical { 2483 &.vertical {
2594 2567
2595 /********* 2568 /*********
2596 * Lists * 2569 * Lists *
2597 *********/ 2570 *********/
2598 2571
2599 .list, .list-row { 2572 .list {
2600 background-color: $base_color; 2573 background-color: $base_color;
2601 border-color: $borders_color; 2574 border-color: $borders_color;
2602 &:backdrop { 2575 &:backdrop {
2603 background-color: $backdrop_base_color; 2576 background-color: $backdrop_base_color;
2604 border-color: $backdrop_borders_color; 2577 border-color: $backdrop_borders_color;
2608 .list-row, 2581 .list-row,
2609 .grid-child { 2582 .grid-child {
2610 padding: 2px; 2583 padding: 2px;
2611 } 2584 }
2612 2585
2613 .list-row.button, 2586 .list-row.activatable {
2614 .list-row.button:backdrop,
2615 .list-row.button:backdrop:active,
2616 .list-row.button:backdrop:checked,
2617 .list-row.button:backdrop:insensitive,
2618 .list-row.button:backdrop:insensitive:active,
2619 .list-row.button:backdrop:insensitive:checked,
2620 .list-row.button:insensitive:active,
2621 .list-row.button:insensitive:checked {
2622 // reset button inherited stuff
2623 @extend %undecorated_button;
2624 background-color: transparentize($base_color,1); // for the transition
2625 border-style: none; // I need no borders here
2626 border-radius: 0; // and no rounded corners
2627 box-shadow: none; // and no box-shadow
2628
2629 }
2630
2631 .list-row.button {
2632 // let's take care of background colors 2587 // let's take care of background colors
2633 &:hover { 2588 &:hover {
2634 background-color: mix($fg_color, $base_color, 5%); 2589 //background-color: mix($fg_color, $base_color, 5%);
2590 background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95));
2635 } 2591 }
2636 &:active { 2592 &:active {
2637 box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); 2593 box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8);
2638 } 2594 }
2639 &:backdrop:hover { background-color: transparent; } 2595 &:backdrop:hover { background-color: transparent; }
2692 // istead of repeating everytime this stuff. 2648 // istead of repeating everytime this stuff.
2693 } 2649 }
2694 } 2650 }
2695 2651
2696 // transition 2652 // transition
2697 .list-row, list-row.button { 2653 .list-row {
2698 transition: all 300ms $ease-out-quad; 2654 transition: all 150ms $ease-out-quad;
2699 &:hover { transition: none; } 2655 &:hover { transition: none; }
2700 } 2656 }
2701 2657
2702 2658
2703 /********************* 2659 /*********************
2780 2736
2781 &:backdrop { 2737 &:backdrop {
2782 @extend %undecorated_button; 2738 @extend %undecorated_button;
2783 color: transparentize($backdrop_fg_color,0.55); 2739 color: transparentize($backdrop_fg_color,0.55);
2784 } 2740 }
2785 } 2741
2786 2742 &:insensitive {
2787 &:inconsistent, &:inconsistent:backdrop, 2743 @extend %undecorated_button;
2788 &.highlight, &.highlight:backdrop { color: gtkalpha(currentColor, 0.55); } 2744 color: transparentize($insensitive_fg_color,0.55);
2745 }
2746 }
2747
2748 &:inconsistent, &:inconsistent:backdrop { color: gtkalpha(currentColor, 0.55); }
2749 &.highlight, &.highlight:backdrop {
2750 font-size: smaller;
2751 color: $fg_color;
2752 }
2789 2753
2790 2754
2791 &:backdrop { 2755 &:backdrop {
2792 color: $backdrop_text_color; 2756 color: $backdrop_text_color;
2793 border-color: $backdrop_borders_color; 2757 border-color: $backdrop_borders_color;
2801 .message-dialog .dialog-action-area .button { 2765 .message-dialog .dialog-action-area .button {
2802 padding: 8px; 2766 padding: 8px;
2803 } 2767 }
2804 2768
2805 .message-dialog { // Message Dialog styling 2769 .message-dialog { // Message Dialog styling
2806 -GtkDialog-button-spacing: 0;
2807
2808 @if $variant==light { 2770 @if $variant==light {
2809 // the bright variant as a slightly darker bg which in this case clashes with the window decoration, overriding 2771 // the bright variant as a slightly darker bg which in this case clashes with the window decoration, overriding
2810 &.background { background-color: $bg_color; } 2772 &.background { background-color: $bg_color; }
2811 } 2773 }
2812 2774
2912 * Sidebar * 2874 * Sidebar *
2913 ***********/ 2875 ***********/
2914 2876
2915 .sidebar { 2877 .sidebar {
2916 border: none; 2878 border: none;
2917 background-color: $sidebar_bg_color; 2879 background-color: mix($bg_color, $base_color, 50%);
2918 2880
2919 &:backdrop { 2881 &:backdrop {
2920 background-color: $backdrop_sidebar_bg_color; 2882 background-color: $backdrop_sidebar_bg_color;
2921 } 2883 }
2922 2884
2923 &:selected { 2885 &:selected {
2924 @extend %selected_items; 2886 @extend %selected_items;
2925 } 2887 }
2926 } 2888 }
2927 2889
2928 // Places sidebar is a special case, since the view here have to look like chrome not content, so we override text color 2890 $_placesidebar_icons_opacity: 0.7;
2929 GtkPlacesSidebar.sidebar .view { 2891 GtkSidebarRow {
2930 2892 // Needs overriding of the GtkListBoxRow padding
2931 color: $fg_color; 2893 &.list-row {
2932 background-color: transparent; 2894 padding: 0px;
2933 2895 }
2934 .separator, 2896 // Using margins/padding directly in the SidebarRow
2935 .separator:backdrop { @extend .separator; } 2897 // will make the animation of the new bookmark row jump
2936 2898 .sidebar-revealer {
2937 .image { // icons color 2899 padding: 4px 14px 4px 12px;
2938 color: mix($fg_color, $sidebar_bg_color, 70%); 2900 }
2939 2901 .sidebar-icon {
2940 &:selected { 2902 opacity: $_placesidebar_icons_opacity; // dim the device icons
2941 color: mix($selected_fg_color, $selected_bg_color, 90%); 2903 &:dir(ltr) { padding-right: 8px; }
2942 2904 &:dir(rtl) { padding-left: 8px; }
2943 &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 90%); } 2905 }
2944 } 2906 .sidebar-label {
2945 2907 &:dir(ltr) { padding-right: 2px; }
2946 &:insensitive { color: mix($insensitive_fg_color, $sidebar_bg_color, 70%); } 2908 &:dir(rtl) { padding-left: 2px; }
2947 2909 }
2948 &:backdrop { 2910 }
2949 color: mix($backdrop_fg_color, $sidebar_bg_color, 70%); 2911
2950 2912 GtkPlacesSidebar.sidebar {
2951 &:insensitive { color: mix($backdrop_insensitive_color, $sidebar_bg_color, 70%); } 2913 // in the sidebar case it makes no sense to click the selected row
2952 } 2914 .list-row:selected:active { box-shadow: none; }
2953 } 2915
2954 2916 // looks like the label doesn't get all the states so work around
2955 &:insensitive { color: $insensitive_fg_color; } 2917 .list-row:selected:insensitive .label { @extend %selected_items:insensitive; }
2956 2918 .list-row:selected:backdrop:insensitive .label { @extend %selected_items:backdrop:insensitive; }
2957 &:backdrop { 2919
2958 color: $backdrop_fg_color; 2920 .sidebar-placeholder-row {
2959 2921 border: solid 1px $selected_bg_color;
2960 &:insensitive { color: $backdrop_insensitive_color; } 2922 }
2961 } 2923
2962 2924 .sidebar-new-bookmark-row {
2963 &:selected { 2925 color: $selected_bg_color;
2964 @extend %selected_items; 2926 }
2965 } 2927
2966 } 2928 @at-root .sidebar-button.button { // @at-root needded to not change the specificity making button styling inheritance broken
2967 2929 // so istead of "GtkPlacesSidebar.sidebar .sidebar-button.button" [specificity 0,0,3,1]
2930 // the extended selector ".sidebar-button.button" [specificity 0,0,2,0]
2931
2932 &.image-button { padding: 5px; }
2933
2934 @extend .button.flat;
2935 border-radius: 100%;
2936 outline-radius: 100%;
2937 &:not(:hover):not(:active) > GtkImage,
2938 &:backdrop > GtkImage { opacity: $_placesidebar_icons_opacity };
2939 }
2940 // this is for indicating which sidebar row generated a popover
2941 // see https://bugzilla.gnome.org/show_bug.cgi?id=754411
2942 .has-open-popup { @extend .list-row.activatable:hover; }
2943 }
2968 2944
2969 .sidebar-item { 2945 .sidebar-item {
2970 padding: 10px 4px; 2946 padding: 10px 4px;
2971 > .label { 2947 > .label {
2972 padding-left: 6px; 2948 padding-left: 6px;
2976 @extend %needs_attention; 2952 @extend %needs_attention;
2977 background-size: 6px 6px, 0 0; 2953 background-size: 6px 6px, 0 0;
2978 } 2954 }
2979 } 2955 }
2980 2956
2957 /****************
2958 * File chooser *
2959 ****************/
2960
2961 GtkPlacesView {
2962 .server-list-button > GtkImage {
2963 transition: 200ms $ease-out-quad;
2964 -gtk-icon-transform: rotate(0turn);
2965 }
2966
2967 .server-list-button:checked > GtkImage {
2968 transition: 200ms $ease-out-quad;
2969 -gtk-icon-transform: rotate(-0.5turn);
2970 }
2971
2972 .list-row.activatable:hover {
2973 background-color: transparent;
2974 }
2975 }
2981 2976
2982 /********* 2977 /*********
2983 * Paned * 2978 * Paned *
2984 *********/ 2979 *********/
2985 2980
3111 } 3106 }
3112 } 3107 }
3113 3108
3114 // we need to re-set the shadow here since it get axed by the previous bit 3109 // we need to re-set the shadow here since it get axed by the previous bit
3115 &:selected { box-shadow: $_colorswatch_shadow; } 3110 &:selected { box-shadow: $_colorswatch_shadow; }
3111 &:insensitive {
3112 box-shadow: none;
3113 opacity: 0.5;
3114 }
3116 3115
3117 // base color corners rounding 3116 // base color corners rounding
3118 // to avoid the artifacts caused by rounded corner anti-aliasing the base color 3117 // to avoid the artifacts caused by rounded corner anti-aliasing the base color
3119 // sports a bigger radius. 3118 // sports a bigger radius.
3120 // nth-child is needed by the custom color strip. 3119 // nth-child is needed by the custom color strip.
3188 } 3187 }
3189 3188
3190 // indicator and keynav outline colors 3189 // indicator and keynav outline colors
3191 &.color-dark { 3190 &.color-dark {
3192 color: white; 3191 color: white;
3193 outline-color: transparentize(black, 0.7); 3192 outline-color: transparentize(white, 0.5);
3194 &:backdrop { color: transparentize(white, 0.7); } 3193 &:backdrop { color: transparentize(white, 0.7); }
3195 } 3194 }
3196 &.color-light { 3195 &.color-light {
3197 color: black; 3196 color: black;
3198 outline-color: transparentize(white, 0.5); 3197 outline-color: transparentize(black, 0.5);
3199 &:backdrop { color: transparentize(black, 0.7); } 3198 &:backdrop { color: transparentize(black, 0.7); }
3200 } 3199 }
3201 3200
3202 // border color 3201 // border color
3203 &.overlay, 3202 &.overlay,
3220 3219
3221 /******** 3220 /********
3222 * Misc * 3221 * Misc *
3223 ********/ 3222 ********/
3224 3223
3225 .scale-popup .button { // +/- buttons on GtkVolumeButton popup 3224 //content view (grid/list)
3226 padding: 6px; 3225 .content-view {
3227 &:hover { 3226 background-color: darken($bg_color,7%);
3228 @extend %undecorated_button; 3227 &:hover { -gtk-image-effect: highlight; }
3229 background-color: transparentize($fg_color,0.9); 3228 &:backdrop { background-color: darken($bg_color,7%); }
3230 border-radius: 5px; 3229 &.rubberband { @extend .rubberband; }
3231 } 3230 }
3232 &:backdrop, 3231
3233 &:backdrop:hover, 3232 .scale-popup {
3234 &:backdrop:insensitive { @extend %undecorated_button; } 3233
3235 } 3234 .osd & { @extend %osd; }
3236 3235
3237 GtkVolumeButton.button { padding: 8px; } 3236 .osd & .button.flat { //FIXME: quick hack, redo properly
3237 padding: 6px;
3238 border-style: none;
3239 border-radius: 5px;
3240 }
3241
3242 .button { // +/- buttons on GtkVolumeButton popup
3243 padding: 6px;
3244 &:hover {
3245 @extend %undecorated_button;
3246 background-color: transparentize($fg_color,0.9);
3247 border-radius: 5px;
3248 }
3249 &:backdrop,
3250 &:backdrop:hover,
3251 &:backdrop:insensitive { @extend %undecorated_button; }
3252 }
3253 }
3254
3255 GtkScaleButton.button,
3256 GtkVolumeButton.button {
3257 // I assume both are image-button *by default*
3258 // with the image-button/text-button classes automagically applied depending on the button child these selectors can be deleted.
3259 @extend .image-button;
3260
3261 &.text-button { @extend .text-button }
3262 }
3238 3263
3239 /********************** 3264 /**********************
3240 * Window Decorations * 3265 * Window Decorations *
3241 *********************/ 3266 *********************/
3242 3267
3271 // server-side decorations as used by mutter 3296 // server-side decorations as used by mutter
3272 &.ssd { 3297 &.ssd {
3273 box-shadow: 0 0 0 1px $_wm_border; //just doing borders, wm draws actual shadows 3298 box-shadow: 0 0 0 1px $_wm_border; //just doing borders, wm draws actual shadows
3274 } 3299 }
3275 &.csd { 3300 &.csd {
3276 .popup { 3301 &.popup {
3277 border-radius: 0; 3302 border-radius: 0;
3278 box-shadow: 0 1px 2px transparentize(black, 0.8), 3303 box-shadow: 0 1px 2px transparentize(black, 0.8),
3279 0 0 0 1px transparentize($_wm_border,0.1); 3304 0 0 0 1px transparentize($_wm_border,0.1);
3280 } 3305 }
3281 &.tooltip { 3306 &.tooltip {
3320 background-color: $selected_bg_color; 3345 background-color: $selected_bg_color;
3321 color: $selected_fg_color; 3346 color: $selected_fg_color;
3322 @if $variant == 'light' { 3347 @if $variant == 'light' {
3323 outline-color: transparentize($selected_fg_color, 0.7); 3348 outline-color: transparentize($selected_fg_color, 0.7);
3324 } 3349 }
3350 &:insensitive { color: mix($selected_fg_color, $selected_bg_color, 50%); }
3325 &:backdrop { 3351 &:backdrop {
3326 color: $backdrop_selected_fg_color; 3352 color: $backdrop_selected_fg_color;
3327 background-color: $backdrop_selected_bg_color; 3353 &:insensitive {
3354 color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%);
3355 }
3356 }
3357 }
3358
3359 .monospace {
3360 font: Monospace;
3361 }
3362
3363 /**********************
3364 * Touch Copy & Paste *
3365 *********************/
3366
3367 //touch selection handlebars for the Popover.osd above
3368 .entry.cursor-handle,
3369 .cursor-handle {
3370 background-color: transparent;
3371 background-image: none;
3372 box-shadow: none;
3373 border-style: none;
3374 @each $s,$as in ('',''),
3375 (':hover','-hover'),
3376 (':active','-active') { //no need for insensitive and backdrop
3377 &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) {
3378 $_url: 'assets/text-select-start#{$as}#{$asset_suffix}';
3379 -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
3380 url('#{$_url}@2.png'));
3381 padding-left: 10px;
3382 }
3383 &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) {
3384 $_url: 'assets/text-select-end#{$as}#{$asset_suffix}';
3385 -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
3386 url('#{$_url}@2.png'));
3387 padding-right: 10px;
3388 }
3389 &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) {
3390 $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}';
3391 -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
3392 url('#{$_url}@2.png'));
3393 }
3328 } 3394 }
3329 } 3395 }
3330 3396
3331 /* Decouple the font of context menus from their entry/textview */ 3397 /* Decouple the font of context menus from their entry/textview */
3332 .touch-selection,
3333 .context-menu { 3398 .context-menu {
3334 font: initial; 3399 font: initial;
3335 } 3400 }
3336 3401
3337 .monospace { 3402 .touch-selection {
3338 font: Monospace; 3403 font: initial;
3404 color: $osd_fg_color;
3405 border: none;
3406 background-color: opacify($osd_bg_color,0.2);
3407 background-clip: padding-box;
3408 outline-color: transparentize($osd_fg_color, 0.7);
3409 box-shadow: none;
3410 text-shadow: 0 1px black;
3411 icon-shadow: 0 1px black;
3412 &:backdrop { text-shadow: none; }
3413 .button {
3414 @include button(osd);
3415 &:hover { @include button(osd-hover); }
3416 &:active, &:checked { @include button(osd-active); }
3417 &:insensitive, &:backdrop:insensitive { @include button(osd-insensitive); }
3418 &:backdrop { @include button(osd-backdrop); }
3419 }
3420 // checkboxes and radios to use the -dark style for OSD style popovers
3421 @each $w,$a in ('check', 'checkbox'),
3422 ('radio','radio') {
3423 @each $s,$as in ('','-unchecked'),
3424 (':hover', '-unchecked-hover'),
3425 (':active', '-unchecked-active'),
3426 (':insensitive','-unchecked-insensitive'),
3427 (':inconsistent', '-mixed'),
3428 (':inconsistent:hover', '-mixed-hover'),
3429 (':inconsistent:selected', '-mixed-active'),
3430 (':inconsistent:insensitive', '-mixed-insensitive'),
3431 (':checked', '-checked'),
3432 (':checked:insensitive','-checked-insensitive'),
3433 (':checked:hover', '-checked-hover'),
3434 (':checked:active', '-checked-active'),
3435 (':backdrop:checked', '-checked-backdrop') {
3436 .#{$w}#{$s} {
3437 icon-shadow: none;
3438 -gtk-icon-source: -gtk-scaled(url("assets/#{$a}#{$as}-dark.png"),
3439 url("assets/#{$a}#{$as}-dark@2.png"));
3440 }
3441 }
3442 }
3339 } 3443 }
3340 3444
3341 // This is used by GtkScrolledWindow, when content is touch-dragged past boundaries. 3445 // This is used by GtkScrolledWindow, when content is touch-dragged past boundaries.
3342 // This draws a box on top of the content, the size changes programmatically. 3446 // This draws a box on top of the content, the size changes programmatically.
3343 .overshoot { 3447 .overshoot {