Description
Hi @Alexays , @alebastr I've done some digging into GTK4 and opportunity to migrate Waybar to it.
So. I have the first base example of the Waybar which can be build and run with gtkmm4 .
There only base engine... without any modules and event handlers. But I think it's a good start to migrate Waybar.
@Alexays is it possible for you to create for example separate branch and mark it with labels: unstable, gtk4 and to do cloning from my branch : https://github.com/LukashonakV/Waybar/tree/gtk4
I think it will provide an opportunity to contributors to make contributions, fix errors, find more effective approaches, bring new ideas, speedup the process
About versioning: 4.1.0 - the first digit means (stable release version. Currently it points to GTK4 chain), the second digit experimental version. The third digit update of the stable release. So for example the first stable release of the Waybar GTK4 should be looked like: 4.0.1. - The same versioning system now for example is used by Wine project.
So current 4.1.0 - meanse - Waybar 4 experimental 1 release without updates of the stable release
Once this approach is approved and separate branch is created it's possible to keep TODO list in this issue.
Thank you
Migration tasks
- Backlight
- Backlight/Slider
- Battery
- Bluetooth
- Cava
- CFFI
- Clock
- CPU
- Custom
- Disk
- DWL
- Gamemode
- Group
- Hyprland
- Idle Inhibitor
- Image
- JACK
- Keyboard State
- Language
- Memory
- MPD No guarantee
- MPRIS No guarantee
- Network
- Niri
- PulseAudio
- PulseAudio/Slider
- Privacy
- Sndio - need to check
- Systemd failed units
- River
- Sway
- WLR
- Temperature
- Tray - libdbusmenu is still in gtk3. Need to find another solution
- Taskbar
- UPower - fully rewritten
- WirePlumber No guarantee
- Workspaces
- User
Once Waybar is migrated need to do additional sync with the master in order to pick up all PR are done since migration process was going on
Dependencies:
- gtk4: missbehavior of the Gtk::Label tooltip
- gtk3 migration gtk4 Label
- gtk4 Label
Confirmed gtk4 - 4.17.0