aboutsummaryrefslogtreecommitdiff
path: root/src/app/api.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-26 15:49:07 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-26 15:50:06 +0300
commit1b980eaa9d4cbc050b6b81525e4b6b72ae853be5 (patch)
tree48afc3595519c9e229e22528ecc229a66f9bd874 /src/app/api.rs
parent57c880f0ebaa5011abc90f4e2fd4f84fc072ce35 (diff)
feat: show clipboard copy feedback
Diffstat (limited to 'src/app/api.rs')
-rw-r--r--src/app/api.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/app/api.rs b/src/app/api.rs
index c51a1bb0..2488ce40 100644
--- a/src/app/api.rs
+++ b/src/app/api.rs
@@ -16,6 +16,7 @@ impl App {
pub(crate) fn handle_internal_event(&mut self, ev: AppEvent) {
if let AppEvent::ClipboardWrite { content } = ev {
crate::selection::write_osc52_bytes(&content);
+ self.show_clipboard_feedback();
return;
}
@@ -177,6 +178,13 @@ impl App {
self.shutdown_detached_terminal_runtimes();
}
+ pub(crate) fn show_clipboard_feedback(&mut self) {
+ self.state.copy_feedback = Some(crate::app::state::CopyFeedback {
+ message: "copied to clipboard".to_string(),
+ });
+ self.copy_feedback_deadline = Some(Instant::now() + super::COPY_FEEDBACK_DURATION);
+ }
+
fn restore_overlay_after_exit(&mut self, overlay: OverlayPaneState) {
for temp_file in &overlay.temp_files {
let _ = std::fs::remove_file(temp_file);