2025-03-26 23:35:39 +00:00
As the GTK3 and gtk-layer-shell crates are now deprecated, there is a need to move to GTK 4.
The `refactor/gtk-4` branch and PR [#112 ](https://github.com/JakeStanger/ironbar/pull/112 ) are tracking the code upgrade.
This page documents the port progress.
Assistance in the porting process is very much welcomed, no matter how small.
As many modules have not been ported, the default feature set will fail to compile.
It is therefore necessary to compile manually with `--no-default-features` , enabling only the working modules:
```shell
cargo run --no-default-features \
--features config+all,clock,cairo
```
A full list of feature flags can be found [here ](Compiling#features ).
## Core functionality
2025-03-28 20:25:07 +00:00
| Area | Status | Notes |
|-----------------|--------|-------------------------------------------------------------------------------------------------------|
| Bar | ✅ | |
| Popups | ⚠️ | GTK4 removed window resize event - always display in position zero. |
| Theming - CSS | ✅ | |
| Theming - Icons | ⚠️ | GTK4 does not support icon theming - always uses default theme. Image scaling may be incorrect. |
| Config - Format | ❌ ️ | Angle/justify properties have been removed from widgets and should now be controlled via CSS instead. |
2025-03-26 23:35:39 +00:00
## Modules
| Module | Status | Notes |
|-----------------|--------|------------------------------------------------------------------------------------------------------------------------------------------|
2025-01-30 20:09:48 -03:00
| Bindmode | ❌ | |
2025-03-26 23:35:39 +00:00
| Cairo | ✅ | |
2025-03-28 21:24:10 +00:00
| Clipboard | ✅ | |
2025-03-26 23:35:39 +00:00
| Clock | ✅ | |
2025-03-28 21:24:10 +00:00
| Custom | ✅ | |
2025-03-26 23:35:39 +00:00
| Focused | ✅ | |
2025-03-28 21:24:10 +00:00
| Keyboard | ✅ | |
2025-03-26 23:35:39 +00:00
| Label | ✅ | |
| Launcher | ❌ | |
| Music | ❌ | |
| Network Manager | ❌ | |
2025-03-27 14:34:16 +00:00
| Notifications | ✅ | |
2025-03-28 21:24:10 +00:00
| Script | ✅ | |
| SysInfo | ✅ | |
2025-03-26 23:35:39 +00:00
| Tray | ❌ | GTK4 removes widgets required to move the tray. No `libdbusmenu-gtk4` either. will need to manually re-create menus with custom widgets. |
| UPower | ❌ | |
| Volume | ❌ | |
2025-03-27 14:34:16 +00:00
| Workspaces | ❌ | |