1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-16 14:21:03 +02:00

docs: add info on gtk 4 port

This commit is contained in:
Jake Stanger 2025-03-26 23:35:39 +00:00
parent 355cf39446
commit 3e5fcdc86c
No known key found for this signature in database
GPG key ID: C51FC8F9CB0BEA61
2 changed files with 49 additions and 0 deletions

48
docs/GTK4.md Normal file
View file

@ -0,0 +1,48 @@
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
| 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. |
## Modules
| Module | Status | Notes |
|-----------------|--------|------------------------------------------------------------------------------------------------------------------------------------------|
| Cairo | ✅ | |
| Clipboard | ❌ | |
| Clock | ✅ | |
| Custom | ❌ | |
| Focused | ✅ | |
| Keyboard | ❌ | |
| Label | ✅ | |
| Launcher | ❌ | |
| Music | ❌ | |
| Network Manager | ❌ | |
| Notifications | ❌ | |
| Script | ❌ | |
| Sway Mode | ❌ | |
| SysInfo | ❌ | |
| 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 | ❌ | |
| Workspaces | ❌ | |

View file

@ -4,6 +4,7 @@
- [Configuration guide](configuration-guide)
- [Images](images)
- [Styling guide](styling-guide)
- [GTK 4 Port](gtk4)
# Dynamic content