mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 09:15:22 +01:00
[PR #932] [MERGED] Fix compilation for many feature combinations #3861
Labels
No labels
A:Build
A:CI
A:Client
A:Config
A:Core
A:Documentation
A:Documentation
A:IPC
A:Testing
A:UX/UI
blocked
BREAKING CHANGE
duplicate
good first issue
GTK4
help wanted
invalid
M:Battery
M:Battery
M:Bindmode
M:Bluetooth
M:Brightness
M:Cairo
M:Clipboard
M:Clock
M:Clock
M:Custom
M:Focused
M:Keyboard
M:Launcher
M:Menu
M:Music
M:Music
M:Music
M:Network Manager
M:Notifications
M:SysInfo
M:Tray
M:Volume
M:Workspaces
partially resolved
P:Critical
P:High
P:Low
P:Medium
pull-request
T:Bug
T:Bug
T:Core Enhancement
T:Module Enhancement
T:New Module
T:Question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
JakeStanger/ironbar#3861
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/JakeStanger/ironbar/pull/932
Author: @Rodrigodd
Created: 4/9/2025
Status: ✅ Merged
Merged: 4/16/2025
Merged by: @JakeStanger
Base:
master← Head:fix/cfg-features📝 Commits (10+)
20a7da9Fix compilation for many feature combinations8b17142fix: keep Mpris as the default music player typeea4903bfix: update futures-lite comment887990cfix: remove redundant "clap" feature dependency from "cli"598c3ecfix: don't make IPC a dependency of sysinfo module21e7b57refactor: move serde_json feature to "shared" section1b4202erefactor: avoid cfgs inside listen_workspace_eventsab3de0erefactor: sort multiline cfg any's4d3c0c6Revert "refactor: avoid cfgs inside listen_workspace_events"dfdd0bfrefactor: split listen_workspace_events in more functions📊 Changes
11 files changed (+340 additions, -242 deletions)
View changed files
📝
Cargo.toml(+9 -9)📝
src/clients/compositor/hyprland.rs(+253 -212)📝
src/clients/compositor/mod.rs(+18 -12)📝
src/clients/compositor/sway.rs(+7 -2)📝
src/clients/mod.rs(+4 -1)📝
src/clients/music/mod.rs(+4 -0)📝
src/clients/sysinfo.rs(+5 -1)📝
src/image/gtk.rs(+18 -2)📝
src/image/mod.rs(+9 -2)📝
src/modules/music/config.rs(+11 -1)📝
src/modules/music/mod.rs(+2 -0)📄 Description
This is a extended fix for the issue I pointed out in https://github.com/JakeStanger/ironbar/pull/855#issuecomment-2632505664 and tracked by the issue #862 which was not fully fixed by #910. This also fixes many issues with other features.
I use the following shell script to test the changes:
Some notes:
config+yamlas a feature to all checks, because without ituniversal-configfails to compile (but that is fixed by https://github.com/JakeStanger/universal-config-rs/pull/8).keyboard+swayandworkspace+hyprlandto only enable the implementation of the module for the given compositor when those specific features are enable, and not when onlykeyboardandswayare both enabled, for example.#[cfg(any(feature = "keyboard+hyprland", feature = "workspaces+hyprland"))]with a feature for each compositor (like#[cfg(feature = "hyprland")in that case). This will scale better when more compositor aware modules are added (like mybindmode+swayandbindmode+hyprlandin the near future).🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.