A DankMaterialShell launcher plugin for the aven todo manager.
Type av <task title> in DankLauncher and pick the project the task goes to. If no project fits, create one on the fly — without ever leaving the launcher.
- Project picker as you type — every aven project shows up as a selectable result
- Direct targeting —
av fix login @worknarrows to matching projects (matches on key, name, or ref prefix) - Create projects inline —
av fix login @newthingwith no match offers "Create project 'newthing' and add task" - Inbox escape hatch — always an option to add without a project (aven's default
inboxstatus) - Toasts for feedback — success shows the created task ref (e.g.
TP-4V43), failures show stderr - Configurable — aven binary path, launcher trigger, default workspace, and both optional items
- Task descriptions inline —
av buy milk :: pick oat milk @homeattaches a description alongside the title
- DankMaterialShell (plugin-capable, DMS ≥ 1.2 recommended)
- aven CLI on
PATH(tested against aven 0.1.x)
curl -fsSL https://raw.githubusercontent.com/raine/aven/main/scripts/install | bash
# or
brew install raine/aven/avenThe plugin declares "dependencies": ["aven"] and refuses to load with a helpful message if the CLI is missing.
git clone https://github.com/gtheys/dms-aven.git
mkdir -p ~/.config/DankMaterialShell/plugins
ln -s "$(pwd)/dms-aven" ~/.config/DankMaterialShell/plugins/Aven
dms restart # or: DMS Settings → Plugins → Scan for PluginsThen open DMS Settings → Plugins, toggle Aven Tasks on, and make sure the trigger (default av) is active in DankLauncher.
| You type | What happens |
|---|---|
av buy milk |
Lists every aven project + "Add to Inbox" — Enter adds to the highlighted one |
av buy milk @home |
If exactly one project matches home: one-click direct add |
av buy milk @hom |
Ambiguous matches are all listed as add-options |
av buy milk @gardening |
No match? Offers to create the project, then adds the task to it |
av (no title) |
Hint results: syntax reminder + your current project list |
av buy milk :: pay bills @home |
Direct add to home, with description pay bills; item comment marks it (+ description) |
av buy milk :: pay bills |
No project — picker/inbox items carry the description through; comment marks it (+ description) |
Results are tagged with the category Aven so you can filter them fast.
Limitations — descriptions are single-line only and may not contain :: or @.
| Setting | Default | Purpose |
|---|---|---|
avenBin |
aven |
Binary name or full path |
trigger |
av |
Launcher trigger prefix |
defaultWorkspace |
(empty) | Passed as --workspace to every aven call |
showInboxOption |
true |
Show "Add to Inbox (no project)" |
showCreateOption |
true |
Show "Create project … and add task" |
"aven CLI not found" at plugin load — the DMS session runs with a minimal PATH that usually omits ~/.local/bin (where the aven installer puts the binary). The plugin probes PATH, ~/.local/bin, ~/.cargo/bin, ~/bin, /usr/local/bin, and /usr/bin automatically. If aven lives somewhere else, set the full path in DMS Settings → Plugins → Aven Tasks → "aven binary".
No results when typing av ...? Run aven project list --json in a terminal to confirm aven itself works, then reload the plugin: dms ipc call plugins reload aven.
The plugin is a thin, lazy wrapper over the verified aven CLI surface:
aven project list --json # cache projects (refreshed on every query)
aven add "Title" --project key # add task to a project
aven add "Title" # add task to inbox
aven project create "Name" # create a project, then add the task
MIT
