[GH-ISSUE #546] Tray icon color channels are being incorrectly rendered #5801

Closed
opened 2026-05-23 01:53:06 +01:00 by JakeStanger · 1 comment
Owner

Originally created by @rdnelson on GitHub (Apr 21, 2024).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/546

Describe the bug
The tray module is incorrectly rendering the color channels of the pixmaps provided by applications with tray icons.

To Reproduce
Steps to reproduce the behavior:

  1. Update the config to include the tray module (very large icons make it easier to see)
    type: tray
    icon_size: 128
    prefer_theme_icons: false
    
  2. Observe the tray icon in detail, and notice that it does not appear the same as the original icon viewed in an image viewer.

Expected behavior
The tray icon should be rendered the same way an image viewer would.

System information:

  • Distro: Arch Linux
  • Compositor: Hyprland
  • Ironbar version: f4e1e81

Configuration

start: []
center: []
end:
  - type: tray
    icon_size: 128
    prefer_theme_icons: true

Additional context
The GTK documentation here shows that the internal representation of their pixel data is RGBA, instead of the ARGB data that's being handled by modules/tray/icon.rs::get_image_from_pixmap

Screenshots
Rendered Icon:
2024-04-21T19:02:39,174565917-04:00

Original Icon (Before it was scaled to 22x22 and back):
logo

Originally created by @rdnelson on GitHub (Apr 21, 2024). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/546 **Describe the bug** The tray module is incorrectly rendering the color channels of the pixmaps provided by applications with tray icons. **To Reproduce** Steps to reproduce the behavior: 1. Update the config to include the tray module (very large icons make it easier to see) ```yaml type: tray icon_size: 128 prefer_theme_icons: false ``` 2. Observe the tray icon in detail, and notice that it does not appear the same as the original icon viewed in an image viewer. **Expected behavior** The tray icon should be rendered the same way an image viewer would. **System information:** - Distro: Arch Linux - Compositor: Hyprland - Ironbar version: f4e1e81 **Configuration** ```yaml start: [] center: [] end: - type: tray icon_size: 128 prefer_theme_icons: true ``` **Additional context** The GTK documentation [here](https://docs.gtk.org/gdk-pixbuf/class.Pixbuf.html#image-data) shows that the internal representation of their pixel data is RGBA, instead of the ARGB data that's being handled by `modules/tray/icon.rs::get_image_from_pixmap` **Screenshots** Rendered Icon: ![2024-04-21T19:02:39,174565917-04:00](https://github.com/JakeStanger/ironbar/assets/1231364/bb20eaf0-bf98-4754-b98e-edb36a5f45d8) Original Icon (Before it was scaled to 22x22 and back): ![logo](https://github.com/JakeStanger/ironbar/assets/1231364/ff01c5b3-77a0-4320-af7b-ba9a117d8df8)
JakeStanger 2026-05-23 01:53:06 +01:00
  • closed this issue
  • added the
    T:Bug
    label
Author
Owner

@JakeStanger commented on GitHub (Apr 24, 2024):

Can't believe nobody has spotted this before lol

<!-- gh-comment-id:2075724739 --> @JakeStanger commented on GitHub (Apr 24, 2024): Can't believe nobody has spotted this before lol
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#5801
No description provided.