diff options
Diffstat (limited to 'src/api/schema')
| -rw-r--r-- | src/api/schema/panes.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/api/schema/panes.rs b/src/api/schema/panes.rs index 647f7446..2dffd7f9 100644 --- a/src/api/schema/panes.rs +++ b/src/api/schema/panes.rs @@ -8,6 +8,16 @@ pub(crate) const PANE_GRAPHICS_STREAM_MAX_BYTES: usize = 16 * 1024 * 1024; use super::agents::AgentSessionInfo; use super::common::{AgentStatus, PaneAgentState, ReadFormat, ReadSource, SplitDirection}; +#[derive( + Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema, Default, +)] +#[serde(rename_all = "snake_case")] +pub enum PaneRightClickTarget { + #[default] + Herdr, + Pane, +} + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, schemars::JsonSchema)] pub struct PaneSplitParams { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -21,10 +31,18 @@ pub struct PaneSplitParams { pub cwd: Option<String>, #[serde(default)] pub focus: bool, + #[serde(default)] + pub right_click: PaneRightClickTarget, #[serde(default, skip_serializing_if = "HashMap::is_empty")] pub env: HashMap<String, String>, } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] +pub struct PaneInputSetParams { + pub pane_id: String, + pub right_click: PaneRightClickTarget, +} + #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] #[serde(rename_all = "snake_case")] pub enum PaneDirection { |
