aboutsummaryrefslogtreecommitdiff
path: root/src/app/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/api.rs')
-rw-r--r--src/app/api.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/app/api.rs b/src/app/api.rs
index 5f81a5cb..c2130f36 100644
--- a/src/app/api.rs
+++ b/src/app/api.rs
@@ -64,6 +64,10 @@ impl App {
results,
cache_updates,
} => self.handle_git_status_refreshed(results, cache_updates),
+ ev @ AppEvent::TerminalBell { .. } => {
+ self.handle_internal_event(ev);
+ false
+ }
ev => {
self.handle_internal_event(ev);
true
@@ -97,6 +101,15 @@ impl App {
}
pub(crate) fn handle_internal_event(&mut self, ev: AppEvent) {
+ if let AppEvent::TerminalBell { count, .. } = ev {
+ if let Err(err) =
+ crate::terminal_effects::write_terminal_bells(&mut std::io::stdout(), count)
+ {
+ tracing::warn!(err = %err, "failed to emit terminal bell");
+ }
+ return;
+ }
+
if let AppEvent::ClipboardWrite { content } = ev {
#[cfg(not(test))]
crate::selection::write_osc52_bytes(&content);