βοΈ Configuration
We use jsonc
for configuration.
Configuration file should be ~/.config/way-edges/config.jsonc
.
We also have schema for the configurations: config.schema.json.
Add it to your file:
// ~/.config/way-edges/config.jsonc
{
"$schema": "https://raw.githubusercontent.com/way-edges/way-edges/master/config/config.schema.json"
}
Groups & Group
{
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"widgets": {
"type": "array",
"items": {
...
}
}
}
}
}
}
Array of group objects, each group object contains group name
and widgets
array.
| Key | Description | | ------- | --------------------------------------------------------------- | | name | name of the group | | widgets | group of widget items, please check Widget item |
Example:
{
"groups": [
{
"name": "example",
"widgets": []
}
]
}
Widget item
{
"widgets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"edge": {
"type": "string",
"enum": ["top", "bottom", "left", "right"]
},
"position": {
"type": "string",
"enum": ["", "top", "bottom", "left", "right", "center"]
},
"layer": {
"type": "string",
"enum": ["top", "bottom", "background", "overlay"]
},
"margin": {
"type": "object",
"properties": {
"top": {
"$ref": "#/definitions/numOrPercentage"
},
"bottom": {
"$ref": "#/definitions/numOrPercentage"
},
"left": {
"$ref": "#/definitions/numOrPercentage"
},
"right": {
"$ref": "#/definitions/numOrPercentage"
}
}
},
"monitor_id": {
"type": "integer",
"minimum": 0
},
"monitor_name": {
"type": "string"
},
"widget": {
"$ref": "#/definitions/AllWidgets"
}
}
}
}
}
Array of widget items. If multiple widgets pile up, the last one in array gets to be on the top.
| Name | Description |
| ----------------------- | -------------------------------------------------------------------- |
| name | Name of the widget, needed with togglepin
|
| edge | Edge of the screen, top/bottom/left/right
|
| position | Ancher of the edge, top/bottom \|\| left/right
|
| layer | Layer of the shell (window), top/bottom/background/overlay
|
| margin | Support relative number ("24%"), top/bottom/left/right
|
| monitor_id/monitor_name | Monitor index, or the description of the monitor, index start from 0 |
| widget | the actual widget, goto widgets
|
Example:
{
"edge": "top",
"position": "left",
// "monitor_id": 1,
"layer": "overlay",
"margin": {
"left": "25%"
},
"widget": {
// check `Widgets` config
}
}