
It started with a Conky panel in a corner of the screen: time, load, weather. Then a second panel with the calendar. Then the state of Docker containers, game servers, client staging sites… After a few months, the “corner of the screen” had become the first place we looked in the morning. We decided to make it real software: ad-cockpit.
What it shows
A kanban that merges Google Tasks and Microsoft Planner / To Do — because our work life lives at Microsoft and our personal life at Google, and we refuse to open two apps to know what to do. The calendar, flagged e-mails, machine status (Docker, game servers, staging), a Map view connected to our Traccar server, and a Windows view that opens the virtual machine in one click when Office is truly unavoidable.
Technical choices
The native app is written with AGS (GTK4 + TypeScript) and runs as a user service under Hyprland and KDE. The web version serves the same widgets on any screen. The goal is symmetry: one widget library, the same behaviours on both sides, even though the technologies differ. Settings live in a plain JSON file editable from a ⚙ icon; updates are one click.
What we learned
- A process started by the cockpit must survive its restart: under systemd that means
systemd-run --scope, notsetsid. We learned it by watching our terminals vanish. - Never write into another program’s configuration. Our theme script once emptied the graphical shell’s config file: absolute rule ever since.
- Corporate permissions are a product constraint: the Outlook calendar triggers an approval wall at the employer, so it is optional. Planner and To Do, already consented, work without asking anything.
Next
A GitHub release with a “from scratch” installer tested on a fresh machine, a Windows version (widgets + web interface), and Google Chat spaces integration. The full page is in the members area.