aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/ipc/protobuf_conversion.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-03-28 09:19:54 +0100
committerGitHub <noreply@github.com>2026-03-28 09:19:54 +0100
commit608cc9905d0e53cda32f22b184578915b7f0f7b4 (patch)
tree64e60645b412e3c9cecf83e8889ee1c6f0024593 /zellij-utils/src/ipc/protobuf_conversion.rs
parentCLI focus-pane-id and are-floating-panes-visible actions (#4926) (diff)
downloadsl0ppij-608cc9905d0e53cda32f22b184578915b7f0f7b4.tar.gz
sl0ppij-608cc9905d0e53cda32f22b184578915b7f0f7b4.tar.xz
sl0ppij-608cc9905d0e53cda32f22b184578915b7f0f7b4.zip
Support OSC-99 desktop notifications (#4931)
* initial implementation * tests * fix: always report to zellij, only report to app if it wants a report * rustfmt * fix: always report capabilities to panes requesting them * rustfmt * add pr
Diffstat (limited to 'zellij-utils/src/ipc/protobuf_conversion.rs')
-rw-r--r--zellij-utils/src/ipc/protobuf_conversion.rs28
1 files changed, 19 insertions, 9 deletions
diff --git a/zellij-utils/src/ipc/protobuf_conversion.rs b/zellij-utils/src/ipc/protobuf_conversion.rs
index 093cff4e..5c78a445 100644
--- a/zellij-utils/src/ipc/protobuf_conversion.rs
+++ b/zellij-utils/src/ipc/protobuf_conversion.rs
@@ -3,15 +3,15 @@ use crate::{
client_to_server_msg, server_to_client_msg, ActionMsg, AttachClientMsg,
AttachWatcherClientMsg, BackgroundColorMsg, CliPipeOutputMsg, ClientExitedMsg,
ClientToServerMsg as ProtoClientToServerMsg, ColorRegistersMsg, ConfigFileUpdatedMsg,
- ConnStatusMsg, ConnectedMsg, DetachSessionMsg, ExitMsg, ExitReason as ProtoExitReason,
- FailedToStartWebServerMsg, FirstClientConnectedMsg, ForegroundColorMsg,
- InputMode as ProtoInputMode, KeyMsg, KillSessionMsg, LayoutMetadata as ProtoLayoutMetadata,
- LogErrorMsg, LogMsg, PaneMetadata as ProtoPaneMetadata, PaneRenderUpdateMsg,
- QueryTerminalSizeMsg, RenamedSessionMsg, RenderMsg,
- ServerToClientMsg as ProtoServerToClientMsg, StartWebServerMsg, SubscribeToPaneRendersMsg,
- SubscribedPaneClosedMsg, SwitchSessionMsg, TabMetadata as ProtoTabMetadata,
- TerminalPixelDimensionsMsg, TerminalResizeMsg, UnblockCliPipeInputMsg,
- UnblockInputThreadMsg, WebServerStartedMsg,
+ ConnStatusMsg, ConnectedMsg, DesktopNotificationResponseMsg, DetachSessionMsg, ExitMsg,
+ ExitReason as ProtoExitReason, FailedToStartWebServerMsg, FirstClientConnectedMsg,
+ ForegroundColorMsg, InputMode as ProtoInputMode, KeyMsg, KillSessionMsg,
+ LayoutMetadata as ProtoLayoutMetadata, LogErrorMsg, LogMsg,
+ PaneMetadata as ProtoPaneMetadata, PaneRenderUpdateMsg, QueryTerminalSizeMsg,
+ RenamedSessionMsg, RenderMsg, ServerToClientMsg as ProtoServerToClientMsg,
+ StartWebServerMsg, SubscribeToPaneRendersMsg, SubscribedPaneClosedMsg, SwitchSessionMsg,
+ TabMetadata as ProtoTabMetadata, TerminalPixelDimensionsMsg, TerminalResizeMsg,
+ UnblockCliPipeInputMsg, UnblockInputThreadMsg, WebServerStartedMsg,
},
data::{InputMode, PaneId},
errors::prelude::*,
@@ -124,6 +124,11 @@ impl From<ClientToServerMsg> for ProtoClientToServerMsg {
scrollback: scrollback.map(|s| s as u32),
ansi,
}),
+ ClientToServerMsg::DesktopNotificationResponse { raw_bytes } => {
+ client_to_server_msg::Message::DesktopNotificationResponse(
+ DesktopNotificationResponseMsg { raw_bytes },
+ )
+ },
};
ProtoClientToServerMsg {
@@ -247,6 +252,11 @@ impl TryFrom<ProtoClientToServerMsg> for ClientToServerMsg {
ansi: msg.ansi,
})
},
+ Some(client_to_server_msg::Message::DesktopNotificationResponse(msg)) => {
+ Ok(ClientToServerMsg::DesktopNotificationResponse {
+ raw_bytes: msg.raw_bytes,
+ })
+ },
None => Err(anyhow!("Empty ClientToServerMsg message")),
}
}