Mercurial > repos > other > Adwaita-Dark-Green
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 { |