getting started
Your first workflow
Start with the smallest thing wflow can do: a chord that fires a notification. Five minutes, zero risk, proves the daemon is alive.
1. Save the file
Drop this in ~/.config/wflow/workflows/hello.kdl:
workflow "Hello wflow" {
trigger {
chord "super+alt+h"
}
notify "wflow is alive"
}The chord can be barewords too — chord super+alt+h means the same thing. Either round-trips.
2. Make sure the daemon is running
If you accepted the auto-enable prompt on first GUI launch, the daemon is already running and watching this directory. Save the file and the new chord binds in real time on Hyprland and Sway, or after a restart on Plasma 6 / GNOME 46+ (the GlobalShortcuts portal binds once per session by spec).
If you didn't, enable it now:
systemctl --user enable --now wflow-daemon
# To pick up trigger changes on portal-mode desktops (Plasma/GNOME):
systemctl --user restart wflow-daemonOr run it manually in a terminal so you can watch the logs:
wflow daemon3. Press the chord
Hit Super+Alt+H. You should see a system notification. If you do — wflow is working, and you've just bound a global hotkey to a custom action.
If it didn't fire
- Check the daemon log.
journalctl --user -u wflow-daemon -f(systemd) or whatever terminal you ranwflow daemonin (manual). Parse errors and registration failures land there with line numbers. - Check the chord isn't taken. Some compositors reserve
super+alt+*for window management. Trysuper+alt+ctrl+hor pick a different chord. The daemon log shows whether the backend accepted the registration. - Check wdotool. The notify step doesn't actually need wdotool, but the next step you add will.
wflow doctortells you what's on PATH and which compositor backend the daemon will pick.
What to do next
Add a real action. Try shell "echo hello > /tmp/wflow.txt" as a second step under the notify, save (the daemon re-binds automatically), fire the chord, then cat /tmp/wflow.txt. That's the whole proposition: bind a key combo to a sequence of arbitrary actions.
From here: read the KDL basics, browse the action kinds, or poach from the library until you have something worth shipping.