_colors.scss
ASCII text
1
// When color definition differs for dark and light variant,
2
// it gets @if ed depending on $variant
3
4
@import 'color-palette';
5
6
@function gtkalpha($c, $a) {
7
@return unquote("alpha(#{$c}, #{$a})");
8
}
9
10
@function fade($c) {
11
@return mix($c, $grey_900, 50%);
12
}
13
14
// Foreground colors
15
$dark_fg_color: rgba($black, 0.87);
16
$light_fg_color: $white;
17
18
$fg_color: if($variant == 'light', rgba($black, 0.87), $white);
19
$button_fg_color: if($variant == 'light', rgba($black, 0.62), rgba($white, 0.8)); // extra fg color for raised buttons
20
$secondary_fg_color: if($variant == 'light', rgba($black, 0.54), rgba($white, 0.7));
21
$hint_fg_color: if($variant == 'light', rgba($black, 0.38), rgba($white, 0.5));
22
$disabled_fg_color: if($variant == 'light', rgba($black, 0.38), rgba($white, 0.5));
23
$disabled_secondary_fg_color: if($variant == 'light', rgba($black, 0.26), rgba($white, 0.3));
24
$track_color: if($variant == 'light', rgba($black, 0.26), rgba($white, 0.3));
25
$divider_color: if($variant == 'light', rgba($black, 0.12), rgba($white, 0.12));
26
27
$titlebar_fg_color: if($titlebar == 'light', rgba($black, 0.87), $white);
28
$titlebar_secondary_fg_color: if($titlebar == 'light', rgba($black, 0.54), rgba($white, 0.7));
29
$titlebar_hint_fg_color: if($titlebar == 'light', rgba($black, 0.38), rgba($white, 0.5));
30
$titlebar_disabled_fg_color: if($titlebar == 'light', rgba($black, 0.38), rgba($white, 0.5));
31
$titlebar_disabled_secondary_fg_color: if($titlebar == 'light', rgba($black, 0.26), rgba($white, 0.3));
32
$titlebar_track_color: if($titlebar == 'light', rgba($black, 0.26), rgba($white, 0.3));
33
$titlebar_divider_color: if($titlebar == 'light', rgba($black, 0.12), rgba($white, 0.12));
34
35
$inverse_fg_color: $white;
36
$inverse_secondary_fg_color: rgba($white, 0.7);
37
$inverse_hint_fg_color: rgba($white, 0.5);
38
$inverse_disabled_fg_color: rgba($white, 0.5);
39
$inverse_disabled_secondary_fg_color: rgba($white, 0.3);
40
$inverse_track_color: rgba($white, 0.3);
41
$inverse_divider_color: rgba($white, 0.12);
42
43
// Background colors
44
$bg_color: if($variant == 'light', $grey_100, fade($blue_grey_700));
45
$base_color: if($variant == 'light', $white, fade($blue_grey_600));
46
$alt_base_color: if($variant == 'light', $grey_50, mix($base_color, $bg_color, 50%));
47
$lighter_bg_color: if($variant == 'light', $grey_50, fade($blue_grey_500));
48
$alt_lighter_bg_color: if($variant == 'light', $grey_200, fade($blue_grey_600)); // for gnome-shell sub menu
49
$darker_bg_color: if($variant == 'light', $grey_200, fade($blue_grey_900));
50
51
$titlebar_bg_color: if($titlebar == 'dark', if($variant == 'light', $blue_grey_700, $blue_grey_800), $grey_300);
52
$alt_titlebar_bg_color: if($titlebar == 'dark', $blue_grey_800, $grey_300);
53
54
$panel_bg_color: rgba($black, $middle_opacity);
55
$alt_panel_bg_color: rgba($black, $lower_opacity);
56
$inverse_panel_bg_color: rgba($inverse_fg_color, 0.1);
57
$solid_panel_bg_color: if($titlebar == 'dark', $blue_grey_900, $panel_bg_color);
58
$opaque_panel_bg_color: if($titlebar == 'dark', $blue_grey_900, mix($grey_300, $grey_400, 50%)); // for Unity panel which cannot use translucent colors
59
60
$gdm_bg_color: if($variant == 'light', $blue_grey_700, $blue_grey_800);
61
62
$fill_color: gtkalpha(currentColor, $lower_opacity);
63
$semi_fill_color: gtkalpha(currentColor, $lower_opacity / 2);
64
$row_fill_color: gtkalpha(currentColor, 0.05);
65
66
// Misc colors
67
$primary_color: $blue_400;
68
$alt_primary_color: $light_blue_A200;
69
$accent_color: $pink_A200;
70
$disabled_accent_color: rgba($accent_color, 0.5);
71
72
$link_color: $primary_color;
73
$visited_link_color: $purple_A200;
74
75
$warning_color: $orange_A700;
76
$error_color: $deep_orange_A700;
77
$success_color: $green_A700;
78
79
$suggested_color: $accent_color;
80
$destructive_color: $red_A200;
81
82
$info_bg_color: $green_400;
83
$question_bg_color: $blue_400;
84
$warning_bg_color: $orange_400;
85
$error_bg_color: $red_400;
86
87
$border_color: if($variant == 'light', rgba($black, 0.12), rgba($black, 0.26));
88
$alt_border_color: rgba($black, 0.26); // for non-native GTK+ apps (e.g. Firefox and Chrome)
89
$highlight_color: if($variant == 'light', rgba($white, 0.4), rgba($white, 0.1));
90
$titlebar_highlight_color: if($titlebar == 'dark', rgba($white, 0.1), rgba($white, 0.4));
91
$alt_highlight_color: rgba($white, 0.2); // for selection-mode headerbar which colored with $primary_color
92
$titlebar_indicator_color: if($titlebar == 'dark', currentColor, $primary_color);
93
94
// for Electron/Atom menu which cannot use translucent colors
95
$opaque_fg_color: if($variant == 'light', $grey_900, $white);
96
$opaque_secondary_fg_color: if($variant == 'light', $grey_600, mix($white, $base_color, percentage(0.7)));
97
$opaque_disabled_fg_color: if($variant == 'light', $grey_500, mix($white, $base_color, percentage(0.5)));
98
$opaque_divider_color: if($variant == 'light', $grey_300, mix($white, $base_color, percentage(0.12)));
99
100
// FIXME: gtk's @placeholder_text_color API really should use $secondary_fg_color,
101
// but it doesn't work with translucent colors. So we use opaque colors instead.
102
$placeholder_text_color: if($variant == 'light',
103
mix($black, $base_color, percentage(0.54)),
104
mix($white, $base_color, percentage(0.7)));
105