Hey @brpaz I hope you can pull it off or at least learn something in the process. I tried to implement a prototype launcher in Rust also, but got stuck very early. Ulauncher heavily relies on GTK3 with X11 or Xwayland now.
You also can’t center a window in GTK4, and you need a Gnome extension if you want to implement “raise or run” to work on both X11 and Wayland. And additionally if you want to set a hotkey to show the launcher, you kind of need a Gnome extension for that also unless you leave it up to your users to handle the keybinding (which I guess is reasonable).
And I think that’s not all of it. I sort of got to the conclusion that I probably want to write the whole GUI as a Gnome shell extension, but with a daemon to handle the search database and extensions in Rust. Then Pop OS implemented their launcher exactly like that, so you might want to check that out. The shell extension is their whole cosmic desktop though, so it does a lot of other things also. And they have big ambitions to rewrite that layer to a fully independent DE.