v0.3.0 9fdf386

25-panel.css RawHistoryFolder

1@layer components {
2  /* bottom panels above the status bar (help, ref switcher, ":" command line) */
3  .panel {
4    position: fixed; inset: auto 0 var(--bar-h) 0; margin: 0; width: 100%; z-index: 15;
5    background: var(--paper); color: var(--ink);
6    border-top: 2px solid var(--ink);
7    max-height: min(46dvh, 28rem); overflow: auto; overscroll-behavior: contain;
8    padding: 0 var(--pad) var(--lh);
9    &:not([open]) { display: none; }
10    & .panel-head {
11      position: sticky; top: 0; background: var(--paper); display: flex; gap: 1ch;
12      align-items: baseline; height: calc(var(--lh) + 6px); padding-top: 4px;
13      border-bottom: 1px solid var(--rule); margin-bottom: 4px;
14      & input { flex: 1; min-width: 0; outline-offset: 2px; }
15      & button { margin-left: auto; color: var(--ink-dim); white-space: nowrap; }
16      & button:hover { color: var(--ink); text-decoration: underline; }
17      & .hi { font-weight: bold; }
18    }
19    & .panel-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(34ch, 1fr)); column-gap: 3ch; }
20    & .panel-cols h2 { color: var(--ink-dim); font-weight: normal; }
21    & li a { display: block; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
22    & li a:hover, & li a:focus-visible { background: var(--sel); }
23    & li a[aria-current] { font-weight: bold; }
24    & .mark { display: inline-block; width: 2ch; }
25  }
26  .cmd-list {
27    columns: 34ch; column-gap: 3ch;
28    & li { break-inside: avoid; }
29    & li[data-cursor] a { background: var(--row); }
30    & li[data-cursor] a::before { content: "▸"; position: absolute; margin-left: -1.5ch; }
31    & a { padding-left: 1.5ch; }
32    & .k { display: inline-block; width: 8ch; color: var(--ink-mute); }
33  }
34  .keys {
35    display: grid; grid-template-columns: repeat(auto-fill, minmax(46ch, 1fr)); column-gap: 3ch;
36    & > div { display: grid; grid-template-columns: 14ch 1fr; }
37    & dt { white-space: nowrap; }
38    & dd { color: var(--ink-dim); }
39    & kbd { border: 1px solid var(--rule); padding: 0 .6ch; }
40  }
41}

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 4

Tags 45

↑↓ moveenter openesc close