[Feature bounty]: Rewrite the app in Rust
Full disclosure: I was going to do it anyway, but I got paid for it too.
Ditch Electron and its shitty 100MB requirement to package an app. Embrace Rust, so Tauri.
This issue is blocked by a number of things that are not inside this repository.
For now we have
- Rust Windows binding for music control
We lack
- Rust macOS binding for music control
- Rust Windows binding to keep the window at the bottom (Z-index)
- Rust Linux binding for music control
- De-electronifying all the code
- Running the front end code in Tauri (as a front to the Node back end we have)
- Porting the back end to native Rust to use inside Tauri
mpris-rs (libdbus) is for mpris mpd for mpd
However, should we wait Tauri for switching to Servo on linux Tauri app (alpha 2 ver.) runs on Webkit2GTK-4.1 in Linux [^0] [^0]: https://tauri.app/v1/references/webview-versions/
mpris-rs (libdbus) is for mpris
Could be used
mpd for mpd
isn't it better for mpd to be controlled via mpris? it also would allow less code on our end.
However, should we wait Tauri for switching to Servo on linux
WebKitGTK is also fine by me. The problem right now is that I don't have time for open source projects, and all of my plans for 2024 already slid into mid-2025 as I have other real life stuff to attend to. If Tauri 2 gets praise by then, then sure, Servo can be good too.
~~ok I lied I hate webkit btw~~