Skip to content

Fix missing X11 fallback icons

Quoting the main commit:

Since commit 770231, StImageContent implements the GIcon interface, which
allowed us to represent all application icons as GIcon (app-info, X11 icon
property or themed fallback icon).

While that change made for a nicer ShellApp API, it did introduce a
conceptual issue in st_texture_cache_bind_cairo_surface_property():
GIcons usually represent static icons, while the ClutterContent
returned by that method updates automatically when the bound property
changes.

Address this by tracking the MetaWindow:icon property in ShellApp, and
update the fallback icon when it changes. With that, a GIcon object
always represents the same icon, and any icon change is reflected
by a corresponding GIcon change.

This fixes two cases of missing (or rather: empty) fallback icons: When a window doesn't set an icon (and we should therefore fall back to a generic themed icon), and when a window only sets its icon after we start managing it.

Fixes #3327 (closed)

Merge request reports