A minute before each meeting a card shows at the top middle of the screen, over every other window and without taking the focus, as Spark's Meeting Pop-Up does: who's in it, "in 45 seconds" then "27 minutes left", and Join, which opens the call. Its other buttons open the day in the calendar, copy the call link, snooze it for a minute and dismiss it; several meetings stack, and the card can be dragged. It stays until the meeting ends unless joined or dismissed. A timer on the Rust side picks the meetings from each account's main Microsoft 365 calendar (no declined, canceled or all-day events, and by default none without anyone else or a call link), and reads the next two hours from Graph every five minutes so new meetings pop up without the calendar screen open. The window is its own page, made when a meeting is due and destroyed when none is; it sizes itself to its cards. Settings → Notifications → Meetings turns it off, keeps focus time out, and shows a sample. Closing the main window now quits even with the pop-up open, and the tray behaviour only applies to the main window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Michael Rodriguez committed on 10/23/2026, 8:50:28 PMparent8b12f9f
17 files changedLine totals unavailable