Skip to main content

rmux_client/commands/
status.rs

1use rmux_proto::{
2    DisplayMessageDurationMillis, DisplayMessageExtRequest, DisplayMessageRequest, Request,
3    Response, ShowMessagesRequest, Target,
4};
5
6use crate::{connection::Connection, ClientError};
7
8impl Connection {
9    /// Sends a `display-message` request over the detached RPC channel.
10    pub fn display_message(
11        &mut self,
12        target: Option<Target>,
13        print: bool,
14        message: Option<String>,
15    ) -> Result<Response, ClientError> {
16        self.roundtrip(&Request::DisplayMessage(DisplayMessageRequest {
17            target,
18            print,
19            message,
20            empty_target_context: false,
21        }))
22    }
23
24    /// Sends a `display-message -c` request over the detached RPC channel.
25    pub fn display_message_ext(
26        &mut self,
27        target: Option<Target>,
28        print: bool,
29        message: Option<String>,
30        target_client: Option<String>,
31    ) -> Result<Response, ClientError> {
32        self.roundtrip(&Request::DisplayMessageExt(Box::new(
33            DisplayMessageExtRequest {
34                target,
35                print,
36                message,
37                target_client,
38                empty_target_context: false,
39                duration_ms: None,
40                ignore_input: false,
41            },
42        )))
43    }
44
45    /// Sends `display-message` with attached-overlay timing and input policy.
46    pub fn display_message_with_options(
47        &mut self,
48        target: Option<Target>,
49        print: bool,
50        message: Option<String>,
51        target_client: Option<String>,
52        duration_ms: Option<DisplayMessageDurationMillis>,
53        ignore_input: bool,
54    ) -> Result<Response, ClientError> {
55        self.roundtrip(&Request::DisplayMessageExt(Box::new(
56            DisplayMessageExtRequest {
57                target,
58                print,
59                message,
60                target_client,
61                empty_target_context: false,
62                duration_ms,
63                ignore_input,
64            },
65        )))
66    }
67
68    /// Sends a `show-messages` request over the detached RPC channel.
69    pub fn show_messages(
70        &mut self,
71        jobs: bool,
72        terminals: bool,
73        target_client: Option<String>,
74    ) -> Result<Response, ClientError> {
75        self.roundtrip(&Request::ShowMessages(ShowMessagesRequest {
76            jobs,
77            terminals,
78            target_client,
79        }))
80    }
81}