diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-03-07 16:33:05 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-07 16:33:05 +0100 |
| commit | 58cb2267fd7994ad9abb2df9792ec452a2deab45 (patch) | |
| tree | d0ab9dbbc147bd5db5b7dee5c1687069cc946d99 /zellij-utils/src/ipc.rs | |
| parent | Update CHANGELOG.md (diff) | |
| download | sl0ppij-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.rs | 15 |
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)] |
