perf(ui): move search IPC off the GTK main thread

Search queries in daemon mode now run on a background thread via
DaemonHandle::query_async(). Results are posted back to the main
thread via glib::spawn_future_local + futures_channel::oneshot.
The GTK event loop is never blocked by IPC, eliminating perceived
input lag.

Local mode (dmenu) continues to use synchronous search since it
has no IPC overhead.
This commit is contained in:
2026-03-28 09:05:58 +01:00
parent 4032205800
commit 8f7501038d
5 changed files with 277 additions and 87 deletions

1
Cargo.lock generated
View File

@@ -2542,6 +2542,7 @@ dependencies = [
"clap",
"dirs",
"env_logger",
"futures-channel",
"glib-build-tools",
"gtk4",
"gtk4-layer-shell",