diff options
Diffstat (limited to 'src/server/client_transport.rs')
| -rw-r--r-- | src/server/client_transport.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/client_transport.rs b/src/server/client_transport.rs index b69490c8..c4e43e0d 100644 --- a/src/server/client_transport.rs +++ b/src/server/client_transport.rs @@ -314,6 +314,12 @@ pub(crate) enum ServerEvent { }, /// A client requested read-only observation of one terminal. ClientObserveTerminal { client_id: u64, target: String }, + /// A client requested writable control of one terminal. + ClientControlTerminal { + client_id: u64, + target: String, + takeover: bool, + }, /// A direct terminal attach client requested scrollback movement. ClientAttachScroll { client_id: u64, @@ -673,6 +679,13 @@ fn client_read_loop( ClientMessage::ObserveTerminal { target } => { ServerEvent::ClientObserveTerminal { client_id, target } } + ClientMessage::ControlTerminal { target, takeover } => { + ServerEvent::ClientControlTerminal { + client_id, + target, + takeover, + } + } ClientMessage::ClipboardImage { extension, data } => { if data.len() > MAX_CLIPBOARD_IMAGE_PAYLOAD { warn!( |
