Files
komorebi/schema.bar.json
alex-ds13 3e1fc6123a fix(bar): simplify komorebi-bar config
This interactively rebased commit is comprised of the subsequent
individual commits listed further below.

At a high level:

- work_area_offset is now automatically calculated by default
- monitor can now take an index in addition to the previous object
- position can largely be replaced by margin and padding for bars that
  are positioned at the top of the screen
- frame can now largely be replaced by margin and padding for bars that
  are positioned at the top of the screen
- height is now a more intuitive configuration option for setting the
  height of the bar

Detailed explainations and examples are included in the body of PR #1224
on GitHub: https://github.com/LGUG2Z/komorebi/pull/1224

fix(bar): add simplified config for bar

This commit creates a few new config options for the bar that should
make it a lot simpler for new users to configure the bar.

- Remove the need for `position`: if a position is given the bar will
  still use it with priority over the new config. Instead of position
  you can now use the following:
  - `height`: defines the height of the bar (50 by default)
  - `horizontal_margin`: defines the left and right offset of the bar, it
  is the same as setting a `position.start.x` and then remove the same
  amount on `position.end.x`.
  - `vertical_margin`: defines the top and bottom offset of the bar, it is
  the same as setting a `position.start.y` and then add a correct amount
  on the `work_area_offset`.

- Remove the need for `frame`: some new configs were added that take
  priority over the old `frame`. These are:
  - `horizontal_padding`: defines the left and right padding of the bar.
    Similar to `frame.inner_margin.x`.
  - `vertical_padding`: defines the top and bottom padding of the bar.
    Similar to `frame.inner_margin.y`.

- Remove the need for `work_area_offset`: if a `work_area_offset` is
  given then it will take priority, if not, then it will calculate the
  necessary `work_area_offset` using the bar height, position and
  horizontal and vertical margins.

feat(bar): set margin/padding as one or two values

This commit changes the `horizontal_margin`, `vertical_margin`,
`horizontal_padding` and `vertical_padding` to now take a
`SpacingAxisConfig` which can take a single value or two values.

For example, you can set the vertical margin of the bar to add some
spacing above and below like this:

```json
"vertical_margin": 10
```

Which will add a spacing of 10 above and below the bar. Or you can set
it like this:

```json
"vertical_margin": [10, 0]
```

Which will add a spacing of 10 above the bar but no spacing below. You
can even set something like this:

```json
"vertical_margin": [0, -10]
```

To make no spacing above and a negative spacing below to make it so the
tiled windows show right next to the bar. This will basically be
removing the workspace and container padding between the tiled windows
and the bar.

fix(bar): use a right_to_left layout on right side

This commit changes the right area with the right widgets to have a
different layout that is still right_to_left as previously but behaves
much better in regards to its height.

fix(bar): use default bar height

When there is no `work_area_offset` and no `height` on the config it was
using the `BAR_HEIGHT` as default, however the automatica
work_area_offset calculation wasn't being done properly. Now it is!

feat(bar): monitor can be `MonitorConfig` or index

This commit allows the `"monitor":` config to take a `MonitorConfig`
object like it used to or simply a number (index).

docs(schema): update all json schemas

fix(bar): update example bar config

fix(bar): correct work_area_offset on secondary monitors

feat(bar): add multiple options for margin/padding

This commit removes the previous `horizontal_margin`, `vertical_margin`,
`horizontal_padding` and `vertical_padding`, replacing them all with
just `margin` and `padding`.

These new options can be set either with a single value that sets that
spacing on all sides, with an object specifying each individual side or
with an object specifying some "vertical" and/or "horizontal" spacing
which can have a single value, resulting on a symmetric spacing for that
specific axis or two values to define each side of the axis individually.
2025-01-22 18:57:32 -08:00

3557 lines
120 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "KomobarConfig",
"description": "The `komorebi.bar.json` configuration file reference for `v0.1.33`",
"type": "object",
"required": [
"left_widgets",
"monitor",
"right_widgets"
],
"properties": {
"center_widgets": {
"description": "Center widgets (ordered left-to-right)",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"Battery"
],
"properties": {
"Battery": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Battery widget",
"type": "boolean"
},
"hide_on_full_charge": {
"description": "Hide the widget if the battery is at full charge",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Cpu"
],
"properties": {
"Cpu": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Cpu widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Date"
],
"properties": {
"Date": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Date widget",
"type": "boolean"
},
"format": {
"description": "Set the Date format",
"oneOf": [
{
"description": "Month/Date/Year format (09/08/24)",
"type": "string",
"enum": [
"MonthDateYear"
]
},
{
"description": "Year-Month-Date format (2024-09-08)",
"type": "string",
"enum": [
"YearMonthDate"
]
},
{
"description": "Date-Month-Year format (8-Sep-2024)",
"type": "string",
"enum": [
"DateMonthYear"
]
},
{
"description": "Day Date Month Year format (8 September 2024)",
"type": "string",
"enum": [
"DayDateMonthYear"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Komorebi"
],
"properties": {
"Komorebi": {
"type": "object",
"properties": {
"configuration_switcher": {
"description": "Configure the Configuration Switcher widget",
"type": "object",
"required": [
"configurations",
"enable"
],
"properties": {
"configurations": {
"description": "A map of display friendly name => path to configuration.json",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"enable": {
"description": "Enable the Komorebi Configurations widget",
"type": "boolean"
}
}
},
"focused_window": {
"description": "Configure the Focused Window widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the currently focused window",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Focused Window widget",
"type": "boolean"
},
"show_icon": {
"description": "DEPRECATED: use 'display' instead (Show the icon of the currently focused window)",
"type": "boolean"
}
}
},
"layout": {
"description": "Configure the Layout widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the current layout",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Layout widget",
"type": "boolean"
},
"options": {
"description": "List of layout options",
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"BSP",
"Columns",
"Rows",
"VerticalStack",
"HorizontalStack",
"UltrawideVerticalStack",
"Grid",
"RightMainVerticalStack"
]
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
}
]
}
}
}
},
"workspaces": {
"description": "Configure the Workspaces widget",
"type": "object",
"required": [
"enable",
"hide_empty_workspaces"
],
"properties": {
"display": {
"description": "Display format of the workspace",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Workspaces widget",
"type": "boolean"
},
"hide_empty_workspaces": {
"description": "Hide workspaces without any windows",
"type": "boolean"
}
}
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Media"
],
"properties": {
"Media": {
"type": "object",
"required": [
"enable"
],
"properties": {
"enable": {
"description": "Enable the Media widget",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Memory"
],
"properties": {
"Memory": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Memory widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Network"
],
"properties": {
"Network": {
"type": "object",
"required": [
"enable",
"show_network_activity",
"show_total_data_transmitted"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Network widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
},
"network_activity_fill_characters": {
"description": "Characters to reserve for network activity data",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"show_default_interface": {
"description": "Show default interface",
"type": "boolean"
},
"show_network_activity": {
"description": "Show network activity",
"type": "boolean"
},
"show_total_data_transmitted": {
"description": "Show total data transmitted",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Storage"
],
"properties": {
"Storage": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Storage widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Time"
],
"properties": {
"Time": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Time widget",
"type": "boolean"
},
"format": {
"description": "Set the Time format",
"oneOf": [
{
"description": "Twelve-hour format (with seconds)",
"type": "string",
"enum": [
"TwelveHour"
]
},
{
"description": "Twelve-hour format (without seconds)",
"type": "string",
"enum": [
"TwelveHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format (with seconds)",
"type": "string",
"enum": [
"TwentyFourHour"
]
},
{
"description": "Twenty-four-hour format (without seconds)",
"type": "string",
"enum": [
"TwentyFourHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with circles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryCircle"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with rectangles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryRectangle"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Update"
],
"properties": {
"Update": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 12 hours)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Update widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
}
]
}
},
"font_family": {
"description": "Font family",
"type": "string"
},
"font_size": {
"description": "Font size (default: 12.5)",
"type": "number",
"format": "float"
},
"frame": {
"description": "Frame options (see: https://docs.rs/egui/latest/egui/containers/frame/struct.Frame.html)",
"type": "object",
"required": [
"inner_margin"
],
"properties": {
"inner_margin": {
"description": "Margin inside the painted frame",
"type": "object",
"required": [
"x",
"y"
],
"properties": {
"x": {
"description": "X coordinate",
"type": "number",
"format": "float"
},
"y": {
"description": "Y coordinate",
"type": "number",
"format": "float"
}
}
}
}
},
"grouping": {
"description": "Visual grouping for widgets",
"oneOf": [
{
"description": "No grouping is applied",
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"None"
]
}
}
},
{
"description": "Widgets are grouped as a whole",
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"Bar"
]
},
"rounding": {
"description": "Rounding values for the 4 corners. Can be a single or 4 values.",
"anyOf": [
{
"description": "All 4 corners are the same",
"type": "number",
"format": "float"
},
{
"description": "All 4 corners are custom. Order: NW, NE, SW, SE",
"type": "array",
"items": {
"type": "number",
"format": "float"
},
"maxItems": 4,
"minItems": 4
}
]
},
"style": {
"description": "Styles for the grouping",
"oneOf": [
{
"type": "string",
"enum": [
"Default"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O1S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-0 y-0, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O0S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB0O1S3"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O1S2"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-0 y-0, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O0S2"
]
},
{
"description": "A glow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB0O1S2"
]
}
]
},
"transparency_alpha": {
"description": "Alpha value for the color transparency [[0-255]] (default: 200)",
"type": "integer",
"format": "uint8",
"minimum": 0.0
}
}
},
{
"description": "Widgets are grouped by alignment",
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"Alignment"
]
},
"rounding": {
"description": "Rounding values for the 4 corners. Can be a single or 4 values.",
"anyOf": [
{
"description": "All 4 corners are the same",
"type": "number",
"format": "float"
},
{
"description": "All 4 corners are custom. Order: NW, NE, SW, SE",
"type": "array",
"items": {
"type": "number",
"format": "float"
},
"maxItems": 4,
"minItems": 4
}
]
},
"style": {
"description": "Styles for the grouping",
"oneOf": [
{
"type": "string",
"enum": [
"Default"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O1S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-0 y-0, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O0S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB0O1S3"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O1S2"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-0 y-0, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O0S2"
]
},
{
"description": "A glow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB0O1S2"
]
}
]
},
"transparency_alpha": {
"description": "Alpha value for the color transparency [[0-255]] (default: 200)",
"type": "integer",
"format": "uint8",
"minimum": 0.0
}
}
},
{
"description": "Widgets are grouped individually",
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"Widget"
]
},
"rounding": {
"description": "Rounding values for the 4 corners. Can be a single or 4 values.",
"anyOf": [
{
"description": "All 4 corners are the same",
"type": "number",
"format": "float"
},
{
"description": "All 4 corners are custom. Order: NW, NE, SW, SE",
"type": "array",
"items": {
"type": "number",
"format": "float"
},
"maxItems": 4,
"minItems": 4
}
]
},
"style": {
"description": "Styles for the grouping",
"oneOf": [
{
"type": "string",
"enum": [
"Default"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O1S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 4, offset: x-0 y-0, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB4O0S3"
]
},
{
"description": "A shadow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 3)",
"type": "string",
"enum": [
"DefaultWithShadowB0O1S3"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O1S2"
]
},
{
"description": "A glow is added under the default group. (blur: 3, offset: x-0 y-0, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB3O0S2"
]
},
{
"description": "A glow is added under the default group. (blur: 0, offset: x-1 y-1, spread: 2)",
"type": "string",
"enum": [
"DefaultWithGlowB0O1S2"
]
}
]
},
"transparency_alpha": {
"description": "Alpha value for the color transparency [[0-255]] (default: 200)",
"type": "integer",
"format": "uint8",
"minimum": 0.0
}
}
}
]
},
"height": {
"description": "Bar height (default: 50)",
"type": "number",
"format": "float"
},
"horizontal_margin": {
"description": "Bar horizontal margin. Use one value for symmetric margin or use `[left, right]` to specify a different margin on each side (default: 0)",
"anyOf": [
{
"description": "A symmetric spacing on some axis (horizontal or vertical), with the same size on both sides",
"type": "number",
"format": "float"
},
{
"description": "A detailed spacing on some axis (horizontal or vertical), with a size for each side. If an horizontal spacing, then it will be (left, right), if vertical it will be (top, bottom)",
"type": "array",
"items": [
{
"type": "number",
"format": "float"
},
{
"type": "number",
"format": "float"
}
],
"maxItems": 2,
"minItems": 2
}
]
},
"horizontal_padding": {
"description": "Bar horizontal padding. Use one value for symmetric padding or use `[left, right]` to specify a different padding on each side (default: 10)",
"anyOf": [
{
"description": "A symmetric spacing on some axis (horizontal or vertical), with the same size on both sides",
"type": "number",
"format": "float"
},
{
"description": "A detailed spacing on some axis (horizontal or vertical), with a size for each side. If an horizontal spacing, then it will be (left, right), if vertical it will be (top, bottom)",
"type": "array",
"items": [
{
"type": "number",
"format": "float"
},
{
"type": "number",
"format": "float"
}
],
"maxItems": 2,
"minItems": 2
}
]
},
"icon_scale": {
"description": "Scale of the icons relative to the font_size [[1.0-2.0]]. (default: 1.4)",
"type": "number",
"format": "float"
},
"left_widgets": {
"description": "Left side widgets (ordered left-to-right)",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"Battery"
],
"properties": {
"Battery": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Battery widget",
"type": "boolean"
},
"hide_on_full_charge": {
"description": "Hide the widget if the battery is at full charge",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Cpu"
],
"properties": {
"Cpu": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Cpu widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Date"
],
"properties": {
"Date": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Date widget",
"type": "boolean"
},
"format": {
"description": "Set the Date format",
"oneOf": [
{
"description": "Month/Date/Year format (09/08/24)",
"type": "string",
"enum": [
"MonthDateYear"
]
},
{
"description": "Year-Month-Date format (2024-09-08)",
"type": "string",
"enum": [
"YearMonthDate"
]
},
{
"description": "Date-Month-Year format (8-Sep-2024)",
"type": "string",
"enum": [
"DateMonthYear"
]
},
{
"description": "Day Date Month Year format (8 September 2024)",
"type": "string",
"enum": [
"DayDateMonthYear"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Komorebi"
],
"properties": {
"Komorebi": {
"type": "object",
"properties": {
"configuration_switcher": {
"description": "Configure the Configuration Switcher widget",
"type": "object",
"required": [
"configurations",
"enable"
],
"properties": {
"configurations": {
"description": "A map of display friendly name => path to configuration.json",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"enable": {
"description": "Enable the Komorebi Configurations widget",
"type": "boolean"
}
}
},
"focused_window": {
"description": "Configure the Focused Window widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the currently focused window",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Focused Window widget",
"type": "boolean"
},
"show_icon": {
"description": "DEPRECATED: use 'display' instead (Show the icon of the currently focused window)",
"type": "boolean"
}
}
},
"layout": {
"description": "Configure the Layout widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the current layout",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Layout widget",
"type": "boolean"
},
"options": {
"description": "List of layout options",
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"BSP",
"Columns",
"Rows",
"VerticalStack",
"HorizontalStack",
"UltrawideVerticalStack",
"Grid",
"RightMainVerticalStack"
]
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
}
]
}
}
}
},
"workspaces": {
"description": "Configure the Workspaces widget",
"type": "object",
"required": [
"enable",
"hide_empty_workspaces"
],
"properties": {
"display": {
"description": "Display format of the workspace",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Workspaces widget",
"type": "boolean"
},
"hide_empty_workspaces": {
"description": "Hide workspaces without any windows",
"type": "boolean"
}
}
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Media"
],
"properties": {
"Media": {
"type": "object",
"required": [
"enable"
],
"properties": {
"enable": {
"description": "Enable the Media widget",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Memory"
],
"properties": {
"Memory": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Memory widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Network"
],
"properties": {
"Network": {
"type": "object",
"required": [
"enable",
"show_network_activity",
"show_total_data_transmitted"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Network widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
},
"network_activity_fill_characters": {
"description": "Characters to reserve for network activity data",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"show_default_interface": {
"description": "Show default interface",
"type": "boolean"
},
"show_network_activity": {
"description": "Show network activity",
"type": "boolean"
},
"show_total_data_transmitted": {
"description": "Show total data transmitted",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Storage"
],
"properties": {
"Storage": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Storage widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Time"
],
"properties": {
"Time": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Time widget",
"type": "boolean"
},
"format": {
"description": "Set the Time format",
"oneOf": [
{
"description": "Twelve-hour format (with seconds)",
"type": "string",
"enum": [
"TwelveHour"
]
},
{
"description": "Twelve-hour format (without seconds)",
"type": "string",
"enum": [
"TwelveHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format (with seconds)",
"type": "string",
"enum": [
"TwentyFourHour"
]
},
{
"description": "Twenty-four-hour format (without seconds)",
"type": "string",
"enum": [
"TwentyFourHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with circles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryCircle"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with rectangles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryRectangle"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Update"
],
"properties": {
"Update": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 12 hours)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Update widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
}
]
}
},
"max_label_width": {
"description": "Max label width before text truncation (default: 400.0)",
"type": "number",
"format": "float"
},
"monitor": {
"description": "The monitor index or the full monitor options",
"anyOf": [
{
"description": "The monitor index where you want the bar to show",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
{
"description": "The full monitor options with the index and an optional work_area_offset",
"type": "object",
"required": [
"index"
],
"properties": {
"index": {
"description": "Komorebi monitor index of the monitor on which to render the bar",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"work_area_offset": {
"description": "Automatically apply a work area offset for this monitor to accommodate the bar",
"type": "object",
"required": [
"bottom",
"left",
"right",
"top"
],
"properties": {
"bottom": {
"description": "The bottom point in a Win32 Rect",
"type": "integer",
"format": "int32"
},
"left": {
"description": "The left point in a Win32 Rect",
"type": "integer",
"format": "int32"
},
"right": {
"description": "The right point in a Win32 Rect",
"type": "integer",
"format": "int32"
},
"top": {
"description": "The top point in a Win32 Rect",
"type": "integer",
"format": "int32"
}
}
}
}
}
]
},
"position": {
"description": "Bar positioning options",
"type": "object",
"properties": {
"end": {
"description": "The desired size of the bar from the starting position (usually monitor width x desired height)",
"type": "object",
"required": [
"x",
"y"
],
"properties": {
"x": {
"description": "X coordinate",
"type": "number",
"format": "float"
},
"y": {
"description": "Y coordinate",
"type": "number",
"format": "float"
}
}
},
"start": {
"description": "The desired starting position of the bar (0,0 = top left of the screen)",
"type": "object",
"required": [
"x",
"y"
],
"properties": {
"x": {
"description": "X coordinate",
"type": "number",
"format": "float"
},
"y": {
"description": "Y coordinate",
"type": "number",
"format": "float"
}
}
}
}
},
"right_widgets": {
"description": "Right side widgets (ordered left-to-right)",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"Battery"
],
"properties": {
"Battery": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Battery widget",
"type": "boolean"
},
"hide_on_full_charge": {
"description": "Hide the widget if the battery is at full charge",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Cpu"
],
"properties": {
"Cpu": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Cpu widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Date"
],
"properties": {
"Date": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Date widget",
"type": "boolean"
},
"format": {
"description": "Set the Date format",
"oneOf": [
{
"description": "Month/Date/Year format (09/08/24)",
"type": "string",
"enum": [
"MonthDateYear"
]
},
{
"description": "Year-Month-Date format (2024-09-08)",
"type": "string",
"enum": [
"YearMonthDate"
]
},
{
"description": "Date-Month-Year format (8-Sep-2024)",
"type": "string",
"enum": [
"DateMonthYear"
]
},
{
"description": "Day Date Month Year format (8 September 2024)",
"type": "string",
"enum": [
"DayDateMonthYear"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Komorebi"
],
"properties": {
"Komorebi": {
"type": "object",
"properties": {
"configuration_switcher": {
"description": "Configure the Configuration Switcher widget",
"type": "object",
"required": [
"configurations",
"enable"
],
"properties": {
"configurations": {
"description": "A map of display friendly name => path to configuration.json",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"enable": {
"description": "Enable the Komorebi Configurations widget",
"type": "boolean"
}
}
},
"focused_window": {
"description": "Configure the Focused Window widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the currently focused window",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Focused Window widget",
"type": "boolean"
},
"show_icon": {
"description": "DEPRECATED: use 'display' instead (Show the icon of the currently focused window)",
"type": "boolean"
}
}
},
"layout": {
"description": "Configure the Layout widget",
"type": "object",
"required": [
"enable"
],
"properties": {
"display": {
"description": "Display format of the current layout",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Layout widget",
"type": "boolean"
},
"options": {
"description": "List of layout options",
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"BSP",
"Columns",
"Rows",
"VerticalStack",
"HorizontalStack",
"UltrawideVerticalStack",
"Grid",
"RightMainVerticalStack"
]
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
},
{
"type": "null"
}
]
}
}
}
},
"workspaces": {
"description": "Configure the Workspaces widget",
"type": "object",
"required": [
"enable",
"hide_empty_workspaces"
],
"properties": {
"display": {
"description": "Display format of the workspace",
"oneOf": [
{
"description": "Show only icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show only text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text for the selected element, and text on the rest",
"type": "string",
"enum": [
"TextAndIconOnSelected"
]
},
{
"description": "Show both icon and text",
"type": "string",
"enum": [
"IconAndText"
]
},
{
"description": "Show an icon and text for the selected element, and icons on the rest",
"type": "string",
"enum": [
"IconAndTextOnSelected"
]
}
]
},
"enable": {
"description": "Enable the Komorebi Workspaces widget",
"type": "boolean"
},
"hide_empty_workspaces": {
"description": "Hide workspaces without any windows",
"type": "boolean"
}
}
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Media"
],
"properties": {
"Media": {
"type": "object",
"required": [
"enable"
],
"properties": {
"enable": {
"description": "Enable the Media widget",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Memory"
],
"properties": {
"Memory": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Memory widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Network"
],
"properties": {
"Network": {
"type": "object",
"required": [
"enable",
"show_network_activity",
"show_total_data_transmitted"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Network widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
},
"network_activity_fill_characters": {
"description": "Characters to reserve for network activity data",
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"show_default_interface": {
"description": "Show default interface",
"type": "boolean"
},
"show_network_activity": {
"description": "Show network activity",
"type": "boolean"
},
"show_total_data_transmitted": {
"description": "Show total data transmitted",
"type": "boolean"
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Storage"
],
"properties": {
"Storage": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 10 seconds)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Storage widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Time"
],
"properties": {
"Time": {
"type": "object",
"required": [
"enable",
"format"
],
"properties": {
"enable": {
"description": "Enable the Time widget",
"type": "boolean"
},
"format": {
"description": "Set the Time format",
"oneOf": [
{
"description": "Twelve-hour format (with seconds)",
"type": "string",
"enum": [
"TwelveHour"
]
},
{
"description": "Twelve-hour format (without seconds)",
"type": "string",
"enum": [
"TwelveHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format (with seconds)",
"type": "string",
"enum": [
"TwentyFourHour"
]
},
{
"description": "Twenty-four-hour format (without seconds)",
"type": "string",
"enum": [
"TwentyFourHourWithoutSeconds"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with circles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryCircle"
]
},
{
"description": "Twenty-four-hour format displayed as a binary clock with rectangles (with seconds) (https://en.wikipedia.org/wiki/Binary_clock)",
"type": "string",
"enum": [
"BinaryRectangle"
]
},
{
"description": "Custom format (https://docs.rs/chrono/latest/chrono/format/strftime/index.html)",
"type": "object",
"required": [
"Custom"
],
"properties": {
"Custom": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Update"
],
"properties": {
"Update": {
"type": "object",
"required": [
"enable"
],
"properties": {
"data_refresh_interval": {
"description": "Data refresh interval (default: 12 hours)",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"enable": {
"description": "Enable the Update widget",
"type": "boolean"
},
"label_prefix": {
"description": "Display label prefix",
"oneOf": [
{
"description": "Show no prefix",
"type": "string",
"enum": [
"None"
]
},
{
"description": "Show an icon",
"type": "string",
"enum": [
"Icon"
]
},
{
"description": "Show text",
"type": "string",
"enum": [
"Text"
]
},
{
"description": "Show an icon and text",
"type": "string",
"enum": [
"IconAndText"
]
}
]
}
}
}
},
"additionalProperties": false
}
]
}
},
"theme": {
"description": "Theme",
"oneOf": [
{
"description": "A theme from catppuccin-egui",
"type": "object",
"required": [
"name",
"palette"
],
"properties": {
"accent": {
"type": "string",
"enum": [
"Rosewater",
"Flamingo",
"Pink",
"Mauve",
"Red",
"Maroon",
"Peach",
"Yellow",
"Green",
"Teal",
"Sky",
"Sapphire",
"Blue",
"Lavender",
"Text",
"Subtext1",
"Subtext0",
"Overlay2",
"Overlay1",
"Overlay0",
"Surface2",
"Surface1",
"Surface0",
"Base",
"Mantle",
"Crust"
]
},
"name": {
"description": "Name of the Catppuccin theme (theme previews: https://github.com/catppuccin/catppuccin)",
"type": "string",
"enum": [
"Frappe",
"Latte",
"Macchiato",
"Mocha"
]
},
"palette": {
"type": "string",
"enum": [
"Catppuccin"
]
}
}
},
{
"description": "A theme from base16-egui-themes",
"type": "object",
"required": [
"name",
"palette"
],
"properties": {
"accent": {
"type": "string",
"enum": [
"Base00",
"Base01",
"Base02",
"Base03",
"Base04",
"Base05",
"Base06",
"Base07",
"Base08",
"Base09",
"Base0A",
"Base0B",
"Base0C",
"Base0D",
"Base0E",
"Base0F"
]
},
"name": {
"description": "Name of the Base16 theme (theme previews: https://tinted-theming.github.io/base16-gallery)",
"type": "string",
"enum": [
"3024",
"Apathy",
"Apprentice",
"Ashes",
"AtelierCaveLight",
"AtelierCave",
"AtelierDuneLight",
"AtelierDune",
"AtelierEstuaryLight",
"AtelierEstuary",
"AtelierForestLight",
"AtelierForest",
"AtelierHeathLight",
"AtelierHeath",
"AtelierLakesideLight",
"AtelierLakeside",
"AtelierPlateauLight",
"AtelierPlateau",
"AtelierSavannaLight",
"AtelierSavanna",
"AtelierSeasideLight",
"AtelierSeaside",
"AtelierSulphurpoolLight",
"AtelierSulphurpool",
"Atlas",
"AyuDark",
"AyuLight",
"AyuMirage",
"Aztec",
"Bespin",
"BlackMetalBathory",
"BlackMetalBurzum",
"BlackMetalDarkFuneral",
"BlackMetalGorgoroth",
"BlackMetalImmortal",
"BlackMetalKhold",
"BlackMetalMarduk",
"BlackMetalMayhem",
"BlackMetalNile",
"BlackMetalVenom",
"BlackMetal",
"Blueforest",
"Blueish",
"Brewer",
"Bright",
"Brogrammer",
"BrushtreesDark",
"Brushtrees",
"Caroline",
"CatppuccinFrappe",
"CatppuccinLatte",
"CatppuccinMacchiato",
"CatppuccinMocha",
"Chalk",
"Circus",
"ClassicDark",
"ClassicLight",
"Codeschool",
"Colors",
"Cupcake",
"Cupertino",
"DaOneBlack",
"DaOneGray",
"DaOneOcean",
"DaOnePaper",
"DaOneSea",
"DaOneWhite",
"DanqingLight",
"Danqing",
"Darcula",
"Darkmoss",
"Darktooth",
"Darkviolet",
"Decaf",
"DefaultDark",
"DefaultLight",
"Dirtysea",
"Dracula",
"EdgeDark",
"EdgeLight",
"Eighties",
"EmbersLight",
"Embers",
"Emil",
"EquilibriumDark",
"EquilibriumGrayDark",
"EquilibriumGrayLight",
"EquilibriumLight",
"Eris",
"Espresso",
"EvaDim",
"Eva",
"EvenokDark",
"EverforestDarkHard",
"Everforest",
"Flat",
"Framer",
"FruitSoda",
"Gigavolt",
"Github",
"GoogleDark",
"GoogleLight",
"Gotham",
"GrayscaleDark",
"GrayscaleLight",
"Greenscreen",
"Gruber",
"GruvboxDarkHard",
"GruvboxDarkMedium",
"GruvboxDarkPale",
"GruvboxDarkSoft",
"GruvboxLightHard",
"GruvboxLightMedium",
"GruvboxLightSoft",
"GruvboxMaterialDarkHard",
"GruvboxMaterialDarkMedium",
"GruvboxMaterialDarkSoft",
"GruvboxMaterialLightHard",
"GruvboxMaterialLightMedium",
"GruvboxMaterialLightSoft",
"Hardcore",
"Harmonic16Dark",
"Harmonic16Light",
"HeetchLight",
"Heetch",
"Helios",
"Hopscotch",
"HorizonDark",
"HorizonLight",
"HorizonTerminalDark",
"HorizonTerminalLight",
"HumanoidDark",
"HumanoidLight",
"IaDark",
"IaLight",
"Icy",
"Irblack",
"Isotope",
"Jabuti",
"Kanagawa",
"Katy",
"Kimber",
"Lime",
"Macintosh",
"Marrakesh",
"Materia",
"MaterialDarker",
"MaterialLighter",
"MaterialPalenight",
"MaterialVivid",
"Material",
"MeasuredDark",
"MeasuredLight",
"MellowPurple",
"MexicoLight",
"Mocha",
"Monokai",
"Moonlight",
"Mountain",
"Nebula",
"NordLight",
"Nord",
"Nova",
"Ocean",
"Oceanicnext",
"OneLight",
"OnedarkDark",
"Onedark",
"OutrunDark",
"OxocarbonDark",
"OxocarbonLight",
"Pandora",
"PapercolorDark",
"PapercolorLight",
"Paraiso",
"Pasque",
"Phd",
"Pico",
"Pinky",
"Pop",
"Porple",
"PreciousDarkEleven",
"PreciousDarkFifteen",
"PreciousLightWarm",
"PreciousLightWhite",
"PrimerDarkDimmed",
"PrimerDark",
"PrimerLight",
"Purpledream",
"Qualia",
"Railscasts",
"Rebecca",
"RosePineDawn",
"RosePineMoon",
"RosePine",
"Saga",
"Sagelight",
"Sakura",
"Sandcastle",
"SelenizedBlack",
"SelenizedDark",
"SelenizedLight",
"SelenizedWhite",
"Seti",
"ShadesOfPurple",
"ShadesmearDark",
"ShadesmearLight",
"Shapeshifter",
"SilkDark",
"SilkLight",
"Snazzy",
"SolarflareLight",
"Solarflare",
"SolarizedDark",
"SolarizedLight",
"Spaceduck",
"Spacemacs",
"Sparky",
"StandardizedDark",
"StandardizedLight",
"Stella",
"StillAlive",
"Summercamp",
"SummerfruitDark",
"SummerfruitLight",
"SynthMidnightDark",
"SynthMidnightLight",
"Tango",
"Tarot",
"Tender",
"TerracottaDark",
"Terracotta",
"TokyoCityDark",
"TokyoCityLight",
"TokyoCityTerminalDark",
"TokyoCityTerminalLight",
"TokyoNightDark",
"TokyoNightLight",
"TokyoNightMoon",
"TokyoNightStorm",
"TokyoNightTerminalDark",
"TokyoNightTerminalLight",
"TokyoNightTerminalStorm",
"TokyodarkTerminal",
"Tokyodark",
"TomorrowNightEighties",
"TomorrowNight",
"Tomorrow",
"Tube",
"Twilight",
"UnikittyDark",
"UnikittyLight",
"UnikittyReversible",
"Uwunicorn",
"Vesper",
"Vice",
"Vulcan",
"Windows10Light",
"Windows10",
"Windows95Light",
"Windows95",
"WindowsHighcontrastLight",
"WindowsHighcontrast",
"WindowsNtLight",
"WindowsNt",
"Woodland",
"XcodeDusk",
"Zenbones",
"Zenburn"
]
},
"palette": {
"type": "string",
"enum": [
"Base16"
]
}
}
}
]
},
"transparency_alpha": {
"description": "Alpha value for the color transparency [[0-255]] (default: 200)",
"type": "integer",
"format": "uint8",
"minimum": 0.0
},
"vertical_margin": {
"description": "Bar vertical margin. Use one value for symmetric margin or use `[top, bottom]` to specify a different margin on each side (default: 0)",
"anyOf": [
{
"description": "A symmetric spacing on some axis (horizontal or vertical), with the same size on both sides",
"type": "number",
"format": "float"
},
{
"description": "A detailed spacing on some axis (horizontal or vertical), with a size for each side. If an horizontal spacing, then it will be (left, right), if vertical it will be (top, bottom)",
"type": "array",
"items": [
{
"type": "number",
"format": "float"
},
{
"type": "number",
"format": "float"
}
],
"maxItems": 2,
"minItems": 2
}
]
},
"vertical_padding": {
"description": "Bar vertical padding. Use one value for symmetric padding or use `[top, bottom]` to specify a different padding on each side (default: 10)",
"anyOf": [
{
"description": "A symmetric spacing on some axis (horizontal or vertical), with the same size on both sides",
"type": "number",
"format": "float"
},
{
"description": "A detailed spacing on some axis (horizontal or vertical), with a size for each side. If an horizontal spacing, then it will be (left, right), if vertical it will be (top, bottom)",
"type": "array",
"items": [
{
"type": "number",
"format": "float"
},
{
"type": "number",
"format": "float"
}
],
"maxItems": 2,
"minItems": 2
}
]
},
"widget_spacing": {
"description": "Spacing between widgets (default: 10.0)",
"type": "number",
"format": "float"
}
}
}