detached 6eb70df

refactor(wayland): clear the tail when detaching a content link

commit
6eb70df47bbb8e129385690b2c8f101d1dd67e8e
author
brice · · 2026-10-13 17:58 UTC
parent
abed7f5
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +2 -2
M internal/adapters/wayland/contentlink.go +2 -2
@@ -1,6 +1,7 @@
11 package wayland
22
33 import (
4+ "slices"
45 "sync/atomic"
56
67 "github.com/bnema/neferwl/internal/ports"
@@ -134,8 +135,7 @@ func (s *Server) attachOutput(name string) (<-chan *ports.ContentBatch, ports.Co
134135 func (s *Server) detachOutput(name string) {
135136 for i, l := range s.links {
136137 if l.name == name {
137- s.links[i] = nil
138- s.links = append(s.links[:i], s.links[i+1:]...)
138+ s.links = slices.Delete(s.links, i, i+1)
139139 return
140140 }
141141 }
@@ -1,6 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4+ "slices"
4 "sync/atomic"5 "sync/atomic"
5 6
6 "github.com/bnema/neferwl/internal/ports"7 "github.com/bnema/neferwl/internal/ports"
@@ -134,8 +135,7 @@ func (s *Server) attachOutput(name string) (<-chan *ports.ContentBatch, ports.Co
134 func (s *Server) detachOutput(name string) {135 func (s *Server) detachOutput(name string) {
135 for i, l := range s.links {136 for i, l := range s.links {
136 if l.name == name {137 if l.name == name {
137- s.links[i] = nil138+ s.links = slices.Delete(s.links, i, i+1)
138- s.links = append(s.links[:i], s.links[i+1:]...)
139 return139 return
140 }140 }
141 }141 }

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 26

Tags 10

↑↓ moveenter openesc close