diff options
Diffstat (limited to 'src/app')
| -rw-r--r-- | src/app/mod.rs | 2 | ||||
| -rw-r--r-- | src/app/runtime.rs | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/app/mod.rs b/src/app/mod.rs index a598100a..a3094ed8 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -25,6 +25,8 @@ use std::time::{Duration, Instant}; const MIN_RENDER_INTERVAL: Duration = Duration::from_millis(16); pub(crate) const ANIMATION_INTERVAL: Duration = Duration::from_millis(16); +pub(crate) const HEADLESS_ANIMATION_INTERVAL: Duration = Duration::from_millis(128); +pub(crate) const HEADLESS_ANIMATION_TICK_STEP: u32 = 8; const RESIZE_POLL_INTERVAL: Duration = Duration::from_millis(100); const GIT_REMOTE_STATUS_REFRESH_INTERVAL: Duration = Duration::from_millis(1500); const AUTO_UPDATE_CHECK_INTERVAL: Duration = Duration::from_secs(30 * 60); diff --git a/src/app/runtime.rs b/src/app/runtime.rs index b6ad806b..739a3670 100644 --- a/src/app/runtime.rs +++ b/src/app/runtime.rs @@ -1,4 +1,4 @@ -use std::time::Instant; +use std::time::{Duration, Instant}; use crossterm::terminal; @@ -171,9 +171,16 @@ impl App { } pub(crate) fn sync_animation_timer(&mut self, now: Instant) { + self.sync_animation_timer_with_interval(now, ANIMATION_INTERVAL); + } + + pub(crate) fn sync_headless_animation_timer(&mut self, now: Instant) { + self.sync_animation_timer_with_interval(now, crate::app::HEADLESS_ANIMATION_INTERVAL); + } + + fn sync_animation_timer_with_interval(&mut self, now: Instant, interval: Duration) { if self.agent_panel_has_animation() { - self.next_animation_tick - .get_or_insert(now + ANIMATION_INTERVAL); + self.next_animation_tick.get_or_insert(now + interval); } else { self.next_animation_tick = None; } |
