You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the last Kando version which was used to write this configuration file.
123
+
Kando will use this to determine whether the configuration file is up-to-date or needs a migration.
124
+
Also, whenever Kando is started, it will create a backup of the configuration file if the version is not the same as the current version.
125
+
118
126
#### locale
119
127
<small>Default value: `"locale": "auto"` </small>
120
128
@@ -339,11 +347,12 @@ Can be one of `'top-left'`, `'top-right'`, `'bottom-left'`, or `'bottom-right'`.
339
347
## Menu Configuration: `menus.json`
340
348
341
349
This file contains the configuration of the individual menus.
342
-
There are two top-level JSON objects: `menus` contains a list of _Menu Descriptions_ and `collections` contains a list of _Menu Collection_.
350
+
Besides the `version` property, there are two top-level JSON objects: `menus` contains a list of _Menu Descriptions_ and `collections` contains a list of _Menu Collection_.
343
351
The latter is used in the settings dialog to group menus together.
344
352
345
353
```json5 title=menus.json
346
354
{
355
+
"version":"2.1.0",
347
356
"menus": [
348
357
{
349
358
// First Menu Description.
@@ -365,15 +374,24 @@ The latter is used in the settings dialog to group menus together.
@@ -386,7 +404,7 @@ You can have a look at a the example menu configurations [here](https://github.c
386
404
`conditions: {}` | A dictionary of conditions which must be met for the menu to be shown. [See below for details](#menu-conditions).
387
405
`tags: []` | A list of tags which can be used to filter the menu in the settings dialog. If a menu has no tags, it will only be shown in the all-menus list or if a collection has no tags at all.
388
406
389
-
### Menu Conditions
407
+
#####Menu Conditions
390
408
391
409
The `conditions` property of a menu description can contain a dictionary of conditions.
392
410
Only if all conditions are met, the menu will be shown.
@@ -397,7 +415,7 @@ Only if all conditions are met, the menu will be shown.
397
415
`windowName: ""` | The name of the window which must be focused for the menu to be shown. It is interpreted in the same way as `appName`.
398
416
`screenArea: {}` | A dictionary with the optional properties `xMin`, `xMax`, `yMin`, and `yMax`. The menu will only be shown if the mouse cursor is within the given screen area. The values are given in pixels and are relative to the top-left corner of the screen. If a value is not given, the area is unbounded in this direction.
399
417
400
-
### Menu Item Descriptions
418
+
#####Menu Item Descriptions
401
419
402
420
The layout of the menu is described by a tree of menu items.
403
421
Each menu item is a JSON object with the following properties:
@@ -412,19 +430,7 @@ Each menu item is a JSON object with the following properties:
412
430
`data: {}` | Depending on the type of the item, this can or must contain additional data. [See below for details](#menu-item-types).
413
431
`children: []` | If the menu item is a submenu, this contains a list of child items. Each object in this list is a menu item description as well.
414
432
415
-
### Menu Collections
416
-
417
-
The `collections` property of the `menus.json` file contains a list of menu collections.
418
-
A menu collection is a JSON object with the following properties:
`name: "undefined"` | The name of the menu collection. This is shown in the settings dialog if the collection is selected.
423
-
`icon: ""` | The name of the icon from the given icon theme. The icon is shown in the left sidebar of the settings dialog. The behavior is the same as for the `icon` property of a menu item description.
424
-
`iconTheme: ""` | The icon theme to use for the icon. The behavior is the same as for the `iconTheme` property of a menu item description.
425
-
`tags: []` | A list of strings which determine which menus belong to this collection. The tags are used to filter the menus in the settings dialog. If a menu has all tags of a collection, it will be shown in the collection. If a menu has no tags, it will only be shown in the all-menus list or if a collection has no tags at all.
426
-
427
-
### Menu Item Types
433
+
##### Menu Item Types
428
434
429
435
For now, the `type` property of a menu item can be one of the following values:
430
436
*[`"command"`](/item-run-command)
@@ -438,3 +444,28 @@ For now, the `type` property of a menu item can be one of the following values:
438
444
*[`"uri"`](/item-open-uri)
439
445
440
446
Click on these links to learn more about the individual item types and which `data` properties they require.
447
+
448
+
#### collections
449
+
<small>Default value:</small>
450
+
```json
451
+
"collections": [{
452
+
"name": "Favorites",
453
+
"icon": "favorite",
454
+
"iconTheme": "material-symbols-rounded",
455
+
"tags": [
456
+
"favs"
457
+
]
458
+
}]
459
+
```
460
+
461
+
The `collections` property of the `menus.json` file contains a list of menu collections.
462
+
A menu collection is a JSON object with the following properties:
`name: "undefined"` | The name of the menu collection. This is shown in the settings dialog if the collection is selected.
467
+
`icon: ""` | The name of the icon from the given icon theme. The icon is shown in the left sidebar of the settings dialog. The behavior is the same as for the `icon` property of a menu item description.
468
+
`iconTheme: ""` | The icon theme to use for the icon. The behavior is the same as for the `iconTheme` property of a menu item description.
469
+
`tags: []` | A list of strings which determine which menus belong to this collection. The tags are used to filter the menus in the settings dialog. If a menu has all tags of a collection, it will be shown in the collection. If a menu has no tags, it will only be shown in the all-menus list or if a collection has no tags at all.
0 commit comments