1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-17 14:51:04 +02:00
ironbar/docs/GTK4.md
Jake Stanger a9508e6541
Merge pull request #855 from Rodrigodd/feat/module-bindmode
feat: rename sway_mode to bindmode and add Hyprland support
2025-04-22 23:40:47 +01:00

49 lines
4.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 | ⚠️ | Display in correct position but suffer from minor focus-steal issue on close, and other edge cases. |
| 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. |
## Modules
| Module | Status | Notes |
|-----------------|--------|------------------------------------------------------------------------------------------------------------------------------------------|
| Bindmode | ❌ | |
| Cairo | ✅ | |
| Clipboard | ✅ | |
| Clock | ✅ | |
| Custom | ✅ | |
| Focused | ✅ | |
| Keyboard | ✅ | |
| Label | ✅ | |
| Launcher | ❌ | |
| Music | ✅ | |
| Network Manager | ❌ | |
| Notifications | ✅ | |
| Script | ✅ | |
| 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 | ✅ | |