diff options
| author | sodiboo <37938646+sodiboo@users.noreply.github.com> | 2024-04-19 15:02:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-19 13:02:32 +0000 |
| commit | b5f7e4bd83dbfc77e0c8b973bc217c9a4cb3f364 (patch) | |
| tree | dbe59c9a19f2e7d94086e9fbb1c28a43e062e16b /niri-ipc/src/lib.rs | |
| parent | b98b95883def5cd726c1e96a006f9cd7498d1730 (diff) | |
| download | niri-b5f7e4bd83dbfc77e0c8b973bc217c9a4cb3f364.tar.gz niri-b5f7e4bd83dbfc77e0c8b973bc217c9a4cb3f364.tar.bz2 niri-b5f7e4bd83dbfc77e0c8b973bc217c9a4cb3f364.zip | |
`niri_ipc::Socket`; `niri msg version`; version checking on IPC (#278)
* Implement version checking in IPC
implement version checking; streamed IPC
streamed IPC will allow multiple requests per connection
add nonsense request
change inline struct to json macro
only check version if request actually fails
fix usage of inspect_err (MSRV 1.72.0; stabilized 1.76.0)
"nonsense request" -> "return error"
oneshot connections
* Change some things around
* Unqualify niri_ipc::Transform
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
Diffstat (limited to 'niri-ipc/src/lib.rs')
| -rw-r--r-- | niri-ipc/src/lib.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/niri-ipc/src/lib.rs b/niri-ipc/src/lib.rs index 33d25f2d..26b89283 100644 --- a/niri-ipc/src/lib.rs +++ b/niri-ipc/src/lib.rs @@ -6,18 +6,22 @@ use std::str::FromStr; use serde::{Deserialize, Serialize}; -/// Name of the environment variable containing the niri IPC socket path. -pub const SOCKET_PATH_ENV: &str = "NIRI_SOCKET"; +mod socket; +pub use socket::{Socket, SOCKET_PATH_ENV}; /// Request from client to niri. #[derive(Debug, Serialize, Deserialize, Clone)] pub enum Request { + /// Request the version string for the running niri instance. + Version, /// Request information about connected outputs. Outputs, /// Request information about the focused window. FocusedWindow, /// Perform an action. Action(Action), + /// Respond with an error (for testing error handling). + ReturnError, } /// Reply from niri to client. @@ -35,6 +39,8 @@ pub type Reply = Result<Response, String>; pub enum Response { /// A request that does not need a response was handled successfully. Handled, + /// The version string for the running niri instance. + Version(String), /// Information about connected outputs. /// /// Map from connector name to output info. |
