v0.9.0 458251f

2026-10-16

458251fMerge pull request 'feat(core): keep cascade bands explicit' (#60) from feat/cascade-explicit-bands into main merge SSH Unverifiedtag v0.9.0bnema
f4b2d68fix(core): push the far-end cascade column on cycle-column-width GPG Verifiedbrice
1b76e21fix(core): leave a pushed cascade column that moved away in place GPG Verifiedbrice
d4c54abfix(core): find a pushed cascade column by its windows in order GPG Verifiedbrice
efa1a9ffix(core): restore pushed cascade columns by first window, in order GPG Verifiedbrice
0e73719fix(core): keep cascade band placement and push memory consistent GPG Verifiedbrice
a978937feat(core): keep cascade bands explicit GPG Verifiedbrice
ef6bf5dMerge pull request 'perf: cut hot-path allocations in app, overview, wayland and vulkan' (#59) from perf/hot-path-allocs into main merge SSH Unverifiedbnema
4a9b1d1test(wayland,vulkan): cover relocation tail clearing and mixed deferred frees GPG Verifiedbrice
dff8f48test(vulkan): keep one alloc of headroom in the dmabuf frame budget GPG Verifiedbrice
5d1d4d1refactor(wayland): reset the fired frame queue after the loop GPG Verifiedbrice
7898c05perf(core): filter empty named rows once and cover the named overview budget GPG Verifiedbrice
08c5e16test(perf): run the new allocation budgets in perf-check GPG Verifiedbrice
2d62471perf(vulkan): retire wait semaphores without a closure GPG Verifiedbrice
57b1805perf(wayland): cache shm buffer content and keep frame callback queues GPG Verifiedbrice
fea658cperf(core): build overview rows in monitor scratch instead of per-frame maps GPG Verifiedbrice
040eba7perf(app): skip building the scene debug log when debug is off GPG Verifiedbrice
9dcad8dMerge pull request 'feat(overview): unfold the stash as a carousel centred on the selection' (#58) from feat/stash-carousel into main merge SSH Unverifiedbnema
3a090b4fix(overview): select the stack of a workspace stepped to when its stash carousel wraps round GPG Verifiedbrice
6648883fix(overview): fade only the carousel cards that cross the seam and clamp long stash-only carousels GPG Verifiedbrice
a82be5bfeat(overview): unfold the vertical overview stash as a carousel too GPG Verifiedbrice
1c7d6c1feat(overview): unfold the cascade stash as a carousel centred on the selection GPG Verifiedbrice

2026-10-15

af5dc26Merge pull request 'feat(input): repeat held move binds and overview keys' (#57) from feat/overview-key-repeat into main merge SSH Unverifiedbnema
5d664d1fix(input): stop bind repeats when the overview, a launcher or an inhibitor takes over GPG Verifiedbrice
3d47d2bfix(input): report activity while a key repeats and stop it on reload GPG Verifiedbrice
9e93199feat(input): repeat held move binds and overview keys GPG Verifiedbrice
f8b3a18Merge pull request 'feat(overview): unfold the selected stash pile' (#56) from feat/overview-stash-unfold into main merge SSH Unverifiedbnema
d1a6612perf(overview): lay the stash pile out without per-frame allocations GPG Verifiedbrice
fc79ddffeat(overview): unfold the selected stash pile GPG Verifiedbrice
8193e80Merge pull request 'fix(overview): cascade stash pile navigation and outline' (#55) from fix/cascade-overview-stash into main merge SSH Unverifiedbnema
2561e1dfix(overview): frame the cascade selection without crossing the stash pile GPG Verifiedbrice
4665d1cfix(overview): leave the cascade stash pile upward GPG Verifiedbrice
6aca404Merge pull request 'feat(screencast): share screens and take screenshots through xdg-desktop-portal-gnome' (#54) from feat/screencast-gnome into main merge SSH Unverifiedbnema
081cb4abuild(deps): require zerobus v0.2.0 and purego-pipewire v0.2.0 GPG Verifiedbrice
8c80052test(app): stop the screencast motion injector when the app stops reading GPG Verifiedbrice
c1850b5fix(screencast): do not cache refused callers and close cached pidfds at teardown GPG Verifiedbrice
9f09160fix(wayland): damage a window cast when its popups change GPG Verifiedbrice
d8bb92cMerge pull request 'perf(vulkan): compose each pass as batched instanced draws' (#53) from perf/vulkan-instancing into main merge SSH Unverifiedbnema

2026-10-14

be1f2betest(screencast): order the denied-peer assertion through the service and check setup errors GPG Verifiedbrice
0516c4dfix(screencast): wait without a deadline for frames in flight when the bus is lost GPG Verifiedbrice
7a469c8fix(screencast): send MonitorsChanged and WindowsChanged only to allowed peers GPG Verifiedbrice
4a05b71fix(screencast): close streams on shutdown, scope screenshot jobs to the attempt, pause without ending GPG Verifiedbrice
fe541fatest(screencast): assert the shared renderer capture path allocates less than once per frame GPG Verifiedbrice
3213e44perf(vulkan): capture frames without per-frame allocations GPG Verifiedbrice
3d39787docs(capture): document screen sharing through the GNOME portal GPG Verifiedbrice
0cdc34ebuild(packaging): route ScreenCast and Screenshot portals to gnome GPG Verifiedbrice
a5764bdfeat(captureallow): allow xdg-desktop-portal-gnome instead of the wlr portal GPG Verifiedbrice
c050b9afeat(screencast): serve Mutter screencast and Shell screenshot over D-Bus GPG Verifiedbrice
9823f75feat(screencast): take screenshots through nefercap GPG Verifiedbrice
f6fd269feat(screencast): produce paced PipeWire frames from cast damage GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 25

Tags 10

↑↓ moveenter openesc close