Omahub
← All plugins
E

Omatodo

by Edward Renton

Keyboard-first todo list with a TUI and CLI. Super+Alt+T opens a centered overlay.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
5096631
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
5096631
Reviewed
1 month ago

The plugin is a straightforward todo overlay and bar widget with companion TUI/CLI tools, reading and writing only its own JSON files under ~/.config/omarchy and ~/.local/state/omarchy. The deterministic scan found no issues, and the sampled code shows no obfuscation, network activity, hidden persistence, or destructive behavior. Developer workflow files describe local deployment steps but are not executed as part of plugin installation or runtime.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/edwardrenton/omatodo --enable
Productivity #bar #quickshell

Omatodo — keyboard-first Omarchy plugin

Centered overlay, bar count, terminal TUI, and CLI. Plugin id: ed.omatodo.

Install

omarchy plugin add https://github.com/edwardrenton/omatodo.git --enable

That clones the plugin and enables the overlay. Confirm the bar-section picker if you want the open-count widget.

plugin add does not install a keybind or the omatodo command. Add those yourself:

Overlay shortcut — in ~/.config/hypr/bindings.lua:

o.bind("SUPER + ALT + T", "Omatodo", "omarchy-shell shell toggle ed.omatodo")

Do not bind Super+T (float) or Super+Ctrl+H (Hardware menu).

CLI / TUI — needs jq and python3 (curses is in the stdlib):

install -m 755 ~/.config/omarchy/plugins/ed.omatodo/omatodo ~/.local/bin/omatodo

Keep ~/.local/bin on your PATH. Run omatodo in a terminal, or omatodo --help.

Remove

omarchy plugin remove ed.omatodo
rm -f ~/.local/bin/omatodo

Then delete the Super+Alt+T line from ~/.config/hypr/bindings.lua if you added it.

Optional — your list and status labels (not removed with the plugin):

rm -f ~/.local/state/omarchy/ed.omatodo.json ~/.config/omarchy/ed.omatodo.json

TUI

omatodo in a terminal (or omatodo tui) is the same keyboard model as the overlay.

Key Action
type Search; Create row if no exact match
Enter Create, cycle status, or restore
Left Cycle status backwards
Up / Down Move
F2 / Ctrl+E Rename
Delete / Ctrl+D Move to trash (forever in trash)
Ctrl+T Open / leave trash
Ctrl+R Restore
Ctrl+X Empty trash
Esc Clear search, leave trash, or quit

CLI

Same file as the overlay (~/.local/state/omarchy/ed.omatodo.json).

omatodo                         TUI (or list if not a terminal)
omatodo tui                     TUI
omatodo list                    List
omatodo add Buy milk            Create (also: omatodo Buy milk)
omatodo status 1 blocked        Set status
omatodo cycle 2                 Next status
omatodo done 2                  Mark completed
omatodo rename 1 New title
omatodo rm 3                    Move to trash
omatodo trash                   List trash
omatodo restore 1
omatodo purge 1                 Delete forever
omatodo empty
omatodo open                    Overlay
omatodo list --json

Items are a list number, id prefix, or unique text match.

Statuses

Order and colours:

Status Colour
Backlog grey
Blocking blue
Waiting orange
Completed green, struck through

New todos land in Backlog. The bar count ignores Completed and Trash.

Type to search. A Create row appears only when the query doesn’t exactly match an existing todo. Enter on that row adds it; Enter on a todo cycles status.

F2 or Ctrl+E renames the selected todo. The name is selected so you can type over it; Enter saves, Esc cancels.

Delete moves a todo to Trash. Ctrl+T opens Trash. Backspace only edits search.

Trash

Key Action
Ctrl+T Toggle Trash
Enter / Ctrl+R Restore selected
Delete / Ctrl+D Delete forever
Shift+Delete Empty Trash
Esc Leave Trash (or clear search first)

Edit statuses

~/.config/omarchy/ed.omatodo.json — Ctrl+, from the popup opens it.

{
  "statuses": [
    { "id": "backlog", "label": "Backlog", "color": "grey", "done": false },
    { "id": "blocked", "label": "Blocking", "color": "blue", "done": false },
    { "id": "waiting", "label": "Waiting", "color": "orange", "done": false },
    { "id": "completed", "label": "Completed", "color": "green", "done": true }
  ]
}

color is a name from the active theme’s colors.toml (grey, blue, orange, green, muted, accent, …). Those follow omarchy theme set …. done: true drops that status from the bar count.

Other keys

Key Action
type Search; Create row if no exact match
F2 / Ctrl+E Rename selected todo
Enter Save rename, create, cycle status, or restore
Shift+Enter Cycle status backwards
Up / Down Move
Delete Move to Trash
Ctrl+T Open / leave Trash
Esc Cancel rename, clear search, leave Trash, or close

Todos: ~/.local/state/omarchy/ed.omatodo.json (todos + trash).

License

MIT. See LICENSE.