diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-26 15:49:07 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-26 15:50:06 +0300 |
| commit | 1b980eaa9d4cbc050b6b81525e4b6b72ae853be5 (patch) | |
| tree | 48afc3595519c9e229e22528ecc229a66f9bd874 /src/app/api.rs | |
| parent | 57c880f0ebaa5011abc90f4e2fd4f84fc072ce35 (diff) | |
feat: show clipboard copy feedback
Diffstat (limited to 'src/app/api.rs')
| -rw-r--r-- | src/app/api.rs | 8 |
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); |
