gitwig

Gitwig - Panel & UI Window Directory

This document lists and describes all the user interface panels, tabs, views, overlay pickers, inputs, and modal dialogs implemented in Gitwig, along with their available keyboard shortcuts.


1. Home Screen (Repository List View)

The primary dashboard shown when Gitwig starts up.


2. Repository Detail / Workspace View

Triggered by opening a repository.

Main Workspace Tabs

Tab 0: Workspace (Commits History & Workspace Staging)

Tab 1: Files Tab (Working Directory Browser)

Tab 2: Graph Tab

Tab 3: Branches Tab

Tab 4: Tags Tab

Tab 5: Remotes Tab

Tab 6: Stashes Tab

Tab 7: Worktrees Tab (Advanced Tab Group)

Tab 8: Submodules Tab (Advanced Tab Group)

Tab 9: Reflog Tab (Advanced Tab Group)

Tab 10: Forge Issues Tab (Advanced Tab Group)

Tab 11: Forge PRs Tab (Advanced Tab Group)


3. Commit Inspection Layout (Mode::Inspect)

Workspace layout for inspecting commits and diffs in details.


4. Conflict Resolution Panel (Inside Workspace Merge Conflict State)

Triggers when staging changes encounters merge conflicts.


5. Standalone Views (Full Screen / Dedicated Panels)

Logs View (Mode::Logs)

Full-screen git commits history.

Per-File History View (Mode::FileHistory)

Commits history of selected file.

Repository Overview Overlay (Mode::Overview)

Full-screen overlay summarizing the current repository (opened with O from the Detail view), split into an Overview pane and a Stats pane.

Stashing UI Panel (Mode::StashingUI)

Overlay for reviewing what will be stashed before saving (opened with s / S from the Workspace tab’s commits or files list).

Debug Logs Panel (Mode::DebugLogs)

App logs viewer.

Settings View (Mode::Settings)

Full-screen configuration editor split into Categories and Fields.

Signs & Symbols Legend Popup (Mode::Legend)

Quick reference guide to badges, operations, and status indicators.

About Popup (Mode::About)

Information about Gitwig, version details, and creator profile.

App Usage Stats Popup (Mode::StatsDashboard)

Dashboard detailing aggregated usage statistics such as session duration, total lines authored, repositories imported, branches/commits created, network activities, and a visual 52-week Activity Heatmap.

Search Columns Selector Popup (Mode::SearchColumnPicker)

Picker to select columns to search by (SHA, Message, Author, Date) before entering fuzzy logs search.

Remote Picker Popup (Mode::RemotePicker)

Picker to select the target remote for sync/fetch operations when multiple remotes exist.

Commit History Picker Popup (Mode::CommitHistoryPicker)

Picker listing historical commit messages to reuse (opened with Ctrl+H from the Commit Message Dialog).

Repository Settings Popup (Mode::RepoSettings)

Custom per-repository config editor (Theme, Page Size, Max Commits, Resync on Tab Change, Auto Fetch interval, Editor path, custom Note, Git LFS Tracking/Pull, LFS Storage Size). Accessed via s on the repository Overview screen. The Auto Fetch row overrides the global auto_fetch_interval_mins for just that repository — leave it empty to inherit the global cadence, or set 0 to exclude the repository from background fetching.

Label Settings Popup (Mode::LabelSettings)

Per-label config editor (Theme, Page Size, Max Commits, Resync on Tab Change, Auto Fetch interval, Editor path). Accessed via on a highlighted label in the Label Picker Overlay. Settings chosen here apply to every repository carrying that label and are resolved between the per-repo override and the global default: a per-repo setting wins first, then the first of the repo’s labels (in stored order) that defines the setting, then the global default. Each row left empty inherits the next tier down; the Auto Fetch row accepts 0 to exclude the whole label group from background fetching (handy for an archive label). The Theme row additionally tints the home repo-list view while that label’s filter (“project view”) is active — a visual cue for which project you are focused on. Label settings persist to [label_configs.<label>] in config.toml, and a label’s settings are pruned automatically once no repository carries it.

Not Git Repository Popup (Mode::NotGitRepo)

Warning dialog shown when selecting a directory that is not a valid Git repository.

Help Overlay (Mode::Help / Mode::DetailHelp)

Floating keyboard shortcut reference popup shown on top of the Home Screen or Detail View.

Global Search View (Mode::GlobalSearch)

Full-screen dashboard to search for keywords/code across all tracked repositories simultaneously.


6. Interactive Search & Picker Overlays

Floating modal components with search-as-you-type inputs. Matches are ranked and updated in real time.


7. Input Modals & Setup Dialogs

Modal text entry boxes for setting up configurations or typing messages.


8. Warning & Confirmation Modals

Double-checks before executing hazardous or state-altering actions.

The Safety Intercept Feature

To prevent accidental data loss due to muscle-memory Enter keypresses, Gitwig intercepts keystrokes on the router level. For any modal classified as a Destructive Action, pressing Enter defaults to Cancel (ConfirmNo). To confirm a destructive action, the user must explicitly press y or Y. For non-destructive actions, Enter acts normally to confirm.

Destructive Actions (Enter acts as Cancel)

Non-Destructive Actions (Enter acts as Confirm)

Shortcuts