mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 07:15:19 +01:00
[PR #1003] [MERGED] Overhaul .desktop and image resolver code #8113
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#8113
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/1003
Author: @JakeStanger
Created: 5/25/2025
Status: ✅ Merged
Merged: 5/25/2025
Merged by: @JakeStanger
Base:
master← Head:refactor/image📝 Commits (4)
ca524f1refactor: fix some strict clippy warnings3e55d87refactor: overhaul.desktopand image resolver systems3a0e102feat: changeicon_overridesto apply to all resolved images9270225chore(intellij): add test run config📊 Changes
40 files changed (+1878 additions, -669 deletions)
View changed files
➕
.idea/runConfigurations/Test.xml(+20 -0)📝
Cargo.toml(+1 -0)📝
docs/Configuration guide.md(+6 -6)📝
src/bar.rs(+3 -23)📝
src/channels.rs(+31 -0)📝
src/clients/networkmanager.rs(+1 -1)📝
src/clients/wayland/mod.rs(+1 -1)📝
src/config/layout.rs(+2 -4)📝
src/config/mod.rs(+6 -7)📝
src/desktop_file.rs(+296 -156)📝
src/image/gtk.rs(+58 -25)📝
src/image/mod.rs(+1 -1)📝
src/image/provider.rs(+276 -215)📝
src/ipc/server/ironvar.rs(+5 -6)📝
src/ironvar.rs(+1 -1)📝
src/main.rs(+27 -6)📝
src/modules/clipboard.rs(+2 -1)📝
src/modules/custom/image.rs(+9 -7)📝
src/modules/custom/mod.rs(+5 -5)📝
src/modules/focused.rs(+24 -23)...and 20 more files
📄 Description
This overhauls the
.desktopparser and image resolver code to greatly improve their performance.This is achieved by caching all of the following:
.desktopfile locations.desktopfile contentsPixmapsThe resolvers are fully async and only load data as required, including loading images without blocking the UI.
With the changes come a couple of new features:
icon_overridesoption now applies to ALL images across all modules, supporting all formats, making it much more powerful. For example you could seticon_overrides.steam = "/path/to/steam.jpg"oricon_overrides.'music/Pink Floyd/Dark Side of the Moon/cover.jpg' = "https://example.com/dsotm.jpg".BREAKING CHANGE: The PR moves the
icon_themeoption from the bar-level to the top-level. If setting a custom icon theme, this will need to be updated.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.