aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/plugins.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-15 03:58:07 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-15 04:02:14 +0300
commit2c7c8beb079c5fd58a2e53efd2058df050ad9f55 (patch)
tree6756f671dc728d915b1d6ebececa8cf7f70b66fb /src/api/schema/plugins.rs
parent88370e1516182ab519d22a12fa82d5780a40fee6 (diff)
feat: add floating popup panes
refs #1125
Diffstat (limited to 'src/api/schema/plugins.rs')
-rw-r--r--src/api/schema/plugins.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/api/schema/plugins.rs b/src/api/schema/plugins.rs
index 10e7d670..75b40f97 100644
--- a/src/api/schema/plugins.rs
+++ b/src/api/schema/plugins.rs
@@ -6,6 +6,7 @@ use super::common::AgentStatus;
use super::common::SplitDirection;
use super::panes::PaneInfo;
use super::workspaces::WorkspaceWorktreeInfo;
+use crate::popup_size::PopupSize;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
pub struct PluginLinkParams {
@@ -261,6 +262,10 @@ pub struct PluginManifestPane {
pub platforms: Option<Vec<PluginPlatform>>,
#[serde(default)]
pub placement: PluginPanePlacement,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub width: Option<PopupSize>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub height: Option<PopupSize>,
pub command: Vec<String>,
}
@@ -407,6 +412,10 @@ pub struct PluginPaneOpenParams {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub placement: Option<PluginPanePlacement>,
#[serde(default, skip_serializing_if = "Option::is_none")]
+ pub width: Option<PopupSize>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub height: Option<PopupSize>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
pub workspace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_pane_id: Option<String>,
@@ -427,6 +436,7 @@ pub struct PluginPaneOpenParams {
pub enum PluginPanePlacement {
#[default]
Overlay,
+ Popup,
Split,
Tab,
Zoomed,