Observes kanata layer changes and triggers the script specified in the TOML config
This is just so i can have a simple service to reflect my current kanata layout in my sketchybar
brew tap kainoa-h/tap
brew install kanata-layer-observerThe service reads the TOML config from ~/.config/kanata-observer/config.toml
If the config doesn't exist, it will be created automatically with default values on first run.
Example config:
# Port that kanata's TCP server is listening on
port = 1012
# Path to the script to execute on layer change
# The layer name will be passed as the first argument
script_path = "~/.config/kanata-observer/layer_change.sh"
# Log level: "info", "debug", or "trace"
log_level = "info"Just set the tcp port in the kanata cli args:
sudo kanata --port 1012 ...# Start the service
brew services start kanata-layer-observer
# View logs
tail -f $(brew --prefix)/var/log/kanata-layer-observer.log# Use default config location
kanata_layer_observer
# Use custom config file
kanata_layer_observer --config /path/to/config.toml
# Override config values
kanata_layer_observer --port 1012 --debug