v0.6.1 aa12db3

list.vert RawHistoryFolder

1#version 450
2layout(location = 0) in vec4 bounds;
3layout(location = 1) in vec4 color;
4layout(location = 2) in vec4 clipRect;
5layout(location = 3) in vec4 radii;
6layout(location = 4) in vec4 uvRect;
7layout(location = 5) in vec4 kindLayer;
8layout(location = 6) in vec4 widths;
9layout(location = 7) in vec4 sideTop;
10layout(location = 8) in vec4 sideRight;
11layout(location = 9) in vec4 sideBottom;
12layout(location = 10) in vec4 sideLeft;
13layout(location = 11) in vec4 shape;
14layout(location = 12) in vec4 shadow;
15layout(push_constant) uniform Screen { vec2 size; } screen;
16layout(location = 0) out vec4 fragColor;
17layout(location = 1) out vec4 fragClip;
18layout(location = 2) out vec4 fragBounds;
19layout(location = 3) out vec4 fragRadii;
20layout(location = 4) out vec3 fragAtlas;
21layout(location = 5) flat out float fragKind;
22layout(location = 6) flat out vec4 fragWidths;
23layout(location = 7) flat out vec4 fragSideTop;
24layout(location = 8) flat out vec4 fragSideRight;
25layout(location = 9) flat out vec4 fragSideBottom;
26layout(location = 10) flat out vec4 fragSideLeft;
27layout(location = 11) flat out vec4 fragShape;
28layout(location = 12) flat out vec4 fragShadow;
29void main() {
30    vec2 pos[6] = vec2[6](
31        vec2(0.0, 0.0), vec2(1.0, 0.0), vec2(0.0, 1.0),
32        vec2(0.0, 1.0), vec2(1.0, 0.0), vec2(1.0, 1.0));
33    vec2 xy = bounds.xy + pos[gl_VertexIndex] * bounds.zw;
34    // Vulkan positive-height viewport maps NDC -1 to framebuffer top.
35    gl_Position = vec4(xy.x * 2.0 / screen.size.x - 1.0, xy.y * 2.0 / screen.size.y - 1.0, 0.0, 1.0);
36    fragColor = color;
37    fragClip = clipRect;
38    fragBounds = bounds;
39    fragRadii = radii;
40    fragAtlas = vec3(mix(uvRect.xy, uvRect.zw, pos[gl_VertexIndex]), kindLayer.y);
41    fragKind = kindLayer.x;
42    fragWidths = widths;
43    fragSideTop = sideTop;
44    fragSideRight = sideRight;
45    fragSideBottom = sideBottom;
46    fragSideLeft = sideLeft;
47    fragShape = shape;
48    fragShadow = shadow;
49}

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 1

Tags 12

↑↓ moveenter openesc close