]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/theme/theme.factor
a43aa7fc3639a54a46658ffd92abd11cb58a8258
[factor.git] / basis / ui / theme / theme.factor
1 ! Copyright (C) 2016 Nicolas PĂ©net.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: colors delegate namespaces ;
4 IN: ui.theme
5
6 SYMBOL: theme
7
8 HOOK: toolbar-background theme ( -- color )
9 HOOK: toolbar-button-pressed-background theme ( -- color )
10
11 HOOK: menu-background theme ( -- color )
12 HOOK: menu-border-color theme ( -- color )
13
14 HOOK: status-bar-background theme ( -- color )
15 HOOK: status-bar-foreground theme ( -- color )
16
17 HOOK: button-text-color theme ( -- color )
18 HOOK: button-clicked-text-color theme ( -- color )
19
20 HOOK: line-color theme ( -- color )
21
22 HOOK: column-title-background theme ( -- color )
23
24 HOOK: roll-button-rollover-border theme ( -- color )
25 HOOK: roll-button-selected-background theme ( -- color )
26
27 HOOK: source-files-color theme ( -- color )
28 HOOK: errors-color theme ( -- color )
29 HOOK: details-color theme ( -- color )
30
31 HOOK: debugger-color theme ( -- color )
32 HOOK: completion-color theme ( -- color )
33
34 HOOK: data-stack-color theme ( -- color )
35 HOOK: retain-stack-color theme ( -- color )
36 HOOK: call-stack-color theme ( -- color )
37
38 HOOK: title-bar-gradient theme ( -- color )
39
40 HOOK: popup-color theme ( -- color )
41
42 HOOK: object-color theme ( -- color )
43 HOOK: contents-color theme ( -- color )
44
45 HOOK: help-header-background theme ( -- color )
46
47 HOOK: thread-status-stopped-background theme ( -- color )
48 HOOK: thread-status-suspended-background theme ( -- color )
49 HOOK: thread-status-running-background theme ( -- color )
50
51 HOOK: thread-status-stopped-foreground theme ( -- color )
52 HOOK: thread-status-suspended-foreground theme ( -- color )
53 HOOK: thread-status-running-foreground theme ( -- color )
54
55 HOOK: error-summary-background theme ( -- color )
56
57 HOOK: content-background theme ( -- color )
58 HOOK: text-color theme ( -- color )
59
60 HOOK: link-color theme ( -- color )
61 HOOK: title-color theme ( -- color )
62 HOOK: heading-color theme ( -- color )
63 HOOK: snippet-color theme ( -- color )
64 HOOK: output-color theme ( -- color )
65 HOOK: deprecated-background-color theme ( -- color )
66 HOOK: deprecated-border-color theme ( -- color )
67 HOOK: warning-background-color theme ( -- color )
68 HOOK: warning-border-color theme ( -- color )
69 HOOK: code-background-color theme ( -- color )
70 HOOK: code-border-color theme ( -- color )
71 HOOK: help-path-border-color theme ( -- color )
72
73 HOOK: tip-background-color theme ( -- color )
74
75 HOOK: prompt-background-color theme ( -- color )
76
77 HOOK: dim-color theme ( -- color )
78 HOOK: highlighted-word-color theme ( -- color )
79 HOOK: string-color theme ( -- color )
80 HOOK: stack-effect-color theme ( -- color )
81
82 HOOK: vocab-background-color theme ( -- color )
83 HOOK: vocab-border-color theme ( -- color )
84
85 HOOK: field-border-color theme ( -- color )
86
87 HOOK: editor-caret-color theme ( -- color )
88 HOOK: selection-color theme ( -- color )
89 HOOK: panel-background-color theme ( -- color )
90 HOOK: focus-border-color theme ( -- color )
91
92 HOOK: labeled-border-color theme ( -- color )
93
94 HOOK: table-border-color theme ( -- color )
95
96 ! Protocol
97
98 PROTOCOL: theme-protocol
99 toolbar-background toolbar-button-pressed-background
100 menu-background menu-border-color status-bar-background
101 status-bar-foreground button-text-color
102 button-clicked-text-color line-color column-title-background
103 roll-button-rollover-border roll-button-selected-background
104 source-files-color errors-color details-color debugger-color
105 completion-color data-stack-color retain-stack-color
106 call-stack-color title-bar-gradient popup-color object-color
107 contents-color help-header-background
108 thread-status-stopped-background
109 thread-status-suspended-background
110 thread-status-running-background
111 thread-status-stopped-foreground
112 thread-status-suspended-foreground
113 thread-status-running-foreground error-summary-background
114 content-background text-color link-color title-color
115 heading-color snippet-color output-color
116 deprecated-background-color deprecated-border-color
117 warning-background-color warning-border-color
118 code-background-color code-border-color help-path-border-color
119 tip-background-color prompt-background-color dim-color
120 highlighted-word-color string-color stack-effect-color
121 vocab-background-color vocab-border-color field-border-color
122 editor-caret-color selection-color panel-background-color
123 focus-border-color labeled-border-color table-border-color ;
124
125 ! Light theme
126
127 SINGLETON: light-theme
128 theme [ light-theme ] initialize
129
130 M: light-theme toolbar-background COLOR: grey95 ;
131 M: light-theme toolbar-button-pressed-background COLOR: dark-gray ;
132
133 M: light-theme menu-background COLOR: grey95 ;
134 M: light-theme menu-border-color COLOR: grey75 ;
135
136 M: light-theme status-bar-background COLOR: FactorDarkSlateBlue ;
137 M: light-theme status-bar-foreground COLOR: white ;
138
139 M: light-theme button-text-color COLOR: FactorDarkSlateBlue ;
140 M: light-theme button-clicked-text-color COLOR: white ;
141
142 M: light-theme line-color COLOR: grey75 ;
143
144 M: light-theme column-title-background COLOR: grey95 ;
145
146 M: light-theme roll-button-rollover-border COLOR: gray50 ;
147 M: light-theme roll-button-selected-background COLOR: dark-gray ;
148
149 M: light-theme source-files-color COLOR: MediumSeaGreen ;
150 M: light-theme errors-color COLOR: chocolate1 ;
151 M: light-theme details-color COLOR: SteelBlue3 ;
152
153 M: light-theme debugger-color COLOR: chocolate1 ;
154 M: light-theme completion-color COLOR: magenta ;
155
156 M: light-theme data-stack-color COLOR: DodgerBlue ;
157 M: light-theme retain-stack-color COLOR: HotPink ;
158 M: light-theme call-stack-color COLOR: GreenYellow ;
159
160 M: light-theme title-bar-gradient { COLOR: white COLOR: grey90 } ;
161
162 M: light-theme popup-color COLOR: yellow2 ;
163
164 M: light-theme object-color COLOR: aquamarine2 ;
165 M: light-theme contents-color COLOR: orchid2 ;
166
167 M: light-theme help-header-background COLOR: #F4EFD9 ;
168
169 M: light-theme thread-status-stopped-background COLOR: #F4D9D9 ;
170 M: light-theme thread-status-suspended-background COLOR: #F4EAD9 ;
171 M: light-theme thread-status-running-background COLOR: #EDF4D9 ;
172
173 M: light-theme thread-status-stopped-foreground COLOR: #F42300 ;
174 M: light-theme thread-status-suspended-foreground COLOR: #F37B00 ;
175 M: light-theme thread-status-running-foreground COLOR: #3FCA00 ;
176
177 M: light-theme error-summary-background COLOR: #F4D9D9 ;
178
179 M: light-theme content-background COLOR: white ;
180 M: light-theme text-color COLOR: black ;
181
182 M: light-theme link-color COLOR: #2A5DB0 ;
183 M: light-theme title-color COLOR: gray20 ;
184 M: light-theme heading-color COLOR: FactorDarkSlateBlue ;
185 M: light-theme snippet-color COLOR: DarkOrange4 ;
186 M: light-theme output-color COLOR: DarkOrange4 ;
187 M: light-theme deprecated-background-color COLOR: #F4EAD9 ;
188 M: light-theme deprecated-border-color COLOR: #F37B00 ;
189 M: light-theme warning-background-color COLOR: #F4D9D9 ;
190 M: light-theme warning-border-color COLOR: #F42300 ;
191 M: light-theme code-background-color COLOR: FactorLightTan ;
192 M: light-theme code-border-color COLOR: FactorTan ;
193 M: light-theme help-path-border-color COLOR: grey95 ;
194
195 M: light-theme tip-background-color COLOR: lavender ;
196
197 M: light-theme prompt-background-color T{ rgba f 1 0.7 0.7 1 } ;
198
199 M: light-theme dim-color COLOR: gray35 ;
200 M: light-theme highlighted-word-color COLOR: DarkSlateGray ;
201 M: light-theme string-color COLOR: LightSalmon4 ;
202 M: light-theme stack-effect-color COLOR: FactorDarkSlateBlue ;
203
204 M: light-theme field-border-color COLOR: gray ;
205
206 M: light-theme editor-caret-color COLOR: red ;
207 M: light-theme selection-color T{ rgba f 0.8 0.8 1.0 1.0 } ;
208 M: light-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
209 M: light-theme focus-border-color COLOR: dark-gray ;
210
211 M: light-theme labeled-border-color COLOR: grey85 ;
212
213 M: light-theme table-border-color COLOR: FactorTan ;
214
215 SINGLETON: dark-theme
216
217 M: dark-theme toolbar-background COLOR: #202124 ;
218 M: dark-theme toolbar-button-pressed-background COLOR: solarized-base0 ;
219
220 M: dark-theme menu-background COLOR: #202124 ;
221 M: dark-theme menu-border-color COLOR: solarized-base01 ;
222
223 M: dark-theme status-bar-background COLOR: FactorDarkSlateBlue ;
224 M: dark-theme status-bar-foreground COLOR: white ;
225
226 M: dark-theme button-text-color COLOR: solarized-base1 ;
227 M: dark-theme button-clicked-text-color COLOR: white ;
228
229 M: dark-theme line-color COLOR: solarized-base01 ;
230
231 M: dark-theme column-title-background COLOR: #2F4D5B ;
232
233 M: dark-theme roll-button-rollover-border COLOR: gray50 ;
234 M: dark-theme roll-button-selected-background COLOR: dark-gray ;
235
236 M: dark-theme source-files-color COLOR: solarized-green ;
237 M: dark-theme errors-color COLOR: solarized-red ;
238 M: dark-theme details-color COLOR: solarized-blue ;
239
240 M: dark-theme debugger-color COLOR: solarized-red ;
241 M: dark-theme completion-color COLOR: solarized-violet ;
242
243 M: dark-theme data-stack-color COLOR: solarized-blue ;
244 M: dark-theme retain-stack-color COLOR: solarized-magenta ;
245 M: dark-theme call-stack-color COLOR: solarized-green ;
246
247 M: dark-theme title-bar-gradient { COLOR: solarized-base01 COLOR: solarized-base02 } ;
248
249 M: dark-theme popup-color COLOR: solarized-yellow ;
250
251 M: dark-theme object-color COLOR: solarized-cyan ;
252 M: dark-theme contents-color COLOR: solarized-magenta ;
253
254 M: dark-theme help-header-background COLOR: #2F4D5B ;
255
256 M: dark-theme thread-status-stopped-background COLOR: #492d33 ;
257 M: dark-theme thread-status-suspended-background COLOR: #3c4a24 ;
258 M: dark-theme thread-status-running-background COLOR: #2c4f24 ;
259
260 M: dark-theme thread-status-stopped-foreground COLOR: solarized-red ;
261 M: dark-theme thread-status-suspended-foreground COLOR: solarized-yellow ;
262 M: dark-theme thread-status-running-foreground COLOR: solarized-green ;
263
264 M: dark-theme error-summary-background COLOR: #6E2E32 ;
265
266 M: dark-theme content-background COLOR: #202124 ;
267 M: dark-theme text-color COLOR: #bdc1c6 ;
268
269 M: dark-theme link-color COLOR: #8ab4f8 ;
270 M: dark-theme title-color COLOR: grey75 ;
271 M: dark-theme heading-color COLOR: grey75 ;
272 M: dark-theme snippet-color COLOR: solarized-orange ;
273 M: dark-theme output-color COLOR: solarized-orange ;
274 M: dark-theme deprecated-background-color COLOR: #3c4a24 ;
275 M: dark-theme deprecated-border-color COLOR: solarized-yellow ;
276 M: dark-theme warning-background-color COLOR: #492d33 ;
277 M: dark-theme warning-border-color COLOR: solarized-red ;
278 M: dark-theme code-background-color COLOR: #2F4D5B ;
279 M: dark-theme code-border-color COLOR: #666666 ;
280 M: dark-theme help-path-border-color COLOR: solarized-base02 ;
281
282 M: dark-theme tip-background-color COLOR: #2F4D5B ;
283
284 M: dark-theme prompt-background-color COLOR: #922f31 ;
285
286 M: dark-theme dim-color COLOR: solarized-cyan ;
287 M: dark-theme highlighted-word-color COLOR: solarized-green ;
288 M: dark-theme string-color COLOR: solarized-magenta ;
289 M: dark-theme stack-effect-color COLOR: solarized-orange ;
290
291 M: dark-theme field-border-color COLOR: solarized-base01 ;
292
293 M: dark-theme editor-caret-color COLOR: DeepPink2 ;
294 M: dark-theme selection-color COLOR: solarized-base01 ;
295 M: dark-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
296 M: dark-theme focus-border-color COLOR: solarized-base01 ;
297
298 M: dark-theme labeled-border-color COLOR: solarized-base01 ;
299
300 M: dark-theme table-border-color COLOR: solarized-base01 ;