This is a Program Launcher written in Rust. For the moment it uses multiple different UI toolkits, namely: - [x] egui - [ ] iced
I started using egui for this, which is a great toolkit, but it has some limitations. So I thought I'd try some other toolkits. This I think is a reasonably simple UI, but with some quirks (like the keyboard scrolling) which I can use to compare ease of use and feature sets.
There are several reasons I wanted a new program launcher:
Most good program launchers like Rofi, Fuzzel etc. only support either X11 or wayland. Since I still sometimes switch between X11 and Wayland I wanted a launcher, that ran on both systems
There are some cool projects like Wofi that aim to port X11 programs to Wayland. However I found at least Wofi to have some bugs with my window setup.
I tend to take on huge projects which never end. I saw this as a comparatively simple project.
Due to synchronous file loading the startup times are very slow. This can be fixed by either asynchronously loading icons, using a faster method of icon discovery (the library I am using seems to has to execute gsettings every time, which is very slow)
The egui ScrollArea does not allow for movement using the arrow keys. This means I had to implement that myself. The method I chose (just remembering the index) does however overwrite the scrolling using the mousewheel/touchpad gestures etc. This means I had to implement the scrolling with the scrollwheel myself, which 'fights' against the default scrolling. This causes minor visual glitches but so far no actual bugs