Deep links
ccmon registers as the system handler for the ccmon:// URL scheme.
This is what lets the daemon's "Open" notification action take you
straight to the right place in the UI.
Supported URLs
| URL | Effect |
|---|---|
ccmon://session/<session-id> | Focuses the desktop app and opens the centered approval modal scoped to that session. |
ccmon://session/<session-id-prefix> | Same, but accepts an 8-character prefix. |
How it's wired up
The .deb install drops a desktop entry at
/usr/share/applications/ccmon.desktop that declares the
x-scheme-handler/ccmon MIME type. The post-install hook updates the
desktop and MIME databases so the handler is picked up immediately —
no manual registration needed.
How notifications use it
When a permission request arrives, the daemon fires a desktop
notification via notify-send with an "Open" action. Clicking it shells
xdg-open ccmon://session/<id>, which:
- Focuses the ccmon UI (or launches it if it isn't running).
- Opens the approval modal centered on the request from that session.
You can deny / approve / deny-with-message inline and get back to whatever you were doing — no tab switching, no terminal context loss.
Trying it manually
xdg-open ccmon://session/abc12345
If nothing happens, the scheme handler isn't registered — try
reinstalling the .deb.
Disabling notifications entirely
export CCMON_NO_NOTIFY=1
The daemon won't fire notify-send; you can still use the UI directly.
See Environment.