detached b264e57

test(core): check separators skip a tile under a bottom panel

Capture configures use a whole viewport like the capture scene.
commit
b264e57b327a41fe29e9aa1b4413c9ecf13602f6
author
brice · · 2026-10-08 13:33 UTC
parent
f7c2be9
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +7 -2
M internal/core/capture_workspace.go +1 -1
@@ -91,7 +91,7 @@ func (c *Core) captureConfigure(sc *screen, p Placement, t configureTarget) (*Pl
9191 // An overview preview keeps its real size and physical state.
9292 return cp, t
9393 }
94- t.view = viewport{frame: cw.frame, usable: cw.ws.Usable}
94+ t.view = whole(cw.frame) // the capture image has no panels
9595 t.focused = false
9696 t.client, t.imposed = Rect{}, false
9797 if !cp.Hidden {
@@ -91,7 +91,7 @@ func (c *Core) captureConfigure(sc *screen, p Placement, t configureTarget) (*Pl
91 // An overview preview keeps its real size and physical state.91 // An overview preview keeps its real size and physical state.
92 return cp, t92 return cp, t
93 }93 }
94- t.view = viewport{frame: cw.frame, usable: cw.ws.Usable}94+ t.view = whole(cw.frame) // the capture image has no panels
95 t.focused = false95 t.focused = false
96 t.client, t.imposed = Rect{}, false96 t.client, t.imposed = Rect{}, false
97 if !cp.Hidden {97 if !cp.Hidden {
M internal/core/separators_test.go +6 -1
@@ -183,10 +183,15 @@ func TestSeparatorsCascadeBottomPanel(t *testing.T) {
183183 if p := previewOf(t, ps, 1); p.Neighbors != ports.SideRight {
184184 t.Fatalf("neighbors %04b, want right only", p.Neighbors)
185185 }
186- seps := separators(ps, 2, 0, whole(w.Output), true)
186+ seps := separators(ps, 2, 0, viewport{frame: w.Output, usable: w.Usable}, true)
187187 if got := colorAt(seps, 200, 578); got != "" {
188188 t.Fatalf("line along the panel: %v", seps)
189189 }
190+ for _, s := range seps {
191+ if s.Window == 3 {
192+ t.Fatalf("line of the tile under the panel: %v", seps)
193+ }
194+ }
190195 // Two tiles on screen: each lights its half of the shared line.
191196 if got := colorAt(seps, 449, 100); got != "lit" {
192197 t.Fatalf("shared line (449,100) = %q; %v", got, seps)
@@ -183,10 +183,15 @@ func TestSeparatorsCascadeBottomPanel(t *testing.T) {
183 if p := previewOf(t, ps, 1); p.Neighbors != ports.SideRight {183 if p := previewOf(t, ps, 1); p.Neighbors != ports.SideRight {
184 t.Fatalf("neighbors %04b, want right only", p.Neighbors)184 t.Fatalf("neighbors %04b, want right only", p.Neighbors)
185 }185 }
186- seps := separators(ps, 2, 0, whole(w.Output), true)186+ seps := separators(ps, 2, 0, viewport{frame: w.Output, usable: w.Usable}, true)
187 if got := colorAt(seps, 200, 578); got != "" {187 if got := colorAt(seps, 200, 578); got != "" {
188 t.Fatalf("line along the panel: %v", seps)188 t.Fatalf("line along the panel: %v", seps)
189 }189 }
190+ for _, s := range seps {
191+ if s.Window == 3 {
192+ t.Fatalf("line of the tile under the panel: %v", seps)
193+ }
194+ }
190 // Two tiles on screen: each lights its half of the shared line.195 // Two tiles on screen: each lights its half of the shared line.
191 if got := colorAt(seps, 449, 100); got != "lit" {196 if got := colorAt(seps, 449, 100); got != "lit" {
192 t.Fatalf("shared line (449,100) = %q; %v", got, seps)197 t.Fatalf("shared line (449,100) = %q; %v", got, seps)

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 23

Tags 10

↑↓ moveenter openesc close