detached 718835e

fix(popup): leave room between the check box and its label

commit
718835eaa81b1df10f711d051c7ca7b43cfc51b5
author
brice · · 2026-10-09 06:50 UTC
parent
14c4667
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +4 -0
M internal/popup/css.go +3 -0
@@ -45,6 +45,9 @@ func CSS(s Style) string {
4545 b.WriteString(".title { font-weight: bold; }\n")
4646 b.WriteString(".body { opacity: 0.85; }\n")
4747 b.WriteString("button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }\n")
48+ // nefergui paints the 1em check box centered in the left padding: leave
49+ // room on both sides of it so the label does not touch the box.
50+ b.WriteString("checkbox.item { padding-left: 2em; }\n")
4851 fmt.Fprintf(&b, "button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: %s; color: %s; }\n", ac, bg)
4952 b.WriteString("button.item:disabled, checkbox.item:disabled { opacity: 0.5; }\n")
5053 fmt.Fprintf(&b, "button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: %s; }\n", fg)
@@ -45,6 +45,9 @@ func CSS(s Style) string {
45 b.WriteString(".title { font-weight: bold; }\n")45 b.WriteString(".title { font-weight: bold; }\n")
46 b.WriteString(".body { opacity: 0.85; }\n")46 b.WriteString(".body { opacity: 0.85; }\n")
47 b.WriteString("button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }\n")47 b.WriteString("button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }\n")
48+ // nefergui paints the 1em check box centered in the left padding: leave
49+ // room on both sides of it so the label does not touch the box.
50+ b.WriteString("checkbox.item { padding-left: 2em; }\n")
48 fmt.Fprintf(&b, "button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: %s; color: %s; }\n", ac, bg)51 fmt.Fprintf(&b, "button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: %s; color: %s; }\n", ac, bg)
49 b.WriteString("button.item:disabled, checkbox.item:disabled { opacity: 0.5; }\n")52 b.WriteString("button.item:disabled, checkbox.item:disabled { opacity: 0.5; }\n")
50 fmt.Fprintf(&b, "button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: %s; }\n", fg)53 fmt.Fprintf(&b, "button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: %s; }\n", fg)
M internal/popup/popup_test.go +1 -0
@@ -89,6 +89,7 @@ func TestCSS(t *testing.T) {
8989 .title { font-weight: bold; }
9090 .body { opacity: 0.85; }
9191 button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }
92+checkbox.item { padding-left: 2em; }
9293 button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: #3584e4; color: #102030; }
9394 button.item:disabled, checkbox.item:disabled { opacity: 0.5; }
9495 button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: #cccccc; }
@@ -89,6 +89,7 @@ func TestCSS(t *testing.T) {
89 .title { font-weight: bold; }89 .title { font-weight: bold; }
90 .body { opacity: 0.85; }90 .body { opacity: 0.85; }
91 button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }91 button.item, checkbox.item { text-align: left; background-color: transparent; padding: 2px 12px; }
92+checkbox.item { padding-left: 2em; }
92 button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: #3584e4; color: #102030; }93 button.item:hover, checkbox.item:hover, button.item:focus-visible, checkbox.item:focus-visible { background-color: #3584e4; color: #102030; }
93 button.item:disabled, checkbox.item:disabled { opacity: 0.5; }94 button.item:disabled, checkbox.item:disabled { opacity: 0.5; }
94 button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: #cccccc; }95 button.item:disabled:hover, checkbox.item:disabled:hover { background-color: transparent; color: #cccccc; }

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 5

Tags 4

↑↓ moveenter openesc close