detached 6bb5000

refactor(sessionlock): move readiness ledger under the wayland adapter

commit
6bb50007ff8b76127e17e3b022245d74cc8089af
author
brice · · 2026-10-04 15:28 UTC
committer
brice · · 2026-10-04 15:36 UTC
parent
c900986
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
6 files · +4 -5
M .hexcheck.yaml +1 -2
@@ -2,8 +2,7 @@ version: 1
22 components:
33 core: { role: core, paths: [internal/core/**] }
44 ports: { role: ports, paths: [internal/ports/**] }
5- # sessionlock is the display owner's proof ledger, not core placement policy.
6- adapters: { role: adapter, paths: [internal/adapters/**, internal/logging/**, internal/sessionlock/**] }
5+ adapters: { role: adapter, paths: [internal/adapters/**, internal/logging/**] }
76 # app is the composition root: it wires adapters to core, like cmd.
87 entrypoints: { role: entrypoint, paths: [cmd/**, internal/app/**, internal/cli/**] }
98 generated: { role: ignore, paths: [internal/mocks/**] }
@@ -2,8 +2,7 @@ version: 1
2 components:2 components:
3 core: { role: core, paths: [internal/core/**] }3 core: { role: core, paths: [internal/core/**] }
4 ports: { role: ports, paths: [internal/ports/**] }4 ports: { role: ports, paths: [internal/ports/**] }
5- # sessionlock is the display owner's proof ledger, not core placement policy.5+ adapters: { role: adapter, paths: [internal/adapters/**, internal/logging/**] }
6- adapters: { role: adapter, paths: [internal/adapters/**, internal/logging/**, internal/sessionlock/**] }
7 # app is the composition root: it wires adapters to core, like cmd.6 # app is the composition root: it wires adapters to core, like cmd.
8 entrypoints: { role: entrypoint, paths: [cmd/**, internal/app/**, internal/cli/**] }7 entrypoints: { role: entrypoint, paths: [cmd/**, internal/app/**, internal/cli/**] }
9 generated: { role: ignore, paths: [internal/mocks/**] }8 generated: { role: ignore, paths: [internal/mocks/**] }
M internal/adapters/wayland/server.go +1 -1
@@ -15,9 +15,9 @@ import (
1515 "github.com/bnema/go-wayland-bindings/server/wayland"
1616 "github.com/bnema/neferwl/internal/adapters/captureallow"
1717 "github.com/bnema/neferwl/internal/adapters/clock"
18+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
1819 "github.com/bnema/neferwl/internal/adapters/workspaceid"
1920 "github.com/bnema/neferwl/internal/ports"
20- "github.com/bnema/neferwl/internal/sessionlock"
2121 "github.com/bnema/purego-libwayland/server"
2222 "github.com/bnema/zerowrap"
2323 "golang.org/x/sys/unix"
@@ -15,9 +15,9 @@ import (
15 "github.com/bnema/go-wayland-bindings/server/wayland"15 "github.com/bnema/go-wayland-bindings/server/wayland"
16 "github.com/bnema/neferwl/internal/adapters/captureallow"16 "github.com/bnema/neferwl/internal/adapters/captureallow"
17 "github.com/bnema/neferwl/internal/adapters/clock"17 "github.com/bnema/neferwl/internal/adapters/clock"
18+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
18 "github.com/bnema/neferwl/internal/adapters/workspaceid"19 "github.com/bnema/neferwl/internal/adapters/workspaceid"
19 "github.com/bnema/neferwl/internal/ports"20 "github.com/bnema/neferwl/internal/ports"
20- "github.com/bnema/neferwl/internal/sessionlock"
21 "github.com/bnema/purego-libwayland/server"21 "github.com/bnema/purego-libwayland/server"
22 "github.com/bnema/zerowrap"22 "github.com/bnema/zerowrap"
23 "golang.org/x/sys/unix"23 "golang.org/x/sys/unix"
R internal/sessionlock/readiness.go → internal/adapters/wayland/sessionlock/readiness.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/sessionlock/readiness_test.go → internal/adapters/wayland/sessionlock/readiness_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

M internal/app/security_duplicate_test.go +1 -1
@@ -5,8 +5,8 @@ import (
55 "testing"
66
77 "github.com/bnema/neferwl/internal/adapters/sessionsecurity"
8+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
89 "github.com/bnema/neferwl/internal/ports"
9- "github.com/bnema/neferwl/internal/sessionlock"
1010 )
1111
1212 // Native Close validation is exercised by DRM's generated-KMS tests. This
@@ -5,8 +5,8 @@ import (
5 "testing"5 "testing"
6 6
7 "github.com/bnema/neferwl/internal/adapters/sessionsecurity"7 "github.com/bnema/neferwl/internal/adapters/sessionsecurity"
8+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
8 "github.com/bnema/neferwl/internal/ports"9 "github.com/bnema/neferwl/internal/ports"
9- "github.com/bnema/neferwl/internal/sessionlock"
10 )10 )
11 11
12 // Native Close validation is exercised by DRM's generated-KMS tests. This12 // Native Close validation is exercised by DRM's generated-KMS tests. This
M internal/app/security_hotplug_test.go +1 -1
@@ -6,8 +6,8 @@ import (
66 "testing"
77 "time"
88
9+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
910 "github.com/bnema/neferwl/internal/ports"
10- "github.com/bnema/neferwl/internal/sessionlock"
1111 )
1212
1313 func hotplugEvent(t *testing.T, events <-chan ports.SecurityBackendEvent) ports.SecurityBackendEvent {
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9+ "github.com/bnema/neferwl/internal/adapters/wayland/sessionlock"
9 "github.com/bnema/neferwl/internal/ports"10 "github.com/bnema/neferwl/internal/ports"
10- "github.com/bnema/neferwl/internal/sessionlock"
11 )11 )
12 12
13 func hotplugEvent(t *testing.T, events <-chan ports.SecurityBackendEvent) ports.SecurityBackendEvent {13 func hotplugEvent(t *testing.T, events <-chan ports.SecurityBackendEvent) ports.SecurityBackendEvent {

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