diff options
Diffstat (limited to 'src/ipc/server.rs')
| -rw-r--r-- | src/ipc/server.rs | 9 |
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); |
