sway/include
Tim Jochen Kicker 81c31b0c4d swaybar/tray: replace icon lookup with libsfdo
Drops the in-tree icon theme parser and lookup logic in favor of
libsfdo-icon, which implements the icon theme spec.

Absolute icon paths are handled in swaybar itself with an access()
probe, since libsfdo intentionally doesn't deal with them. Pixmap
fallback still kicks in if load_image() fails on the absolute path.

KDE's IconThemePath is honored via sfdo_icon_theme_load_from() with
a per-SNI override theme that gets dropped when the property changes.

The min/max size cache per SNI is replaced by re-lookup when the
rendered size changes; libsfdo caches the parsed theme internally
and reads gtk's icon-theme.cache files, so this is cheap.

Theme switching at runtime is preserved via a new
tray_reload_icon_theme() called from parse_bar_config(). The old
code worked here implicitly because all themes were preloaded.

Closes: https://github.com/swaywm/sway/issues/8607
2026-05-06 00:03:49 +02:00
..
sway container: Move foreign toplevel enter/leave events to view 2026-04-12 13:46:38 +02:00
swaybar swaybar/tray: replace icon lookup with libsfdo 2026-05-06 00:03:49 +02:00
swaynag swaynag: Implement wp_cursor_shape_v1 2023-07-31 10:34:11 +02:00
cairo_util.h cairo: Replace <cairo/cairo.h> by <cairo.h> 2021-05-10 10:28:32 +02:00
gesture.h sway: add bindgesture command 2022-05-30 12:20:43 +02:00
ipc-client.h refactor: use JSON_MAX_DEPTH everywhere 2021-10-25 10:18:40 +02:00
ipc.h i3-compat: add GET_BINDING_STATE IPC command 2020-06-14 00:55:14 -04:00
list.h list.c: rename free_flat_list to list_free_items_and_destroy 2018-12-09 01:15:38 +00:00
log.h Use -fmacro-prefix-map to strip build path 2019-07-15 16:35:50 -04:00
loop.h Remove timerfd from loop implementation 2018-10-15 00:26:27 +10:00
meson.build Address review comments 2018-03-28 14:43:23 -04:00
pango.h pango: add printf attribute 2023-04-14 18:34:54 +02:00
pool-buffer.h cairo: Replace <cairo/cairo.h> by <cairo.h> 2021-05-10 10:28:32 +02:00
stringop.h stringop: move over has_prefix() 2025-01-07 16:35:31 +01:00
util.h Rename get_current_time_msec to get_current_time_in_msec and move to util.c 2025-06-16 11:26:26 +02:00