detached 5f1ad00

2026-10-09

5f1ad00Merge pull request #3: feat(surface): xdg popups with grab and reposition merge tag v0.4.0bnema
f9fb2eeci: build the Go tools against the latest x/tools GPG Verifiedbrice
6549d6fci: build staticcheck against x/tools v0.51.0 for Go 1.27.2 GPG Verifiedbrice
f655a67test(surface): restore strict FeedbackDone expectation and guard popup events GPG Verifiedbrice
2671432fix(surface): reject popup grabs without a grabbing parent GPG Verifiedbrice
1bb0040docs(readme): popups GPG Verifiedbrice
b814107feat(surface): xdg popups with grab and reposition GPG Verifiedbrice
4cefc9afeat(seat): pointer event serial GPG Verifiedbrice

2026-10-02

2df0761Merge pull request 'feat(surface): expose the wl_surface proxy for extension requests' (#1) from feat/surface-wl-proxy into main merge tag v0.3.0bnema
14ed328fix(surface): return nil from WLSurface after Close and document waiting on Bind handlers GPG Verifiedbrice
1b50de6feat(surface): expose the wl_surface proxy for extension requests GPG Verifiedbrice
8e152d1Merge pull request 'ci: install nodejs so JavaScript actions run in the Arch container' (#2) from ci/install-nodejs into main merge bnema
044c524ci: retrigger GPG Verifiedbrice
110f0fdci: retrigger GPG Verifiedbrice
645d5a2ci: retrigger GPG Verifiedbrice
ac69b6dci: retrigger GPG Verifiedbnema
cae2fedci: install nodejs so JavaScript actions run in the Arch container GPG Verifiedbrice

2026-10-01

e178e0bfeat(surface): rebuild imports after a dmabuf feedback change (#3) GPG Unverifiedtag v0.2.0bnema
8c028cbfeat(examples): forward NeferGUI input rects to the layer input region (#2) GPG Unverifiedbnema
35f7ff1perf: zero allocations per Present and frame round trip (wlturbo v0.6.2) (#1) GPG Unverifiedbnema
f2db2febuild(examples): record indirect requirements of published modules GPG Verifiedbrice
3f22038Merge branch 'nc/examples-sum': examples resolve published modules merge GPG Verifiedbrice
0e7e0bdbuild(examples): pin published nefergui v0.5.0 and neferclient v0.1.0, check examples in CI GPG Verifiedbrice
f503a24Merge branch 'nc/release-prep': CI locale for keyboard tests merge GPG Verifiedtag v0.1.0brice
414a93eci: install the en_US.UTF-8 locale and Compose files for keyboard tests GPG Verifiedbrice
751c509Merge branch 'nc/examples': end-to-end layer and lock examples with NeferGUI merge GPG Verifiedbrice
d2ca9d3docs(examples): checked README sketch and staticcheck in examples-check GPG Verifiedbrice
53d2224test(examples): fix stderr race, wait for focus, check the secret never leaks GPG Verifiedbrice
63e3cbefix(examples): handle output removal, per-screen cursor and focus marker in lock GPG Verifiedbrice
1988d1efix(examples): gate first present, shutdown order, SIGTERM, timeline cleanup in layer GPG Verifiedbrice
7c37286feat(present): add Surface.DestroyTimeline GPG Verifiedbrice
49445e1build(examples): add examples-check target and README usage sketch GPG Verifiedbrice
543bef2test(examples): headless NeferWL tests for the layer and lock examples GPG Verifiedbrice
b46ec2ffeat(examples): session lock demo with a masked password field GPG Verifiedbrice
5e501a1feat(examples): layer surface counter button with NeferGUI GPG Verifiedbrice
8d3babaMerge branch 'nc/abandon-frame': discard late frame callbacks after close merge GPG Verifiedbrice
98001e2fix(surface): abandon a pending frame callback on close so late done and delete_id are discarded GPG Verifiedbrice
0e97e81Merge branch 'nc/deps-bump': published zero-alloc dependencies merge GPG Verifiedbrice
97c224ebuild(deps): use purego-xkbcommon v0.2.0 and wlturbo v0.6.1, require zero-alloc key path GPG Verifiedbrice
3e34ac2Merge branch 'nc/seat': seat, keyboard and secret input merge GPG Verifiedbrice
bfb1f6dtest: cover hidden secret keys, mask no-op, no_keymap, pointer and modifier allocations GPG Verifiedbrice
869d03dfix: hide text keys in secret mode, wipe key residue, skip identical masks, wrap errors GPG Verifiedbrice
be6ebbfbuild(deps): tidy go.sum for xkbcommon and verify a clean-module build in check GPG Verifiedbrice
ff9aa47test: cover seat pointer, keyboard, secret, repeat, keymap fd ownership and key allocations GPG Verifiedbrice
7219eceperf: cache modifiers and layout per mask change; nil-safe Seat GPG Verifiedbrice
fe9795cfeat: add seat with pointer, keyboard, repeat timer, cursor shape and secret input GPG Verifiedbrice
afc6dacfeat: add SecretBuffer and runtimesecret wrapper GPG Verifiedbrice
e904307Merge branch 'nc/surfaces': layer, toplevel and lock surfaces with explicit-sync presentation merge GPG Verifiedbrice
7e0d12dfix: harden surface present, input region, lock close and fd ownership GPG Verifiedbrice
71357f8test: cover present ordering, feedback parsing, lock rules, headless surfaces and present allocations 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 1

Tags 4

↑↓ moveenter openesc close