Skip to content
ndm.devnandomoreira.devAvailablePT

CLI, automation and Linux desktop

Daybar

Plugin for Noctalia Shell that gathers the day into a bar: a quick-capture field that understands free text ("buy bread tomorrow 9am" becomes a task, "/e meeting Friday 3pm-4pm" becomes an event on Google Calendar), plus today's checklist, pomodoro and timer (which also open in their own window or pinned to a screen corner), favorites with page preview and Markdown notes.

The problem

Logging a task, an appointment, a link or an idea meant opening a different app for each one and leaving what I was doing on the desktop.

Technical decisions

A plugin of the shell itself, in QML, instead of a separate app: everything opens by shortcut, from the bar. Capture identifies the type by the prefix (/e event, /l reminder, /n note), by a URL or by an account. Google Calendar is read and written through khal and synced by vdirsyncer, with OAuth credentials kept in the system keyring and not in a file. Pomodoro and timer share the same tab and only one runs at a time: starting one pauses the other, without losing the time that was left. Both also respond to capture (/t 10m tea starts a timer, /p starts or pauses the pomodoro) and leave the panel with a click, in a Niri window or as a small clock pinned to the screen corner.

Outcome

Personal use on my desktop with CachyOS and Niri, published under the MIT license. Tested on Noctalia 4.7.7; it does not yet run on Noctalia v5, which has a different plugin system, and the port is planned.

Shortcuts

Mod + Space
opens quick capture
Mod + Shift + Space
opens the panel with the tabs
Tab
switches the capture type
Enter
saves and closes
Shift + Enter
saves and keeps the field open
Esc
closes
Ctrl + E
switches the note preview for the editor
Ctrl + S
saves the note right away

Images

Ready to share.