fix(vcs): fit the Git log toolbar and rows to narrow panes

- Filters that do not fit the toolbar move behind a chevron that lists
  them, so the action buttons on the right stay visible.
- Commits on the current branch are tinted unless the log is filtered to
  that branch, instead of dimming the others only when other branches
  happen to be loaded.
- The HEAD commit is drawn as a ring around a dot.
- A wide graph no longer paints the subject and references over the
  author column; references shrink down to their icon.
- Scrollbar thumbs keep a minimum length on long lists.
Цей коміт міститься в:
l0ng-ai committed 2026-10-31 09:20:36 +08:00
1 джерело 89475f4fed
коміт f2b8db548f
4 files changed
+152 -78

No files matched your search

+26 -9
Переглянути файл
@@ -75,6 +75,18 @@
flex: 0 1 260px;
min-width: 100px;
}
.filterGroup {
position: relative;
flex: 0 1 auto;
min-width: 0;
display: flex;
align-items: center;
gap: 4px;
overflow: hidden;
}
.filterHidden {
visibility: hidden;
}
.filterButton {
flex: none;
height: 24px;
@@ -153,20 +165,21 @@
cursor: default;
font-size: var(--fs-ui);
}
/* View Options › Highlight › Current Branch: commits outside HEAD are dimmed. */
.offBranch .subject,
.offBranch .muted {
color: var(--fg-subtle);
/* View Options › Highlight › Current Branch: commits reachable from HEAD are tinted. */
.currentBranch {
--log-row-bg: var(--bg-log-current-branch);
background: var(--log-row-bg);
}
.row:hover {
background: var(--bg-tree-hover);
}
.selected,
.selected:hover {
background: var(--bg-tree-selected-inactive);
--log-row-bg: var(--bg-tree-selected-inactive);
background: var(--log-row-bg);
}
.list:focus-within .selected {
background: var(--bg-tree-selected);
--log-row-bg: var(--bg-tree-selected);
}
.colSubject {
flex: 1;
@@ -174,8 +187,9 @@
display: flex;
align-items: center;
gap: 6px;
/* Let graph endpoints overlap adjacent rows; text is clipped by .subject. */
overflow: visible;
/* Let graph endpoints overlap adjacent rows, but never paint over the next column. */
overflow-x: clip;
overflow-y: visible;
}
.colAuthor {
flex: none;
@@ -221,7 +235,9 @@
overflow: visible;
}
.refs {
flex: none;
flex: 0 1 auto;
/* Shrinks to the first label's icon when the graph leaves no room. */
min-width: 11px;
display: inline-flex;
align-items: center;
gap: 8px;
@@ -242,6 +258,7 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
min-width: 0;
max-width: 180px;
}
/* Outlined tag glyph in the ref's colour. */