aboutsummaryrefslogtreecommitdiff
path: root/users/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json
diff options
context:
space:
mode:
Diffstat (limited to 'users/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json')
-rwxr-xr-xusers/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json1159
1 files changed, 1159 insertions, 0 deletions
diff --git a/users/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json b/users/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json
new file mode 100755
index 0000000..e10efa2
--- /dev/null
+++ b/users/ryan/modules/simple-bar/simple-bar-source/lib/schemas/config.json
@@ -0,0 +1,1159 @@
1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$id": "config.json",
4 "title": "simple-bar config JSON schema",
5 "type": "object",
6 "additionalProperties": false,
7 "properties": {
8 "$schema": { "type": "string" },
9 "global": {
10 "type": "object",
11 "additionalProperties": false,
12 "properties": {
13 "theme": {
14 "type": "string",
15 "enum": ["auto", "dark", "light"],
16 "description": "Theme to use"
17 },
18 "floatingBar": {
19 "type": "boolean",
20 "description": "Make simple-bar floating by adding padding around it"
21 },
22 "noBarBg": {
23 "type": "boolean",
24 "description": "Remove the background of the bar"
25 },
26 "noColorInData": {
27 "type": "boolean",
28 "description": "Remove colors from all data widgets"
29 },
30 "bottomBar": {
31 "type": "boolean",
32 "description": "Place simple-bar at the bottom of the screen"
33 },
34 "sideDecoration": {
35 "type": "boolean",
36 "description": "Add an Apple logo on the left side of simple-bar"
37 },
38 "inlineSpacesOptions": {
39 "type": "boolean",
40 "description": "Show spaces options inline"
41 },
42 "disableAnimations": {
43 "type": "boolean",
44 "description": "Disable all persistent animations in simple-bar"
45 },
46 "disableNotifications": {
47 "type": "boolean",
48 "description": "Disable notifications"
49 },
50 "enableMissives": {
51 "type": "boolean",
52 "description": "Enable missives (internal notification system)"
53 },
54 "compactMode": {
55 "type": "boolean",
56 "description": "Enable compact mode"
57 },
58 "widgetMaxWidth": {
59 "type": "string",
60 "description": "Max width for widgets. Overflowing text while be shown with a sliding effect"
61 },
62 "spacesBackgroundColorAsForeground": {
63 "type": "boolean",
64 "description": "Use spaces background color as foreground color"
65 },
66 "widgetsBackgroundColorAsForeground": {
67 "type": "boolean",
68 "description": "Use widgets background color as foreground color"
69 },
70 "font": {
71 "type": "string",
72 "description": "Define the font used by simple-bar"
73 },
74 "fontSize": {
75 "type": "string",
76 "description": "Define the font size for all the widgets. You can use any css unit. It can particulary be usefull if you have displays with different pixel density and different scaling factor in which case you can set a value with a relative viewport unit like 1vh. Be careful to not set a value too high as it could break all simple-bar interface as this setting is used for every texts"
77 },
78 "yabaiPath": {
79 "type": "string",
80 "description": "Determine the path to the yabai binary"
81 },
82 "aerospacePath": {
83 "type": "string",
84 "description": "Determine the path to the aerospace binary"
85 },
86 "windowManager": {
87 "type": "string",
88 "enum": ["yabai", "aerospace"],
89 "description": "Determine the window manager used by simple-bar to display spaces & processes: yabai or aerospace"
90 },
91 "shell": {
92 "type": "string",
93 "enum": ["sh", "bash", "dash"],
94 "description": "Depending on your preference you can choose between these 3 shell for all simple-bar scripts execution: sh, bash, dash"
95 },
96 "terminal": {
97 "type": "string",
98 "enum": ["Terminal", "iTerm2"],
99 "description": "Define the terminal used by simple-bar to run commands"
100 },
101 "slidingAnimationPace": {
102 "type": "number",
103 "description": "Determine the speed of the sliding animation for widgets with overflowing text. Default is \"4\". The higher slidingAnimationPace value, the faster the texts slides (must be > 0)"
104 },
105 "enableServer": {
106 "type": "boolean",
107 "description": "Enable websocket connection to the server in each data widget. You must install and launch simple-bar-server before activating this setting"
108 },
109 "serverSocketPort": {
110 "type": "number",
111 "description": "Determine the port on which the websockets will be opened. Check you simple-bar-server config file to get the right port if you changed it"
112 },
113 "yabaiServerRefresh": {
114 "type": "boolean",
115 "description": "Enable websocket connection to the server in yabai spaces & process widgets. You must install and launch simple-bar-server before activating this setting"
116 },
117 "aerospaceServerRefresh": {
118 "type": "boolean",
119 "description": "Enable websocket connection to the server in AeroSpace spaces widgets. You must install and launch simple-bar-server before activating this setting"
120 }
121 }
122 },
123 "themes": {
124 "type": "object",
125 "additionalProperties": false,
126 "properties": {
127 "lightTheme": {
128 "type": "string",
129 "description": "Light theme to use"
130 },
131 "darkTheme": {
132 "type": "string",
133 "description": "Dark theme to use"
134 },
135 "colorMain": {
136 "type": "string",
137 "description": "Override the main color of the theme. Must be a valid CSS color."
138 },
139 "colorMainAlt": {
140 "type": "string",
141 "description": "Override the main alternative color of the theme. Must be a valid CSS color."
142 },
143 "colorMinor": {
144 "type": "string",
145 "description": "Override the minor color of the theme. Must be a valid CSS color."
146 },
147 "colorAccent": {
148 "type": "string",
149 "description": "Override the accent color of the theme. Must be a valid CSS color."
150 },
151 "colorRed": {
152 "type": "string",
153 "description": "Override the red color of the theme. Must be a valid CSS color."
154 },
155 "colorGreen": {
156 "type": "string",
157 "description": "Override the green color of the theme. Must be a valid CSS color."
158 },
159 "colorYellow": {
160 "type": "string",
161 "description": "Override the yellow color of the theme. Must be a valid CSS color."
162 },
163 "colorOrange": {
164 "type": "string",
165 "description": "Override the orange color of the theme. Must be a valid CSS color."
166 },
167 "colorBlue": {
168 "type": "string",
169 "description": "Override the blue color of the theme. Must be a valid CSS color."
170 },
171 "colorMagenta": {
172 "type": "string",
173 "description": "Override the magenta color of the theme. Must be a valid CSS color."
174 },
175 "colorCyan": {
176 "type": "string",
177 "description": "Override the cya color of the theme. Must be a valid CSS color."
178 },
179 "colorBlack": {
180 "type": "string",
181 "description": "Override the black color of the theme. Must be a valid CSS color."
182 },
183 "colorWhite": {
184 "type": "string",
185 "description": "Override the white color of the theme. Must be a valid CSS color."
186 },
187 "colorForeground": {
188 "type": "string",
189 "description": "Override the foreground color of the theme. Must be a valid CSS color."
190 },
191 "colorBackground": {
192 "type": "string",
193 "description": "Override the background color of the theme. Must be a valid CSS color."
194 }
195 }
196 },
197 "process": {
198 "type": "object",
199 "additionalProperties": false,
200 "properties": {
201 "showOnDisplay": {
202 "type": "string",
203 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
204 },
205 "displayOnlyCurrent": {
206 "type": "boolean",
207 "description": "Insead of showing all processes of the current space, simple-bar will only show the current one"
208 },
209 "centered": {
210 "type": "boolean",
211 "description": "The process widget will be centered. Do not activate it if you run simple-bar on a mac with a notch"
212 },
213 "showCurrentSpaceMode": {
214 "type": "boolean",
215 "description": "[yabai] Show the current space yabai mode on the left of the processes"
216 },
217 "hideWindowTitle": {
218 "type": "boolean",
219 "description": "Hide window titles"
220 },
221 "displayOnlyIcon": {
222 "type": "boolean",
223 "description": "Show only the process icon"
224 },
225 "expandAllProcesses": {
226 "type": "boolean",
227 "description": "All processes are revealed"
228 },
229 "displaySkhdMode": {
230 "type": "boolean",
231 "description": "[yabai] If the current space is in stack mode, each process will have its stack index displayed"
232 },
233 "displayStackIndex": {
234 "type": "boolean",
235 "description": "[yabai] Show stack index only on focused process"
236 },
237 "displayOnlyCurrentStack": {
238 "type": "boolean",
239 "description": "[yabai] Show stack-index only for focused process"
240 }
241 }
242 },
243 "spacesDisplay": {
244 "type": "object",
245 "additionalProperties": false,
246 "properties": {
247 "showOnDisplay": {
248 "type": "string",
249 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
250 },
251 "exclusions": {
252 "type": "string",
253 "description": "You can exclude some process with their app name. Simply add the wanted app name and separate multiple app names with a comma"
254 },
255 "titleExclusions": {
256 "type": "string",
257 "description": "Same as previous settings but with the window title name"
258 },
259 "spacesExclusions": {
260 "type": "string",
261 "description": "Whole space(s) can be excluded for the spaces display by their name here separated by a comma"
262 },
263 "exclusionsAsRegex": {
264 "type": "boolean",
265 "description": "Instead of using comma in the exclusions fields, you can use the regex syntax"
266 },
267 "displayAllSpacesOnAllScreens": {
268 "type": "boolean",
269 "description": "By default, only spaces attached to the current display are displayed on all displays. This can be changed with this setting"
270 },
271 "hideDuplicateAppsInSpaces": {
272 "type": "boolean",
273 "description": "Each instance of an app is displayed separately in their respective space. You can merge all duplicates with this setting"
274 },
275 "displayStickyWindowsSeparately": {
276 "type": "boolean",
277 "description": "[yabai] Sticky windows are displayed on each screens by default. You can choose to displayed only in one place thanks to this settings (at the left of all the spaces)"
278 },
279 "hideCreateSpaceButton": {
280 "type": "boolean",
281 "description": "[yabai] Simply hide the \"+\" button (which is only visible if you have SIP disabled)"
282 },
283 "hideEmptySpaces": {
284 "type": "boolean",
285 "description": "Hide spaces with no opened apps"
286 },
287 "showOptionsOnHover": {
288 "type": "boolean",
289 "description": "Space options are opened on right click if this setting is set to false"
290 },
291 "switchSpacesWithoutYabai": {
292 "type": "boolean",
293 "description": "Instead of relying on yabai to switch to a specific space (on space click), simple-bar will trigger the \"switch to prev/next\" space shortcut which need to be enabled in macos settings to be working"
294 },
295 "customAeroSpaceDisplayIndexes": {
296 "type": "object",
297 "description": "[AeroSpace] Allow display numbering override in case of monitor numbering mismatch between AeroSpace and Übersicht",
298 "patternProperties": {
299 "^\\d+$": {
300 "type": "number",
301 "description": "Override the display index for the monitor with the given ID"
302 }
303 }
304 }
305 }
306 },
307 "widgets": {
308 "type": "object",
309 "additionalProperties": false,
310 "properties": {
311 "processWidget": {
312 "type": "boolean",
313 "description": "Hide or show the process widget"
314 },
315 "githubWidget": {
316 "type": "boolean",
317 "description": "Hide or show the GitHub widget"
318 },
319 "weatherWidget": {
320 "type": "boolean",
321 "description": "Hide or show the weather widget"
322 },
323 "netstatsWidget": {
324 "type": "boolean",
325 "description": "Hide or show the netstats widget"
326 },
327 "cpuWidget": {
328 "type": "boolean",
329 "description": "Hide or show the CPU widget"
330 },
331 "gpuWidget": {
332 "type": "boolean",
333 "description": "Hide or show the GPU widget"
334 },
335 "memoryWidget": {
336 "type": "boolean",
337 "description": "Hide or show the memory widget"
338 },
339 "batteryWidget": {
340 "type": "boolean",
341 "description": "Hide or show the battery widget"
342 },
343 "wifiWidget": {
344 "type": "boolean",
345 "description": "Hide or show the wifi widget"
346 },
347 "vpnWidget": {
348 "type": "boolean",
349 "description": "Hide or show the VPN widget"
350 },
351 "zoomWidget": {
352 "type": "boolean",
353 "description": "Hide or show the Zoom widget"
354 },
355 "soundWidget": {
356 "type": "boolean",
357 "description": "Hide or show the sound widget"
358 },
359 "micWidget": {
360 "type": "boolean",
361 "description": "Hide or show the microphone widget"
362 },
363 "dateWidget": {
364 "type": "boolean",
365 "description": "Hide or show the date widget"
366 },
367 "timeWidget": {
368 "type": "boolean",
369 "description": "Hide or show the time widget"
370 },
371 "keyboardWidget": {
372 "type": "boolean",
373 "description": "Hide or show the keyboard widget"
374 },
375 "spotifyWidget": {
376 "type": "boolean",
377 "description": "Hide or show the Spotify widget"
378 },
379 "cryptoWidget": {
380 "type": "boolean",
381 "description": "Hide or show the Crypto widget"
382 },
383 "stockWidget": {
384 "type": "boolean",
385 "description": "Hide or show the stocks widget"
386 },
387 "youtubeMusicWidget": {
388 "type": "boolean",
389 "description": "Hide or show the Youtube widget"
390 },
391 "musicWidget": {
392 "type": "boolean",
393 "description": "Hide or show the Music widget"
394 },
395 "mpdWidget": {
396 "type": "boolean",
397 "description": "Hide or show the MPD widget"
398 },
399 "browserTrackWidget": {
400 "type": "boolean",
401 "description": "Hide or show the browser track widget"
402 },
403 "notificationsWidget": {
404 "type": "boolean",
405 "description": "Hide or show the notification badges widget"
406 },
407 "nextMeetingWidget": {
408 "type": "boolean",
409 "description": "Hide or show the next meeting widget"
410 }
411 }
412 },
413 "githubWidgetOptions": {
414 "type": "object",
415 "additionalProperties": false,
416 "properties": {
417 "refreshFrequency": {
418 "type": "number",
419 "description": "The refresh frequency of this widget in milliseconds"
420 },
421 "showOnDisplay": {
422 "type": "string",
423 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
424 },
425 "showIcon": {
426 "type": "boolean",
427 "description": "Show or hide the widget icon"
428 },
429 "hideWhenNoNotification": {
430 "type": "boolean",
431 "description": "Hide the widget when there is no notification"
432 },
433 "notificationUrl": {
434 "type": "string",
435 "description": "The URL opened on click. Default is \"https://github.com/notifications\""
436 },
437 "ghBinaryPath": {
438 "type": "string",
439 "description": "The binary path required to get GitHub notifications count in the widget"
440 }
441 }
442 },
443 "weatherWidgetOptions": {
444 "type": "object",
445 "additionalProperties": false,
446 "properties": {
447 "refreshFrequency": {
448 "type": "number",
449 "description": "The refresh frequency of this widget in milliseconds"
450 },
451 "showOnDisplay": {
452 "type": "string",
453 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
454 },
455 "showIcon": {
456 "type": "boolean",
457 "description": "Show or hide the widget icon"
458 },
459 "unit": {
460 "type": "string",
461 "enum": ["C", "F"],
462 "description": "The temperature unit to use (C or F)"
463 },
464 "hideLocation": {
465 "type": "boolean",
466 "description": "Hide the location in the widget"
467 },
468 "hideGradient": {
469 "type": "boolean",
470 "description": "Hide the sunset/sunrise gradient in the widget"
471 },
472 "customLocation": {
473 "type": "string",
474 "description": "Set your location. If empty, the location is determined by the location API"
475 }
476 }
477 },
478 "netstatsWidgetOptions": {
479 "type": "object",
480 "additionalProperties": false,
481 "properties": {
482 "refreshFrequency": {
483 "type": "number",
484 "description": "The refresh frequency of this widget in milliseconds"
485 },
486 "showOnDisplay": {
487 "type": "string",
488 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
489 },
490 "showIcon": {
491 "type": "boolean",
492 "description": "Show or hide the widget icon"
493 },
494 "displayAsGraph": {
495 "type": "boolean",
496 "description": "Instead of show current network information, the widget will display a graphic showing the latest 60 seconds (it can change depending of the refresh frequency of the widget) of network activity. All drawn points are relative to the highest value"
497 },
498 "netstatsThreshold": {
499 "type": "number",
500 "description": "Hide the widget when download and upload are below this value in kb/s (0 to always show)"
501 }
502 }
503 },
504 "cpuWidgetOptions": {
505 "type": "object",
506 "additionalProperties": false,
507 "properties": {
508 "refreshFrequency": {
509 "type": "number",
510 "description": "The refresh frequency of this widget in milliseconds"
511 },
512 "showOnDisplay": {
513 "type": "string",
514 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
515 },
516 "showIcon": {
517 "type": "boolean",
518 "description": "Show or hide the widget icon"
519 },
520 "displayAsGraph": {
521 "type": "boolean",
522 "description": "Instead of show current CPU information, the widget will display a graphic showing the latest 100 seconds (it can change depending of the refresh frequency of the widget) of CPU activity. All drawn points are relative to the highest value"
523 },
524 "cpuUsageThreshold": {
525 "type": "number",
526 "description": "Hide the widget when CPU usage is below this percentage (0 to always show)"
527 },
528 "cpuMonitorApp": {
529 "type": "string",
530 "enum": ["Activity Monitor", "Top", "None"],
531 "description": "Define the opened app on widget click: Activity Monitor, Top or None"
532 }
533 }
534 },
535 "gpuWidgetOptions": {
536 "type": "object",
537 "additionalProperties": false,
538 "properties": {
539 "refreshFrequency": {
540 "type": "number",
541 "description": "The refresh frequency of this widget in milliseconds"
542 },
543 "showOnDisplay": {
544 "type": "string",
545 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
546 },
547 "showIcon": {
548 "type": "boolean",
549 "description": "Show or hide the widget icon"
550 },
551 "displayAsGraph": {
552 "type": "boolean",
553 "description": "Instead of show current CPU information, the widget will display a graphic showing the latest 100 seconds (it can change depending of the refresh frequency of the widget) of CPU activity. All drawn points are relative to the highest value"
554 },
555 "gpuMacmonBinaryPath": {
556 "type": "string",
557 "description": "The binary path required to get GPU usage in the widget"
558 }
559 }
560 },
561 "memoryWidgetOptions": {
562 "type": "object",
563 "additionalProperties": false,
564 "properties": {
565 "refreshFrequency": { "type": "number" },
566 "showOnDisplay": {
567 "type": "string",
568 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
569 },
570 "showIcon": {
571 "type": "boolean",
572 "description": "Show or hide the widget icon"
573 },
574 "memoryUsageThreshold": {
575 "type": "number",
576 "description": "Hide the widget when used memory is below this percentage (0 to always show)"
577 },
578 "memoryMonitorApp": {
579 "type": "string",
580 "enum": ["Activity Monitor", "Top", "None"],
581 "description": "Define the opened app on widget click: Activity Monitor, Top or None"
582 }
583 }
584 },
585 "batteryWidgetOptions": {
586 "type": "object",
587 "additionalProperties": false,
588 "properties": {
589 "refreshFrequency": {
590 "type": "number",
591 "description": "The refresh frequency of this widget in milliseconds"
592 },
593 "showOnDisplay": {
594 "type": "string",
595 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
596 },
597 "showIcon": {
598 "type": "boolean",
599 "description": "Show or hide the widget icon"
600 },
601 "toggleCaffeinateOnClick": {
602 "type": "boolean",
603 "description": "Enable the toggle of caffeinate mode on click"
604 },
605 "caffeinateOption": {
606 "type": "string",
607 "description": "The options to pass to caffeinate when toggling it"
608 }
609 }
610 },
611 "networkWidgetOptions": {
612 "type": "object",
613 "additionalProperties": false,
614 "properties": {
615 "refreshFrequency": {
616 "type": "number",
617 "description": "The refresh frequency of this widget in milliseconds"
618 },
619 "showOnDisplay": {
620 "type": "string",
621 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
622 },
623 "showIcon": {
624 "type": "boolean",
625 "description": "Show or hide the widget icon"
626 },
627 "networkDevice": {
628 "type": "string",
629 "description": "The network device source name"
630 },
631 "hideWifiIfDisabled": {
632 "type": "boolean",
633 "description": "Hide the widget if the network is disabled"
634 },
635 "toggleWifiOnClick": {
636 "type": "boolean",
637 "description": "Toggle wifi on click"
638 },
639 "hideNetworkName": {
640 "type": "boolean",
641 "description": "Hide the network name"
642 }
643 }
644 },
645 "vpnWidgetOptions": {
646 "type": "object",
647 "additionalProperties": false,
648 "properties": {
649 "refreshFrequency": {
650 "type": "number",
651 "description": "The refresh frequency of this widget in milliseconds"
652 },
653 "showOnDisplay": {
654 "type": "string",
655 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
656 },
657 "showIcon": {
658 "type": "boolean",
659 "description": "Show or hide the widget icon"
660 },
661 "vpnConnectionName": {
662 "type": "string",
663 "description": "The name of the connection you want to display"
664 },
665 "vpnShowConnectionName": {
666 "type": "boolean",
667 "description": "Display the connection name in the widget"
668 }
669 }
670 },
671 "zoomWidgetOptions": {
672 "type": "object",
673 "additionalProperties": false,
674 "properties": {
675 "refreshFrequency": {
676 "type": "number",
677 "description": "The refresh frequency of this widget in milliseconds"
678 },
679 "showOnDisplay": {
680 "type": "string",
681 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
682 },
683 "showVideo": {
684 "type": "boolean",
685 "description": "Displays your current call video status"
686 },
687 "showMic": {
688 "type": "boolean",
689 "description": "Displays your current call microphone status"
690 }
691 }
692 },
693 "soundWidgetOptions": {
694 "type": "object",
695 "additionalProperties": false,
696 "properties": {
697 "refreshFrequency": {
698 "type": "number",
699 "description": "The refresh frequency of this widget in milliseconds"
700 },
701 "showOnDisplay": {
702 "type": "string",
703 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
704 },
705 "showIcon": {
706 "type": "boolean",
707 "description": "Show or hide the widget icon"
708 },
709 "keyboardMaxLength": {
710 "type": "number",
711 "description": "Maximum number of characters to display for the keyboard layout (0 to show full name)"
712 }
713 }
714 },
715 "micWidgetOptions": {
716 "type": "object",
717 "additionalProperties": false,
718 "properties": {
719 "refreshFrequency": {
720 "type": "number",
721 "description": "The refresh frequency of this widget in milliseconds"
722 },
723 "showOnDisplay": {
724 "type": "string",
725 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
726 },
727 "showIcon": {
728 "type": "boolean",
729 "description": "Show or hide the widget icon"
730 }
731 }
732 },
733 "dateWidgetOptions": {
734 "type": "object",
735 "additionalProperties": false,
736 "properties": {
737 "refreshFrequency": {
738 "type": "number",
739 "description": "The refresh frequency of this widget in milliseconds"
740 },
741 "showOnDisplay": {
742 "type": "string",
743 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
744 },
745 "showIcon": {
746 "type": "boolean",
747 "description": "Show or hide the widget icon"
748 },
749 "shortDateFormat": {
750 "type": "boolean",
751 "description": "If true, the date will be displayed in short format"
752 },
753 "locale": {
754 "type": "string",
755 "description": "The locale to use for the date"
756 },
757 "calendarApp": {
758 "type": "string",
759 "description": "The calendar app to open when clicking on the date"
760 }
761 }
762 },
763 "timeWidgetOptions": {
764 "type": "object",
765 "additionalProperties": false,
766 "properties": {
767 "refreshFrequency": {
768 "type": "number",
769 "description": "The refresh frequency of this widget in milliseconds"
770 },
771 "showOnDisplay": {
772 "type": "string",
773 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
774 },
775 "showIcon": {
776 "type": "boolean",
777 "description": "Show or hide the widget icon"
778 },
779 "hour12": {
780 "type": "boolean",
781 "description": "Display time in 12h format"
782 },
783 "dayProgress": {
784 "type": "boolean",
785 "description": "Display day progress"
786 },
787 "showSeconds": {
788 "type": "boolean",
789 "description": "Display seconds"
790 }
791 }
792 },
793 "keyboardWidgetOptions": {
794 "type": "object",
795 "additionalProperties": false,
796 "properties": {
797 "refreshFrequency": {
798 "type": "number",
799 "description": "The refresh frequency of this widget in milliseconds"
800 },
801 "showOnDisplay": {
802 "type": "string",
803 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
804 },
805 "showIcon": {
806 "type": "boolean",
807 "description": "Show or hide the widget icon"
808 }
809 }
810 },
811 "cryptoWidgetOptions": {
812 "type": "object",
813 "additionalProperties": false,
814 "properties": {
815 "refreshFrequency": {
816 "type": "number",
817 "description": "The refresh frequency of this widget in milliseconds"
818 },
819 "showOnDisplay": {
820 "type": "string",
821 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
822 },
823 "showIcon": {
824 "type": "boolean",
825 "description": "Show or hide the widget icon"
826 },
827 "denomination": {
828 "type": "string",
829 "enum": ["usd", "eur"],
830 "description": "The displayed denomination, usd or eur"
831 },
832 "identifiers": {
833 "type": "string",
834 "description": "You can set a list of denomination Default is \"bitcoin,ethereum,celo\". Only theses 3 identifiers have a personalized icon"
835 },
836 "precision": {
837 "type": "number",
838 "description": "The number of decimals to display"
839 }
840 }
841 },
842 "stockWidgetOptions": {
843 "type": "object",
844 "additionalProperties": false,
845 "properties": {
846 "refreshFrequency": {
847 "type": "number",
848 "description": "The refresh frequency of this widget in milliseconds"
849 },
850 "showOnDisplay": {
851 "type": "string",
852 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
853 },
854 "showIcon": {
855 "type": "boolean",
856 "description": "Show or hide the widget icon"
857 },
858 "yahooFinanceApiKey": {
859 "type": "string",
860 "description": "Your API key for Yahoo Finance"
861 },
862 "symbols": {
863 "type": "string",
864 "description": "The symbols for your stocks, ETFs, mutual funds,..."
865 },
866 "showSymbol": {
867 "type": "boolean",
868 "description": "Show the symbol of the currency"
869 },
870 "showCurrency": {
871 "type": "boolean",
872 "description": "Show the currency of the currency"
873 },
874 "showMarketPrice": {
875 "type": "boolean",
876 "description": "Show the market price of the currency"
877 },
878 "showMarketChange": {
879 "type": "boolean",
880 "description": "Show the change of the currency"
881 },
882 "showMarketPercent": {
883 "type": "boolean",
884 "description": "Show the change of the currency percent"
885 },
886 "showColor": {
887 "type": "boolean",
888 "description": "Show the market change in red or green"
889 }
890 }
891 },
892 "spotifyWidgetOptions": {
893 "type": "object",
894 "additionalProperties": false,
895 "properties": {
896 "refreshFrequency": {
897 "type": "number",
898 "description": "The refresh frequency of this widget in milliseconds"
899 },
900 "showOnDisplay": {
901 "type": "string",
902 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
903 },
904 "showIcon": {
905 "type": "boolean",
906 "description": "Show or hide the widget icon"
907 },
908 "showSpotifyMetadata": {
909 "type": "boolean",
910 "description": "Show or hide Spotify metadata (author name, song name)."
911 },
912 "showSpecter": {
913 "type": "boolean",
914 "description": "Show the specter animation when a song is playing"
915 }
916 }
917 },
918 "youtubeMusicWidgetOptions": {
919 "type": "object",
920 "additionalProperties": false,
921 "properties": {
922 "refreshFrequency": {
923 "type": "number",
924 "description": "The refresh frequency of this widget in milliseconds"
925 },
926 "showOnDisplay": {
927 "type": "string",
928 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
929 },
930 "showIcon": {
931 "type": "boolean",
932 "description": "Show or hide the widget icon"
933 },
934 "showSpecter": {
935 "type": "boolean",
936 "description": "Show the specter animation when a song is playing"
937 },
938 "youtubeMusicPort": {
939 "type": "number",
940 "description": "The port on which the YoutubeMusic server is running"
941 }
942 }
943 },
944 "musicWidgetOptions": {
945 "type": "object",
946 "additionalProperties": false,
947 "properties": {
948 "refreshFrequency": {
949 "type": "number",
950 "description": "The refresh frequency of this widget in milliseconds"
951 },
952 "showOnDisplay": {
953 "type": "string",
954 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
955 },
956 "showIcon": {
957 "type": "boolean",
958 "description": "Show or hide the widget icon"
959 },
960 "showSpecter": {
961 "type": "boolean",
962 "description": "Show the specter animation when a song is playing"
963 }
964 }
965 },
966 "mpdWidgetOptions": {
967 "type": "object",
968 "additionalProperties": false,
969 "properties": {
970 "refreshFrequency": {
971 "type": "number",
972 "description": "The refresh frequency of this widget in milliseconds"
973 },
974 "showOnDisplay": {
975 "type": "string",
976 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
977 },
978 "showIcon": {
979 "type": "boolean",
980 "description": "Show or hide the widget icon"
981 },
982 "showSpecter": {
983 "type": "boolean",
984 "description": "Show the specter animation when a song is playing"
985 },
986 "mpdBinaryPath": {
987 "type": "string",
988 "description": "The binary path required to run mpc commands from the widget"
989 },
990 "mpdPort": { "type": "string", "description": "The port used by MPD" },
991 "mpdHost": { "type": "string", "description": "The host used by MPD" },
992 "mpdFormatString": {
993 "type": "string",
994 "description": "The format string used by MPC"
995 }
996 }
997 },
998 "browserTrackWidgetOptions": {
999 "type": "object",
1000 "additionalProperties": false,
1001 "properties": {
1002 "refreshFrequency": {
1003 "type": "number",
1004 "description": "The refresh frequency of this widget in milliseconds"
1005 },
1006 "showOnDisplay": {
1007 "type": "string",
1008 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
1009 },
1010 "showIcon": {
1011 "type": "boolean",
1012 "description": "Show or hide the widget icon"
1013 },
1014 "showSpecter": {
1015 "type": "boolean",
1016 "description": "Show the specter animation when a song is playing"
1017 }
1018 }
1019 },
1020 "notificationsWidgetOptions": {
1021 "type": "object",
1022 "additionalProperties": false,
1023 "properties": {
1024 "refreshFrequency": {
1025 "type": "number",
1026 "description": "The refresh frequency of this widget in milliseconds"
1027 },
1028 "showOnDisplay": {
1029 "type": "string",
1030 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
1031 },
1032 "excludedApps": {
1033 "type": "string",
1034 "description": "Comma-separated list of app names to exclude from the notifications widget (e.g. \"BetterTouchTool, Xcode\")"
1035 }
1036 }
1037 },
1038 "nextMeetingWidgetOptions": {
1039 "type": "object",
1040 "additionalProperties": false,
1041 "properties": {
1042 "refreshFrequency": {
1043 "type": "number",
1044 "description": "The refresh frequency of this widget in milliseconds"
1045 },
1046 "showOnDisplay": {
1047 "type": "string",
1048 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
1049 },
1050 "showJoinButton": {
1051 "type": "boolean",
1052 "description": "Show or hide the join button"
1053 },
1054 "showTimeOnly": {
1055 "type": "boolean",
1056 "description": "Hide the meeting title and show only time"
1057 },
1058 "icalBuddyPath": {
1059 "type": "string",
1060 "description": "Optional path to the icalBuddy binary"
1061 },
1062 "lookAheadHours": {
1063 "type": "number",
1064 "description": "Number of hours to look ahead for upcoming meetings"
1065 }
1066 }
1067 },
1068 "userWidgets": {
1069 "type": "object",
1070 "properties": {
1071 "userWidgetsList": {
1072 "type": "object",
1073 "description": "List of your custom widgets",
1074 "additionalProperties": false,
1075 "patternProperties": {
1076 "^[0-9]+$": {
1077 "type": "object",
1078 "properties": {
1079 "title": {
1080 "type": "string",
1081 "description": "The title of the widget"
1082 },
1083 "icon": {
1084 "type": "string",
1085 "description": "The icon of the widget"
1086 },
1087 "backgroundColor": {
1088 "type": "string",
1089 "description": "Any valid CSS color"
1090 },
1091 "output": {
1092 "type": "string",
1093 "description": "The command to get the output, can be a shell script"
1094 },
1095 "onClickAction": {
1096 "type": "string",
1097 "description": "The action on click, can be a shell script"
1098 },
1099 "onRightClickAction": {
1100 "type": "string",
1101 "description": "The action on right click, can be a shell script"
1102 },
1103 "onMiddleClickAction": {
1104 "type": "string",
1105 "description": "The action on middle click, can be a shell script"
1106 },
1107 "showOnDisplay": {
1108 "type": "string",
1109 "description": "The displays on which the process will be displayed. Add a list of indexes (for example: \"1,2\"). Leave blank to display the widget on every spaces"
1110 },
1111 "refreshFrequency": {
1112 "type": "number",
1113 "description": "The refresh frequency of this widget in milliseconds"
1114 },
1115 "active": {
1116 "type": "boolean",
1117 "description": "Enable or disable this specific user widget"
1118 },
1119 "noIcon": {
1120 "type": "boolean",
1121 "description": "Hide the icon"
1122 },
1123 "hideWhenNoOutput": {
1124 "type": "boolean",
1125 "description": "Hide the widget when script returns empty output"
1126 }
1127 },
1128 "additionalProperties": false,
1129 "required": [
1130 "title",
1131 "icon",
1132 "backgroundColor",
1133 "output",
1134 "onClickAction",
1135 "onRightClickAction",
1136 "onMiddleClickAction",
1137 "showOnDisplay",
1138 "refreshFrequency",
1139 "active",
1140 "noIcon",
1141 "hideWhenNoOutput"
1142 ]
1143 }
1144 }
1145 }
1146 }
1147 },
1148 "customStyles": {
1149 "type": "object",
1150 "additionalProperties": false,
1151 "properties": {
1152 "styles": {
1153 "type": "string",
1154 "description": "Your custom css styles here"
1155 }
1156 }
1157 }
1158 }
1159}