aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/ipc.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-03-07 16:33:05 +0100
committerGitHub <noreply@github.com>2026-03-07 16:33:05 +0100
commit58cb2267fd7994ad9abb2df9792ec452a2deab45 (patch)
treed0ab9dbbc147bd5db5b7dee5c1687069cc946d99 /zellij-utils/src/ipc.rs
parentUpdate CHANGELOG.md (diff)
downloadsl0ppij-58cb2267fd7994ad9abb2df9792ec452a2deab45.tar.gz
sl0ppij-58cb2267fd7994ad9abb2df9792ec452a2deab45.tar.xz
sl0ppij-58cb2267fd7994ad9abb2df9792ec452a2deab45.zip
Allow subscribing to pane viewport updates (renders) from the CLI (#4814)
* initial subscribe implementation * tests for subscribe * update cli help * rustfmt * add pr
Diffstat (limited to 'zellij-utils/src/ipc.rs')
-rw-r--r--zellij-utils/src/ipc.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/zellij-utils/src/ipc.rs b/zellij-utils/src/ipc.rs
index bff396a1..656bec4c 100644
--- a/zellij-utils/src/ipc.rs
+++ b/zellij-utils/src/ipc.rs
@@ -1,6 +1,6 @@
//! IPC stuff for starting to split things into a client and server model.
use crate::{
- data::{ClientId, ConnectToSession, KeyWithModifier, Style},
+ data::{ClientId, ConnectToSession, KeyWithModifier, PaneId, Style},
errors::{prelude::*, ErrorContext},
input::{actions::Action, cli_assets::CliAssets},
pane_size::{Size, SizeInPixels},
@@ -148,6 +148,10 @@ pub enum ClientToServerMsg {
FailedToStartWebServer {
error: String,
},
+ SubscribeToPaneRenders {
+ pane_ids: Vec<PaneId>,
+ scrollback: Option<usize>,
+ },
}
// Types of messages sent from the server to the client
@@ -183,6 +187,15 @@ pub enum ServerToClientMsg {
name: String,
},
ConfigFileUpdated,
+ PaneRenderUpdate {
+ pane_id: PaneId,
+ viewport: Vec<String>,
+ scrollback: Option<Vec<String>>,
+ is_initial: bool,
+ },
+ SubscribedPaneClosed {
+ pane_id: PaneId,
+ },
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]