[PR #112] [MERGED] The long road to GTK4 #3307

Closed
opened 2026-05-22 23:55:25 +01:00 by JakeStanger · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/JakeStanger/ironbar/pull/112
Author: @JakeStanger
Created: 4/21/2023
Status: Merged
Merged: 10/5/2025
Merged by: @JakeStanger

Base: masterHead: refactor/gtk-4


📝 Commits (1)

📊 Changes

66 files changed (+2244 additions, -1841 deletions)

View changed files

📝 .github/scripts/ubuntu_setup.sh (+6 -4)
📝 .github/workflows/build.yml (+5 -4)
📝 .github/workflows/docker.yml (+1 -1)
📝 Cargo.lock (+264 -360)
📝 Cargo.toml (+5 -7)
📝 README.md (+1 -1)
📝 docs/Compiling.md (+5 -11)
📝 docs/Configuration guide.md (+17 -3)
📝 docs/GTK4.md (+127 -44)
📝 docs/Styling guide.md (+1 -1)
📝 docs/_Sidebar.md (+1 -1)
📝 docs/modules/Clock.md (+8 -6)
📝 docs/modules/Menu.md (+15 -15)
📝 flake.lock (+3 -3)
📝 flake.nix (+2 -3)
📝 nix/package.nix (+6 -8)
📝 src/bar.rs (+55 -73)
📝 src/clients/tray.rs (+1 -1)
📝 src/clients/volume/mod.rs (+2 -5)
📝 src/config/common.rs (+93 -81)

...and 46 more files

📄 Description

GTK4 introduces a lot of breaking changes, mostly involving event handling. This PR will track the progress of the port. It's going to take me a while to get through it all, and this will be secondary to continuing bar development.

You need gtk4 and gtk4-layer-shell installed. These are normally available through your package mananger.

Progress documented here: https://github.com/JakeStanger/ironbar/wiki/gtk4

Resolves #933
Resolves #244
Resolves #900
Resolves #1091
Resolves #963
Resolves #1042
Resolves #1183

Closes #791


Huge shoutout to those that helped with the port:

  • Thanks to @tglman for porting the tray, upower, volume and network manager modules.
  • Thanks to @pinklifeart for porting the notifications module.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/JakeStanger/ironbar/pull/112 **Author:** [@JakeStanger](https://github.com/JakeStanger) **Created:** 4/21/2023 **Status:** ✅ Merged **Merged:** 10/5/2025 **Merged by:** [@JakeStanger](https://github.com/JakeStanger) **Base:** `master` ← **Head:** `refactor/gtk-4` --- ### 📝 Commits (1) - [`aa130d1`](https://github.com/JakeStanger/ironbar/commit/aa130d1b9f1ec8b2c5df7822081966a61071369d) feat: port to gtk4 ### 📊 Changes **66 files changed** (+2244 additions, -1841 deletions) <details> <summary>View changed files</summary> 📝 `.github/scripts/ubuntu_setup.sh` (+6 -4) 📝 `.github/workflows/build.yml` (+5 -4) 📝 `.github/workflows/docker.yml` (+1 -1) 📝 `Cargo.lock` (+264 -360) 📝 `Cargo.toml` (+5 -7) 📝 `README.md` (+1 -1) 📝 `docs/Compiling.md` (+5 -11) 📝 `docs/Configuration guide.md` (+17 -3) 📝 `docs/GTK4.md` (+127 -44) 📝 `docs/Styling guide.md` (+1 -1) 📝 `docs/_Sidebar.md` (+1 -1) 📝 `docs/modules/Clock.md` (+8 -6) 📝 `docs/modules/Menu.md` (+15 -15) 📝 `flake.lock` (+3 -3) 📝 `flake.nix` (+2 -3) 📝 `nix/package.nix` (+6 -8) 📝 `src/bar.rs` (+55 -73) 📝 `src/clients/tray.rs` (+1 -1) 📝 `src/clients/volume/mod.rs` (+2 -5) 📝 `src/config/common.rs` (+93 -81) _...and 46 more files_ </details> ### 📄 Description GTK4 introduces a lot of breaking changes, mostly involving event handling. This PR will track the progress of the port. It's going to take me a while to get through it all, and this will be secondary to continuing bar development. You need gtk4 and gtk4-layer-shell installed. These are normally available through your package mananger. Progress documented here: https://github.com/JakeStanger/ironbar/wiki/gtk4 Resolves #933 Resolves #244 Resolves #900 Resolves #1091 Resolves #963 Resolves #1042 Resolves #1183 Closes #791 --- Huge shoutout to those that helped with the port: - Thanks to @tglman for porting the tray, upower, volume and network manager modules. - Thanks to @pinklifeart for porting the notifications module. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
JakeStanger 2026-05-22 23:55:25 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#3307
No description provided.