Skip to content

feature: add focused history layout - #2793

Open
jligeza wants to merge 1 commit into
sourcegit-scm:developfrom
jligeza:pr/focused-history-layout
Open

jligeza wants to merge 1 commit into
sourcegit-scm:developfrom
jligeza:pr/focused-history-layout

Conversation

@jligeza

@jligeza jligeza commented Oct 19, 2026

Copy link
Copy Markdown

Adds a third history layout, Focused, next to Vertical and Horizontal. It is chosen from the same LAYOUT menu, and the default layout does not change.

In this layout the commit details sit on the right as a narrow panel: subject, author, short SHA with a copy button, a collapsible INFORMATION section and the changed files. Clicking a file (or pressing Enter, Space or an arrow key in the file list) shows its diff in place of the commit graph. ← Graph or Esc brings the graph back. The graph stays loaded under the diff, so its selection and scroll position are kept. Selecting another commit, or two commits to compare, also brings the graph back.

The purpose is a wider diff: in the other layouts the diff shares space with the graph or with the file list.

Graph with a commit selected

Focused layout, graph

A file's diff in place of the graph

Focused layout, diff

Comparing two commits

Focused layout, compare

Notes for review:

  • Preferences: UseTwoColumnsLayoutInHistories is replaced by a HistoryLayout enum. Old preference files still load with the same layout, and UseTwoColumnsLayoutInHistories is still written, so going back to an older version keeps a two-column layout.
  • The width of the right panel in the Focused layout is saved per repository, separately from the other layouts.
  • New strings are in en_US only.

@jligeza
jligeza marked this pull request as ready for review October 19, 2026 07:33

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant