Repository navigation
feat(ui): tell actions apart by what they do - #80
Merged
rocketraman merged 1 commit intoNov 2, 2026
Merged
Conversation
Every row action used to be the same blue link, so viewing, changing git state and GitVantage's own settings read as one list, and a worktree's Folder link went unnoticed. Actions now look like what they do, in the toolbar, the hover lanes, the log view and the bulk bar: git actions are blue buttons, viewing actions grey, GitVantage's own (Alerts, Snooze, Add Repo) amber, destructive ones red and pushed to the far end of their lane. Terminal and "Open in" are one split button. The label opens the pinned launcher (Terminal by default) and the menu lists every launcher, Folder included, with a pin to change the default; Settings has the same choice. Worktree cards get the same control as the toolbar. Snooze is a split button too, replacing its dialog: one click snoozes for the pinned length, the menu has the other lengths and Resume now. While snoozed it shows the time left and opens the menu instead. Worktrees with uncommitted work get an amber outline, and worktrees are listed with uncommitted ones first, then by most recent commit, instead of by folder path. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Raman Gupta <rocketraman@gmail.com>
rocketraman
deleted the
claude/gitvantage-options-discoverability-8a09ac
branch
November 2, 2026 19:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
User feedback: options weren't discoverable. Someone asked how to open a worktree's folder, and the "Folder" link was sitting right there. Every row action was the same blue link, so viewing (Log, Terminal, Folder), changing git state and GitVantage's own settings (Alerts) all read as one list. Folder also sat loose on the row while the toolbar kept it under "Open in ▾".
What changed
Actions look like what they do. This applies everywhere: the detail toolbar, every hover lane (worktrees, branches, remotes, stashes, submodules), the log view's commit rows and the bulk bar.
Terminal ▾ split button. It replaces "Terminal" plus "Open in ▾". The label opens the pinned launcher, Terminal by default. The menu lists every launcher, Folder included, and you can pin any of them as the one-click default. Settings › External tools has the same "Main launcher" choice. Worktree cards get the same control as the toolbar.
Snooze split button. It replaces the Snooze dialog. One click snoozes for the pinned length (1 day by default), and the menu has the other lengths plus Resume now. While snoozed, the label shows the time left and opens the menu instead of snoozing again. The bulk bar uses the same control. The old dialog is removed.
Worktrees
Notes for review
SplitMenuButton,MenuItemandMenuDividerare in the newui/SplitMenu.kt, and the launcher and Snooze controls both use them. The menu hangs from the whole control, so it doesn't move when pinning changes the label length.RowActionKind.colorsinComponents.kt.RowAction(label, danger = true)is nowRowAction(label, RowActionKind.DANGER).pinnedLauncher(default "terminal") andpinnedSnooze(default "1 day"). An unknown value falls back to the default.Testing
WorktreeOrderTestcovers the sort. All 257 tests andcheck(detekt, Konture) pass.git logcommit times.