aboutsummaryrefslogtreecommitdiff
path: root/src/ipc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipc')
-rw-r--r--src/ipc/server.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ipc/server.rs b/src/ipc/server.rs
index 102fcb94..dc314734 100644
--- a/src/ipc/server.rs
+++ b/src/ipc/server.rs
@@ -1,4 +1,3 @@
-use std::collections::HashMap;
use std::os::unix::net::{UnixListener, UnixStream};
use std::path::PathBuf;
use std::sync::{Arc, Mutex};
@@ -14,6 +13,7 @@ use smithay::reexports::calloop::generic::Generic;
use smithay::reexports::calloop::{Interest, LoopHandle, Mode, PostAction};
use smithay::reexports::rustix::fs::unlink;
+use crate::backend::IpcOutputMap;
use crate::niri::State;
pub struct IpcServer {
@@ -22,7 +22,7 @@ pub struct IpcServer {
struct ClientCtx {
event_loop: LoopHandle<'static, State>,
- ipc_outputs: Arc<Mutex<HashMap<String, niri_ipc::Output>>>,
+ ipc_outputs: Arc<Mutex<IpcOutputMap>>,
}
impl IpcServer {
@@ -125,7 +125,11 @@ fn process(ctx: &ClientCtx, buf: &str) -> anyhow::Result<Response> {
let response = match request {
Request::Outputs => {
- let ipc_outputs = ctx.ipc_outputs.lock().unwrap().clone();
+ let ipc_outputs = ctx.ipc_outputs.lock().unwrap();
+ let ipc_outputs = ipc_outputs
+ .iter()
+ .map(|(name, (ipc, _))| (name.clone(), ipc.clone()))
+ .collect();
Response::Outputs(ipc_outputs)
}
Request::Action(action) => {