wrkmon 1.0.0__py3-none-any.whl → 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wrkmon/__init__.py +1 -1
- wrkmon/app.py +323 -5
- wrkmon/cli.py +100 -0
- wrkmon/core/media_keys.py +377 -0
- wrkmon/core/queue.py +55 -0
- wrkmon/core/youtube.py +102 -0
- wrkmon/data/database.py +120 -0
- wrkmon/data/migrations.py +26 -0
- wrkmon/ui/screens/help.py +80 -0
- wrkmon/ui/theme.py +332 -75
- wrkmon/ui/views/search.py +283 -19
- wrkmon/ui/widgets/header.py +31 -1
- wrkmon/ui/widgets/player_bar.py +52 -5
- wrkmon/ui/widgets/thumbnail.py +230 -0
- wrkmon/utils/ascii_art.py +408 -0
- wrkmon/utils/config.py +85 -4
- wrkmon/utils/updater.py +311 -0
- {wrkmon-1.0.0.dist-info → wrkmon-1.2.0.dist-info}/METADATA +170 -193
- {wrkmon-1.0.0.dist-info → wrkmon-1.2.0.dist-info}/RECORD +23 -18
- {wrkmon-1.0.0.dist-info → wrkmon-1.2.0.dist-info}/WHEEL +1 -1
- {wrkmon-1.0.0.dist-info → wrkmon-1.2.0.dist-info}/entry_points.txt +0 -0
- {wrkmon-1.0.0.dist-info → wrkmon-1.2.0.dist-info}/top_level.txt +0 -0
- /wrkmon-1.0.0.dist-info/licenses/LICENSE.txt → /wrkmon-1.2.0.dist-info/licenses/LICENSE +0 -0
wrkmon/ui/theme.py
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"""Theme and CSS for wrkmon TUI."""
|
|
2
2
|
|
|
3
|
-
# Main application CSS
|
|
3
|
+
# Main application CSS with enhanced UX
|
|
4
4
|
APP_CSS = """
|
|
5
5
|
/* ============================================
|
|
6
6
|
WRKMON - Terminal Music Player Theme
|
|
7
|
-
|
|
7
|
+
Enhanced UX with better colors and visuals
|
|
8
8
|
============================================ */
|
|
9
9
|
|
|
10
10
|
/* Base screen styling */
|
|
11
11
|
Screen {
|
|
12
|
-
background: #
|
|
12
|
+
background: #0d1117;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/* ----------------------------------------
|
|
@@ -18,8 +18,8 @@ Screen {
|
|
|
18
18
|
HeaderBar {
|
|
19
19
|
dock: top;
|
|
20
20
|
height: 1;
|
|
21
|
-
background: #
|
|
22
|
-
color: #
|
|
21
|
+
background: #161b22;
|
|
22
|
+
color: #58a6ff;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
#header-inner {
|
|
@@ -28,31 +28,43 @@ HeaderBar {
|
|
|
28
28
|
|
|
29
29
|
#app-title {
|
|
30
30
|
width: auto;
|
|
31
|
-
color: #
|
|
31
|
+
color: #58a6ff;
|
|
32
32
|
text-style: bold;
|
|
33
33
|
padding: 0 1;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
#current-view {
|
|
37
37
|
width: 1fr;
|
|
38
|
-
color: #
|
|
38
|
+
color: #8b949e;
|
|
39
39
|
padding: 0 1;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
#sys-stats {
|
|
43
43
|
width: auto;
|
|
44
|
-
color: #
|
|
44
|
+
color: #6e7681;
|
|
45
45
|
padding: 0 1;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
#update-indicator {
|
|
49
|
+
width: auto;
|
|
50
|
+
color: #f0883e;
|
|
51
|
+
text-style: bold;
|
|
52
|
+
padding: 0 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#update-indicator.update-available {
|
|
56
|
+
color: #f85149;
|
|
57
|
+
text-style: bold blink;
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
/* ----------------------------------------
|
|
49
|
-
PLAYER BAR (Bottom)
|
|
61
|
+
PLAYER BAR (Bottom) - Enhanced
|
|
50
62
|
---------------------------------------- */
|
|
51
63
|
PlayerBar {
|
|
52
64
|
dock: bottom;
|
|
53
65
|
height: 5;
|
|
54
|
-
background: #
|
|
55
|
-
border-top: solid #
|
|
66
|
+
background: #161b22;
|
|
67
|
+
border-top: solid #30363d;
|
|
56
68
|
padding: 0 1;
|
|
57
69
|
}
|
|
58
70
|
|
|
@@ -66,17 +78,26 @@ PlayerBar {
|
|
|
66
78
|
|
|
67
79
|
#now-label {
|
|
68
80
|
width: 4;
|
|
69
|
-
color: #
|
|
81
|
+
color: #8b949e;
|
|
70
82
|
}
|
|
71
83
|
|
|
72
84
|
#play-status {
|
|
73
|
-
width:
|
|
74
|
-
color: #
|
|
85
|
+
width: 3;
|
|
86
|
+
color: #3fb950;
|
|
87
|
+
text-style: bold;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#play-status.paused {
|
|
91
|
+
color: #f0883e;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#play-status.stopped {
|
|
95
|
+
color: #6e7681;
|
|
75
96
|
}
|
|
76
97
|
|
|
77
98
|
#track-title {
|
|
78
99
|
width: 1fr;
|
|
79
|
-
color: #
|
|
100
|
+
color: #f0f6fc;
|
|
80
101
|
}
|
|
81
102
|
|
|
82
103
|
#progress-row {
|
|
@@ -84,18 +105,28 @@ PlayerBar {
|
|
|
84
105
|
padding: 0 1;
|
|
85
106
|
}
|
|
86
107
|
|
|
87
|
-
#time-current
|
|
108
|
+
#time-current {
|
|
88
109
|
width: 8;
|
|
89
|
-
color: #
|
|
110
|
+
color: #3fb950;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
#time-total {
|
|
114
|
+
width: 8;
|
|
115
|
+
color: #8b949e;
|
|
90
116
|
}
|
|
91
117
|
|
|
92
118
|
#progress {
|
|
93
119
|
width: 1fr;
|
|
94
|
-
background: #
|
|
120
|
+
background: #21262d;
|
|
95
121
|
}
|
|
96
122
|
|
|
97
123
|
#progress > .bar--bar {
|
|
98
|
-
color: #
|
|
124
|
+
color: #238636;
|
|
125
|
+
background: #238636;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
#progress > .bar--complete {
|
|
129
|
+
color: #3fb950;
|
|
99
130
|
}
|
|
100
131
|
|
|
101
132
|
#volume-row {
|
|
@@ -104,21 +135,29 @@ PlayerBar {
|
|
|
104
135
|
|
|
105
136
|
#vol-label {
|
|
106
137
|
width: 4;
|
|
107
|
-
color: #
|
|
138
|
+
color: #8b949e;
|
|
108
139
|
}
|
|
109
140
|
|
|
110
141
|
#volume {
|
|
111
142
|
width: 20;
|
|
112
|
-
background: #
|
|
143
|
+
background: #21262d;
|
|
113
144
|
}
|
|
114
145
|
|
|
115
146
|
#volume > .bar--bar {
|
|
116
|
-
color: #
|
|
147
|
+
color: #1f6feb;
|
|
148
|
+
background: #1f6feb;
|
|
117
149
|
}
|
|
118
150
|
|
|
119
151
|
#vol-value {
|
|
120
152
|
width: 5;
|
|
121
|
-
color: #
|
|
153
|
+
color: #58a6ff;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
#repeat-indicator {
|
|
157
|
+
width: auto;
|
|
158
|
+
color: #a371f7;
|
|
159
|
+
text-style: bold;
|
|
160
|
+
padding: 0 1;
|
|
122
161
|
}
|
|
123
162
|
|
|
124
163
|
/* ----------------------------------------
|
|
@@ -142,9 +181,9 @@ SearchView, QueueView, HistoryView, PlaylistsView {
|
|
|
142
181
|
|
|
143
182
|
#view-title {
|
|
144
183
|
height: 1;
|
|
145
|
-
color: #
|
|
184
|
+
color: #58a6ff;
|
|
146
185
|
text-style: bold;
|
|
147
|
-
background: #
|
|
186
|
+
background: #161b22;
|
|
148
187
|
padding: 0 1;
|
|
149
188
|
}
|
|
150
189
|
|
|
@@ -156,76 +195,146 @@ SearchView, QueueView, HistoryView, PlaylistsView {
|
|
|
156
195
|
|
|
157
196
|
#search-input {
|
|
158
197
|
width: 100%;
|
|
159
|
-
background: #
|
|
160
|
-
border: tall #
|
|
161
|
-
color: #
|
|
198
|
+
background: #0d1117;
|
|
199
|
+
border: tall #30363d;
|
|
200
|
+
color: #f0f6fc;
|
|
162
201
|
}
|
|
163
202
|
|
|
164
203
|
#search-input:focus {
|
|
165
|
-
border: tall #
|
|
204
|
+
border: tall #58a6ff;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
#search-input.-invalid {
|
|
208
|
+
border: tall #f85149;
|
|
166
209
|
}
|
|
167
210
|
|
|
168
211
|
/* List headers (column titles) */
|
|
169
212
|
#list-header {
|
|
170
213
|
height: 1;
|
|
171
|
-
color: #
|
|
172
|
-
background: #
|
|
214
|
+
color: #8b949e;
|
|
215
|
+
background: #161b22;
|
|
173
216
|
text-style: bold;
|
|
174
217
|
}
|
|
175
218
|
|
|
176
219
|
/* Result/Queue/History lists */
|
|
177
220
|
#results-list, #queue-list, #history-list, #playlist-list {
|
|
178
221
|
height: 1fr;
|
|
179
|
-
background: #
|
|
180
|
-
scrollbar-background: #
|
|
181
|
-
scrollbar-color: #
|
|
222
|
+
background: #0d1117;
|
|
223
|
+
scrollbar-background: #161b22;
|
|
224
|
+
scrollbar-color: #30363d;
|
|
225
|
+
scrollbar-color-hover: #484f58;
|
|
226
|
+
scrollbar-color-active: #6e7681;
|
|
182
227
|
}
|
|
183
228
|
|
|
184
229
|
ListView > ListItem {
|
|
185
230
|
height: 1;
|
|
186
231
|
padding: 0 1;
|
|
187
|
-
color: #
|
|
232
|
+
color: #c9d1d9;
|
|
188
233
|
}
|
|
189
234
|
|
|
190
235
|
ListView > ListItem:hover {
|
|
191
|
-
background: #
|
|
236
|
+
background: #161b22;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
ListView > ListItem.-highlight, ListView > ListItem:focus {
|
|
240
|
+
background: #1f6feb20;
|
|
241
|
+
color: #58a6ff;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* Track status colors */
|
|
245
|
+
.track-playing {
|
|
246
|
+
color: #3fb950;
|
|
247
|
+
text-style: bold;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.track-queued {
|
|
251
|
+
color: #f0883e;
|
|
192
252
|
}
|
|
193
253
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
color: #00ff00;
|
|
254
|
+
.track-paused {
|
|
255
|
+
color: #f0883e;
|
|
197
256
|
}
|
|
198
257
|
|
|
199
258
|
.result-text, .queue-text, .history-text {
|
|
200
259
|
width: 100%;
|
|
201
260
|
}
|
|
202
261
|
|
|
203
|
-
/* Status bar */
|
|
262
|
+
/* Status bar - Enhanced */
|
|
204
263
|
#status-bar {
|
|
205
264
|
dock: bottom;
|
|
206
265
|
height: 1;
|
|
207
|
-
color: #
|
|
208
|
-
background: #
|
|
266
|
+
color: #8b949e;
|
|
267
|
+
background: #161b22;
|
|
268
|
+
padding: 0 1;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/* ----------------------------------------
|
|
272
|
+
SEARCH CONTENT & THUMBNAIL
|
|
273
|
+
---------------------------------------- */
|
|
274
|
+
#search-content {
|
|
275
|
+
height: 1fr;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
#thumbnail-panel {
|
|
279
|
+
width: 50;
|
|
280
|
+
min-width: 50;
|
|
281
|
+
max-width: 50;
|
|
282
|
+
height: 100%;
|
|
283
|
+
background: #0d1117;
|
|
284
|
+
border-left: solid #30363d;
|
|
209
285
|
padding: 0 1;
|
|
210
286
|
}
|
|
211
287
|
|
|
288
|
+
#thumbnail-panel.hidden {
|
|
289
|
+
display: none;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
#thumb-title {
|
|
293
|
+
height: 1;
|
|
294
|
+
color: #58a6ff;
|
|
295
|
+
text-style: bold;
|
|
296
|
+
background: #161b22;
|
|
297
|
+
padding: 0 1;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
#thumb-preview {
|
|
301
|
+
height: 1fr;
|
|
302
|
+
background: #0d1117;
|
|
303
|
+
color: #3fb950;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
#thumb-preview.loading {
|
|
307
|
+
color: #6e7681;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
#ascii-content {
|
|
311
|
+
height: auto;
|
|
312
|
+
width: 100%;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.load-more {
|
|
316
|
+
color: #a371f7;
|
|
317
|
+
text-style: bold;
|
|
318
|
+
}
|
|
319
|
+
|
|
212
320
|
/* ----------------------------------------
|
|
213
321
|
QUEUE VIEW SPECIFICS
|
|
214
322
|
---------------------------------------- */
|
|
215
323
|
#now-playing-section {
|
|
216
324
|
height: auto;
|
|
217
|
-
background: #
|
|
325
|
+
background: #161b22;
|
|
326
|
+
border: solid #30363d;
|
|
218
327
|
padding: 1;
|
|
219
328
|
margin-bottom: 1;
|
|
220
329
|
}
|
|
221
330
|
|
|
222
331
|
#section-header {
|
|
223
|
-
color: #
|
|
332
|
+
color: #8b949e;
|
|
224
333
|
text-style: bold;
|
|
225
334
|
}
|
|
226
335
|
|
|
227
336
|
#current-track {
|
|
228
|
-
color: #
|
|
337
|
+
color: #3fb950;
|
|
229
338
|
padding: 0 1;
|
|
230
339
|
}
|
|
231
340
|
|
|
@@ -236,16 +345,17 @@ ListView > ListItem.-highlight {
|
|
|
236
345
|
|
|
237
346
|
#track-progress {
|
|
238
347
|
width: 1fr;
|
|
239
|
-
background: #
|
|
348
|
+
background: #21262d;
|
|
240
349
|
}
|
|
241
350
|
|
|
242
351
|
#track-progress > .bar--bar {
|
|
243
|
-
color: #
|
|
352
|
+
color: #238636;
|
|
353
|
+
background: #238636;
|
|
244
354
|
}
|
|
245
355
|
|
|
246
356
|
#pos-time, #dur-time {
|
|
247
357
|
width: 8;
|
|
248
|
-
color: #
|
|
358
|
+
color: #8b949e;
|
|
249
359
|
}
|
|
250
360
|
|
|
251
361
|
#mode-indicators {
|
|
@@ -255,7 +365,7 @@ ListView > ListItem.-highlight {
|
|
|
255
365
|
|
|
256
366
|
#shuffle-indicator, #repeat-indicator {
|
|
257
367
|
width: auto;
|
|
258
|
-
color: #
|
|
368
|
+
color: #a371f7;
|
|
259
369
|
padding: 0 1;
|
|
260
370
|
}
|
|
261
371
|
|
|
@@ -264,63 +374,210 @@ ListView > ListItem.-highlight {
|
|
|
264
374
|
---------------------------------------- */
|
|
265
375
|
#new-playlist-input {
|
|
266
376
|
width: 100%;
|
|
267
|
-
background: #
|
|
268
|
-
border: tall #
|
|
269
|
-
color: #
|
|
377
|
+
background: #0d1117;
|
|
378
|
+
border: tall #30363d;
|
|
379
|
+
color: #f0f6fc;
|
|
270
380
|
margin: 1 0;
|
|
271
381
|
}
|
|
272
382
|
|
|
273
383
|
#new-playlist-input:focus {
|
|
274
|
-
border: tall #
|
|
384
|
+
border: tall #58a6ff;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/* ----------------------------------------
|
|
388
|
+
HELP OVERLAY
|
|
389
|
+
---------------------------------------- */
|
|
390
|
+
HelpScreen {
|
|
391
|
+
align: center middle;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
#help-container {
|
|
395
|
+
width: 70;
|
|
396
|
+
height: auto;
|
|
397
|
+
max-height: 80%;
|
|
398
|
+
background: #161b22;
|
|
399
|
+
border: thick #30363d;
|
|
400
|
+
padding: 1 2;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
#help-title {
|
|
404
|
+
text-align: center;
|
|
405
|
+
color: #58a6ff;
|
|
406
|
+
text-style: bold;
|
|
407
|
+
padding-bottom: 1;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
#help-content {
|
|
411
|
+
color: #c9d1d9;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.help-section {
|
|
415
|
+
color: #f0883e;
|
|
416
|
+
text-style: bold;
|
|
417
|
+
padding-top: 1;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.help-key {
|
|
421
|
+
color: #a371f7;
|
|
422
|
+
text-style: bold;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.help-desc {
|
|
426
|
+
color: #8b949e;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/* ----------------------------------------
|
|
430
|
+
METADATA PANEL
|
|
431
|
+
---------------------------------------- */
|
|
432
|
+
#metadata-panel {
|
|
433
|
+
height: auto;
|
|
434
|
+
background: #161b22;
|
|
435
|
+
border: solid #30363d;
|
|
436
|
+
padding: 1;
|
|
437
|
+
margin-top: 1;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
#metadata-title {
|
|
441
|
+
color: #f0f6fc;
|
|
442
|
+
text-style: bold;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
#metadata-channel {
|
|
446
|
+
color: #8b949e;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
#metadata-stats {
|
|
450
|
+
color: #6e7681;
|
|
275
451
|
}
|
|
276
452
|
|
|
277
453
|
/* ----------------------------------------
|
|
278
|
-
|
|
454
|
+
NOTIFICATIONS
|
|
455
|
+
---------------------------------------- */
|
|
456
|
+
Toast {
|
|
457
|
+
background: #161b22;
|
|
458
|
+
border: solid #30363d;
|
|
459
|
+
color: #c9d1d9;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
Toast.-information {
|
|
463
|
+
border: solid #58a6ff;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
Toast.-warning {
|
|
467
|
+
border: solid #f0883e;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
Toast.-error {
|
|
471
|
+
border: solid #f85149;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/* ----------------------------------------
|
|
475
|
+
FOOTER - Enhanced
|
|
279
476
|
---------------------------------------- */
|
|
280
477
|
Footer {
|
|
281
|
-
background: #
|
|
282
|
-
color: #
|
|
478
|
+
background: #161b22;
|
|
479
|
+
color: #8b949e;
|
|
283
480
|
}
|
|
284
481
|
|
|
285
482
|
Footer > .footer--key {
|
|
286
|
-
color: #
|
|
287
|
-
background: #
|
|
483
|
+
color: #58a6ff;
|
|
484
|
+
background: #21262d;
|
|
485
|
+
text-style: bold;
|
|
288
486
|
}
|
|
289
487
|
|
|
290
488
|
Footer > .footer--description {
|
|
291
|
-
color: #
|
|
489
|
+
color: #8b949e;
|
|
292
490
|
}
|
|
293
491
|
|
|
294
492
|
/* ----------------------------------------
|
|
295
|
-
|
|
493
|
+
FOCUS INDICATORS
|
|
296
494
|
---------------------------------------- */
|
|
297
|
-
|
|
298
|
-
|
|
495
|
+
Input:focus {
|
|
496
|
+
border: tall #58a6ff;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
Button:focus {
|
|
500
|
+
background: #1f6feb;
|
|
299
501
|
}
|
|
300
502
|
|
|
301
503
|
"""
|
|
302
504
|
|
|
303
|
-
#
|
|
505
|
+
# Color palette for programmatic access
|
|
506
|
+
COLORS = {
|
|
507
|
+
# Base colors (GitHub Dark theme inspired)
|
|
508
|
+
"bg_primary": "#0d1117",
|
|
509
|
+
"bg_secondary": "#161b22",
|
|
510
|
+
"bg_tertiary": "#21262d",
|
|
511
|
+
"border": "#30363d",
|
|
512
|
+
"border_active": "#58a6ff",
|
|
513
|
+
|
|
514
|
+
# Text colors
|
|
515
|
+
"text_primary": "#f0f6fc",
|
|
516
|
+
"text_secondary": "#c9d1d9",
|
|
517
|
+
"text_muted": "#8b949e",
|
|
518
|
+
"text_faint": "#6e7681",
|
|
519
|
+
|
|
520
|
+
# Accent colors
|
|
521
|
+
"blue": "#58a6ff",
|
|
522
|
+
"green": "#3fb950",
|
|
523
|
+
"green_dark": "#238636",
|
|
524
|
+
"orange": "#f0883e",
|
|
525
|
+
"red": "#f85149",
|
|
526
|
+
"purple": "#a371f7",
|
|
527
|
+
"cyan": "#39c5cf",
|
|
528
|
+
"yellow": "#d29922",
|
|
529
|
+
|
|
530
|
+
# Status colors
|
|
531
|
+
"playing": "#3fb950",
|
|
532
|
+
"paused": "#f0883e",
|
|
533
|
+
"stopped": "#6e7681",
|
|
534
|
+
"queued": "#f0883e",
|
|
535
|
+
"error": "#f85149",
|
|
536
|
+
"success": "#3fb950",
|
|
537
|
+
"warning": "#f0883e",
|
|
538
|
+
"info": "#58a6ff",
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
# Alternative themes
|
|
304
542
|
THEMES = {
|
|
543
|
+
"github_dark": {
|
|
544
|
+
"primary": "#58a6ff",
|
|
545
|
+
"secondary": "#8b949e",
|
|
546
|
+
"accent": "#a371f7",
|
|
547
|
+
"success": "#3fb950",
|
|
548
|
+
"warning": "#f0883e",
|
|
549
|
+
"error": "#f85149",
|
|
550
|
+
"background": "#0d1117",
|
|
551
|
+
"surface": "#161b22",
|
|
552
|
+
},
|
|
305
553
|
"matrix": {
|
|
306
554
|
"primary": "#00ff00",
|
|
307
555
|
"secondary": "#008800",
|
|
308
556
|
"accent": "#00ffff",
|
|
557
|
+
"success": "#00ff00",
|
|
558
|
+
"warning": "#ffff00",
|
|
559
|
+
"error": "#ff0000",
|
|
309
560
|
"background": "#0a0a0a",
|
|
310
561
|
"surface": "#1a1a1a",
|
|
311
562
|
},
|
|
312
|
-
"
|
|
313
|
-
"primary": "#
|
|
314
|
-
"secondary": "#
|
|
315
|
-
"accent": "#
|
|
316
|
-
"
|
|
317
|
-
"
|
|
563
|
+
"dracula": {
|
|
564
|
+
"primary": "#bd93f9",
|
|
565
|
+
"secondary": "#6272a4",
|
|
566
|
+
"accent": "#ff79c6",
|
|
567
|
+
"success": "#50fa7b",
|
|
568
|
+
"warning": "#ffb86c",
|
|
569
|
+
"error": "#ff5555",
|
|
570
|
+
"background": "#282a36",
|
|
571
|
+
"surface": "#44475a",
|
|
318
572
|
},
|
|
319
|
-
"
|
|
320
|
-
"primary": "#
|
|
321
|
-
"secondary": "#
|
|
322
|
-
"accent": "#
|
|
323
|
-
"
|
|
324
|
-
"
|
|
573
|
+
"nord": {
|
|
574
|
+
"primary": "#88c0d0",
|
|
575
|
+
"secondary": "#81a1c1",
|
|
576
|
+
"accent": "#b48ead",
|
|
577
|
+
"success": "#a3be8c",
|
|
578
|
+
"warning": "#ebcb8b",
|
|
579
|
+
"error": "#bf616a",
|
|
580
|
+
"background": "#2e3440",
|
|
581
|
+
"surface": "#3b4252",
|
|
325
582
|
},
|
|
326
583
|
}
|