jesseduffield.lazygit/pkg/gui
Stefan Haller 312a5f2cc1 Only react to focus reports that change whether we're focused
A terminal that supports focus reporting answers with the state it is
already in when we turn reporting on, so at startup we were told that we
had gained focus that we never lost, and refreshed everything a second
time on top of the refresh that loading the repo had just started. The
two ran at once, each with its own `git status`, which made both of them
slower than the one refresh needed to be.

Keep track of what the reports say, then, and pass on only the ones that
change it. Assuming that we start out focused costs us nothing when we
don't: that same first report says so, so a lazygit started in a window
that isn't in front knows it from the start.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 11:26:58 +02:00
..
context Scroll the selection into view by default 2026-08-14 08:04:13 +02:00
controllers Recognize worktrees among the files from the worktrees model 2026-08-15 11:26:58 +02:00
filetree Make the conflict marker size a parameter of our marker matching 2026-08-08 12:43:42 +02:00
mergeconflicts Recognize conflict markers that have no label 2026-08-08 12:43:42 +02:00
modes Make Commit.Hash a getter for an unexported hash field 2025-04-29 14:57:15 +02:00
patch_exploring Rework the custom pager config (rename to diff renderer) 2026-07-31 08:42:51 +02:00
popup Decouple hiding the working tree state from blocking input 2026-08-05 17:29:20 +02:00
presentation Show a Github PR's combined checks state in branches list and main view 2026-08-02 13:06:21 +02:00
services/custom_commands Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
status Render the app status in a single background render loop 2026-07-17 15:55:01 +02:00
style Modernize all codes 2025-11-15 10:46:23 +01:00
types Scroll the selection into view by default 2026-08-14 08:04:13 +02:00
background.go Let OnUIThreadAndWait's error be about the wait, not about f 2026-08-12 11:04:53 +02:00
command_log_panel.go Adapt links 2026-07-31 08:42:51 +02:00
context.go Bump gocui (and tcell) 2025-12-23 16:49:16 +01:00
context_config.go Remove some unused code 2025-07-08 15:14:45 +02:00
controllers.go Redesign the 'w' worktree-creation flow 2026-07-03 18:53:05 +02:00
dummies.go Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
editors.go Capture suggestions inputs on the UI thread 2026-07-17 12:35:54 +02:00
extras_panel.go Rename Key to Keys in Binding, KeybindingsOpts, and MenuItem 2026-05-25 15:18:18 +02:00
global_handlers.go Read lines based on scroll position instead of a fixed per-notch delta 2026-07-09 09:32:35 +02:00
gui.go Remember how to get back to a repo we entered a submodule from 2026-08-08 11:15:01 +02:00
gui_common.go Scroll the selection into view by default 2026-08-14 08:04:13 +02:00
gui_driver.go Only react to focus reports that change whether we're focused 2026-08-15 11:26:58 +02:00
information_panel.go Rename ModeStatus.Description to InfoLabel 2025-08-14 17:59:38 +02:00
keybindings.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
layout.go Don't show a transient view whose window is not part of the layout 2026-07-17 12:07:24 +02:00
main_panels.go Run moveMainContextPairToTop before queueing main-view tasks 2026-07-02 17:32:01 +02:00
menu_panel.go Remove the scroll calls that are now redundant 2026-08-14 08:04:13 +02:00
options_map.go Cleanup: filter out empty keybindings earlier 2026-05-28 19:26:43 +02:00
pty.go Give task commands a Terminate method instead of exposing their process 2026-08-04 07:03:27 +02:00
pty_test.go Prevent stale index.lock files from diffs rendered through a pty on Windows 2026-08-04 06:53:53 +02:00
recent_repos_panel.go Remove unused field gui.IsNewRepo 2024-12-01 10:44:26 +01:00
side_panels.go Assign the transient contexts' initial windows from the side panel config 2026-07-17 12:07:24 +02:00
side_panels_test.go Assign the transient contexts' initial windows from the side panel config 2026-07-17 12:07:24 +02:00
tasks_adapter.go Let OnUIThreadAndWait's error be about the wait, not about f 2026-08-12 11:04:53 +02:00
tasks_adapter_test.go Never hand NewCmdTask a nil reader when a command fails to start 2026-07-23 17:31:26 +02:00
test_mode.go Dump goroutine stacks when the test watchdog fires 2026-07-20 14:26:25 +02:00
test_timeout_norace.go Scale the integration test watchdog up under the race detector 2026-07-20 14:26:25 +02:00
test_timeout_race.go Scale the integration test watchdog up under the race detector 2026-07-20 14:26:25 +02:00
view_helpers.go Scroll the selection into view by default 2026-08-14 08:04:13 +02:00
views.go Clear tab strips on views that are no longer tabs 2026-06-23 14:15:18 +02:00