The UI now uses a SearchBackend abstraction that wraps either: - CoreClient (daemon mode): connects to owlry-core via IPC for search, frecency tracking, submenu queries, and plugin actions - Local ProviderManager (dmenu mode): unchanged direct provider access Key changes: - New backend.rs with SearchBackend enum abstracting IPC vs local - app.rs creates CoreClient in normal mode, falls back to local if daemon unavailable - main_window.rs uses SearchBackend instead of ProviderManager+FrecencyStore - Command execution stays in the UI (daemon only tracks frecency) - dmenu mode path is completely unchanged (no daemon involvement) - Added terminal field to IPC ResultItem for proper terminal launch - Added PluginAction IPC request for plugin command execution
126 KiB
126 KiB