The default polling rate of 1 second causes a 1 second delay when
queuing the event to launch the external editor, causing latency.
However, a slower polling helps reduce CPU usage, so let's
have a short polling duration as long as there are input events, and
slow poll otherwise.
Since the external editor among other components (not tested) is always
launched in response to an input event, we reduce the latency to ~100ms,
which is the fast poll duration.
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
logfilter using `get_commit_diff` on each entry lead to a lot of unneeded calls to `get_stashes` and `is_stash_commit` which should be not even needed for file history log entries. this is not happening now anymore
* Simplify theme overrides
Theme overrides are now loaded the same way key overrides are loaded.
The config file, `theme.ron`, does not have to contain a complete theme
anymore. Instead, it is possible to specify only the values that are
supposed to override their corresponding default values.
* Document breaking change in changelog
* Test that override differs from default
* Convert existing theme to patch
* feat: support 'n'/'p' key to move to the next/prev hunk.
* feat: auto scroll next/prev hunk into visible area.
* add unittest for VerticalScroll::move_area_to_visible.
* Default to tick-based updates
This commit reintroduces code that was previously removed in favor of a
notify-based update trigger. It turned out that notify-based updates can
cause issues in larger repositories, so tick-based updates seemed like a
safer default.
https://github.com/extrawurst/gitui/issues/1444https://github.com/extrawurst/gitui/pull/1310
* Add FAQ entry for --watcher
* Remove --poll
sometimes messages appear empty because getting the revlog is so fast (empty repo) that no draw happened yet and so we do not know yet what size the view will have.
fixes#1473