aboutsummaryrefslogtreecommitdiff
path: root/src/app/state.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-08 14:53:45 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-08 14:53:45 +0300
commitc08e51e666f6df9a940393b568943b67940ceedc (patch)
tree6a6c4cd3c8ea5ddf9e97a4695c6b0d31eb0d0717 /src/app/state.rs
parentb0aa7b2cddc57a55a1c0285a1ea82b59ac9783bd (diff)
feat: make agent toasts focus panes
Diffstat (limited to 'src/app/state.rs')
-rw-r--r--src/app/state.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/app/state.rs b/src/app/state.rs
index 95caa3fe..315872f4 100644
--- a/src/app/state.rs
+++ b/src/app/state.rs
@@ -3,7 +3,7 @@ use crossterm::event::{KeyCode, KeyModifiers};
use ratatui::layout::{Direction, Rect};
use ratatui::style::Color;
-use crate::layout::{PaneInfo, SplitBorder};
+use crate::layout::{PaneId, PaneInfo, SplitBorder};
use crate::selection::Selection;
use crate::terminal_theme::TerminalTheme;
use crate::workspace::Workspace;
@@ -370,6 +370,7 @@ pub struct ViewState {
pub terminal_area: Rect,
pub mobile_header_rect: Rect,
pub mobile_menu_hit_area: Rect,
+ pub toast_hit_area: Rect,
pub pane_infos: Vec<PaneInfo>,
pub split_borders: Vec<SplitBorder>,
}
@@ -594,10 +595,17 @@ pub enum ToastKind {
}
#[derive(Debug, Clone, PartialEq, Eq)]
+pub struct ToastTarget {
+ pub workspace_id: String,
+ pub pane_id: PaneId,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ToastNotification {
pub kind: ToastKind,
pub title: String,
pub context: String,
+ pub target: Option<ToastTarget>,
}
pub struct ReleaseNotesState {
@@ -793,6 +801,7 @@ impl AppState {
terminal_area: Rect::default(),
mobile_header_rect: Rect::default(),
mobile_menu_hit_area: Rect::default(),
+ toast_hit_area: Rect::default(),
pane_infos: Vec::new(),
split_borders: Vec::new(),
},