| Age | Commit message (Expand) | Author | Files | Lines |
| 33 hours | fix(desktop): honest alwaysActive docs and working Escape in confirm | Danilo M. | 7 | -41/+51 |
| 34 hours | docs: correct drawer exit behaviour and dead module commands | Danilo M. | 4 | -26/+33 |
| 34 hours | docs: the desktop shell and what the merge changed | Danilo M. | 6 | -20/+180 |
| 34 hours | feat(desktop): move vm-manager in as the vm module | Danilo M. | 11 | -544/+457 |
| 34 hours | fix(desktop): start the mail Accounts singleton at shell launch | Danilo M. | 1 | -0/+7 |
| 34 hours | feat(desktop): move mail-overview in as the mail module | Danilo M. | 12 | -331/+274 |
| 34 hours | feat(desktop): move volume-osd in as the sound module | Danilo M. | 10 | -126/+346 |
| 34 hours | feat(desktop): the appearance tile | Danilo M. | 2 | -1/+39 |
| 34 hours | docs: correct the plan's no-arg ipc open and the head pipe | Danilo M. | 1 | -6/+20 |
| 34 hours | fix(desktop): slide the page with a transform, not anchored x | Danilo M. | 1 | -3/+7 |
| 34 hours | feat(desktop): the drawer, with the top reserved | Danilo M. | 2 | -4/+210 |
| 34 hours | feat(desktop): tile and page chrome | Danilo M. | 2 | -0/+147 |
| 34 hours | feat(desktop): the module contract | Danilo M. | 1 | -0/+49 |
| 35 hours | docs: a subdirectory singleton needs no qmldir, drop it from the plan | Danilo M. | 1 | -71/+54 |
| 35 hours | feat(desktop): skeleton shell with the keepalive window | Danilo M. | 2 | -0/+30 |
| 36 hours | docs: warn that the config task's tilde paths must be typed absolute | Danilo M. | 1 | -0/+9 |
| 36 hours | docs: implementation plan for the desktop shell | Danilo M. | 1 | -0/+2817 |
| 36 hours | docs: settle the vm tile's cold state on drawer open | Danilo M. | 1 | -3/+4 |
| 36 hours | docs: design for a unified desktop shell with a drawer and modules | Danilo M. | 1 | -0/+271 |
| 2 days | docs(mail-overview): correct the lastmod range in the README | Danilo M. | 1 | -1/+2 |
| 2 days | fix(mail-overview): don't re-notify the prior batch, flatten newlines | Danilo M. | 4 | -11/+22 |
| 2 days | docs(mail-overview): document the arrival notifier | Danilo M. | 2 | -20/+82 |
| 2 days | fix(mail-overview): pass the mail icon by absolute path | Danilo M. | 1 | -2/+9 |
| 2 days | feat(mail-overview): split notification heading and use theme icon | Danilo M. | 1 | -4/+6 |
| 2 days | feat(mail-overview): title, icon and spaced bullet body | Danilo M. | 2 | -18/+23 |
| 2 days | feat(mail-overview): notify per account when mail arrives | Danilo M. | 1 | -1/+128 |
| 2 days | test(mail-overview): exercise the integer guard in read_prev_rev | Danilo M. | 1 | -1/+1 |
| 2 days | feat(mail-overview): track the notified revision | Danilo M. | 2 | -0/+62 |
| 2 days | feat(mail-overview): build notification bodies | Danilo M. | 2 | -0/+63 |
| 2 days | feat(mail-overview): parse accounts for the notifier | Danilo M. | 2 | -0/+82 |
| 2 days | feat(mail-overview): skeleton for the arrival notifier | Danilo M. | 2 | -0/+89 |
| 2 days | docs: implementation plan for mail arrival notifications | Danilo M. | 1 | -0/+924 |
| 2 days | docs: design for mail arrival notifications | Danilo M. | 1 | -0/+183 |
| 2 days | feat(mail-overview): show mail-watcher health in the drawer | Danilo M. | 3 | -31/+107 |
| 2 days | feat(vm-manager): offer to discard a saved state that will not restore | Danilo M. | 4 | -5/+75 |
| 3 days | docs(window-switcher): write down what the build cost to learn | Danilo M. | 3 | -10/+191 |
| 3 days | fix(window-switcher): namespace it like the other four | Danilo M. | 1 | -1/+1 |
| 3 days | fix(window-switcher): focus after the overlay is really gone | Danilo M. | 1 | -4/+25 |
| 3 days | fix(window-switcher): clamp the card size by height too | Danilo M. | 1 | -1/+12 |
| 3 days | feat(window-switcher): the grid, the selection, and an empty state | Danilo M. | 1 | -8/+100 |
| 3 days | feat(window-switcher): one card, with the preview fitted | Danilo M. | 1 | -0/+136 |
| 3 days | docs(window-switcher): focusHistoryID is not on HyprlandToplevel | Danilo M. | 1 | -2/+12 |
| 3 days | feat(window-switcher): the window model, filtered and sorted | Danilo M. | 1 | -0/+67 |
| 3 days | fix(window-switcher): pick the screen the way the other components do | Danilo M. | 2 | -2/+8 |
| 3 days | feat(window-switcher): the overlay skeleton, and a proven Escape | Danilo M. | 3 | -0/+109 |
| 3 days | docs(window-switcher): the implementation plan | Danilo M. | 1 | -0/+849 |
| 3 days | docs(window-switcher): an empty state, rather than opening on nothing | Danilo M. | 1 | -0/+19 |
| 3 days | docs(window-switcher): dispatch args are Lua, and focus raises in monocle | Danilo M. | 1 | -6/+31 |
| 3 days | docs(window-switcher): cards fit both orientations, and grow to a ceiling | Danilo M. | 1 | -7/+32 |
| 3 days | docs: design for the window-switcher component | Danilo M. | 1 | -0/+159 |