Commit graph

10 commits

Author SHA1 Message Date
Vladimir Panteleev
a7a7660a49 fix(swaybar/dbusmenu): cache icon lookups to avoid repeated filesystem access
Add caching for icon lookups in menu items. Two new fields are added to
the menu item struct:
- icon_surface: cached icon surface loaded from icon_name
- icon_lookup_done: tracks whether icon lookup has been attempted

The icon is now looked up once and cached, rather than performing
filesystem access every time the menu is drawn. The cached surface is
properly cleaned up when the menu is destroyed.
2026-01-12 19:12:26 +01:00
Vladimir Panteleev
d0242fb6b4 fix(swaybar/dbusmenu): properly destroy cairo surface for icon data
Properly destroy cairo surface for icon data when freeing dbusmenu
items.
2026-01-12 19:12:26 +01:00
Vladimir Panteleev
2508a1d019 fix(swaybar/dbusmenu): fix null pointer dereference when loading icons
This change adds a null check when loading icons in the dbusmenu
code to avoid a segmentation fault when the icon surface fails to load.
2026-01-12 19:12:26 +01:00
blinxen
0f7853e074 Rename dbusmenu functions to adhere to the style guide 2025-10-13 21:55:52 +02:00
blinxen
47234b37da Limit recursion depth when trying to find items under dbus menu 2025-10-13 21:47:17 +02:00
blinxen
023e68a673 Initialize surface height with 0 before drawing 2025-10-13 21:26:39 +02:00
blinxen
6523a2379b Replace old usage of background-image.h
See https://github.com/swaywm/sway/pull/8405#discussion_r1817770755 and https://github.com/swaywm/sway/pull/8405#discussion_r1817770817
2025-10-13 01:35:12 +02:00
blinxen
56c4660ebc Remove trailing whitespace 2025-10-13 01:30:03 +02:00
Giancarlo Razzolini
f642064717 Apply suggestions from code review
Co-authored-by: Demi Marie Obenour <demiobenour@gmail.com>
2025-10-13 01:29:07 +02:00
Felix Weilbach
c3df548647 Tray: Implement dbusmenu
Co-authored-by: Ian Fan <ianfan0@gmail.com>
Co-authored-by: Nathan Schulte <nmschulte@gmail.com>

Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2025-10-13 01:28:23 +02:00