forked from Shinonome/caelestia-cli
toggles: refactor to have config
Config is in $XDG_CONFIG_HOME/caelestia/scripts.json Selector is a jq selector using hyprland client data Spawn is a command passed to uwsm app Action is either spawn, move, or both Extra cond is an extra shell command to check whether to do action (for easy disabling just put false or empty action)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"toggles": {
|
||||
"communication": {
|
||||
"apps": [
|
||||
{
|
||||
"selector": ".class == \"equibop\"",
|
||||
"spawn": "equibop",
|
||||
"action": "spawn move"
|
||||
},
|
||||
{
|
||||
"selector": ".class == \"whatsapp\"",
|
||||
"spawn": "firefox --name whatsapp -P whatsapp 'https://web.whatsapp.com'",
|
||||
"action": "move",
|
||||
"extraCond": "grep -q 'Name=whatsapp' ~/.mozilla/firefox/profiles.ini"
|
||||
}
|
||||
]
|
||||
},
|
||||
"music": {
|
||||
"apps": [
|
||||
{
|
||||
"selector": ".class == \"Spotify\" or .initialTitle == \"Spotify\" or .initialTitle == \"Spotify Free\"",
|
||||
"spawn": "spotify-adblock.desktop",
|
||||
"action": "spawn move"
|
||||
},
|
||||
{
|
||||
"selector": ".class == \"feishin\"",
|
||||
"spawn": "feishin",
|
||||
"action": "move"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sysmon": {
|
||||
"apps": [
|
||||
{
|
||||
"selector": ".class == \"btop\" and .title == \"btop\" and .workspace.name == \"special:sysmon\"",
|
||||
"spawn": "foot -a 'btop' -T 'btop' -- btop",
|
||||
"action": "spawn"
|
||||
}
|
||||
]
|
||||
},
|
||||
"todo": {
|
||||
"apps": [
|
||||
{
|
||||
"selector": ".class == \"Todoist\"",
|
||||
"spawn": "todoist",
|
||||
"action": "spawn move"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user