aboutsummaryrefslogtreecommitdiff
path: root/src/ipc/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipc/server.rs')
-rw-r--r--src/ipc/server.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ipc/server.rs b/src/ipc/server.rs
index c8f8edcf..2c948cac 100644
--- a/src/ipc/server.rs
+++ b/src/ipc/server.rs
@@ -356,6 +356,15 @@ async fn process(ctx: &ClientCtx, request: Request) -> Reply {
});
Response::PickedWindow(window)
}
+ Request::PickColor => {
+ let (tx, rx) = async_channel::bounded(1);
+ ctx.event_loop.insert_idle(move |state| {
+ state.handle_pick_color(tx);
+ });
+ let result = rx.recv().await;
+ let color = result.map_err(|_| String::from("error getting picked color"))?;
+ Response::PickedColor(color)
+ }
Request::Action(action) => {
let (tx, rx) = async_channel::bounded(1);