1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-03-21 10:53:31 +01:00

Fix for ignore client supplied icon attributes

As mentioned on the WMaker user mailing list some time ago
https://groups.google.com/g/wmaker-user/c/95M_pb_Qlbs/m/6qJLJSqoAwAJ
The Ignore client supplied icon from the windows attributes is not working.
That's especially visible with firefox and thunderbird when they are using
NET_WM_ICON to push the embedded icon.
That patch is making sure to ignore the embedded icon if the user defined one.
This commit is contained in:
David Maciejak
2025-12-29 09:32:31 -05:00
committed by Carlos R. Mafra
parent 4392fdc291
commit a4a6e65ca9
2 changed files with 18 additions and 14 deletions

View File

@@ -1186,6 +1186,8 @@ static void create_appicon_from_dock(WWindow *wwin, WApplication *wapp, Window m
wapp->app_icon->running = 1; wapp->app_icon->running = 1;
wapp->app_icon->icon->owner = mainw; wapp->app_icon->icon->owner = mainw;
if (!WFLAGP(wwin, always_user_icon)) {
if (mainw->wm_hints && (mainw->wm_hints->flags & IconWindowHint)) if (mainw->wm_hints && (mainw->wm_hints->flags & IconWindowHint))
wapp->app_icon->icon->icon_win = mainw->wm_hints->icon_window; wapp->app_icon->icon->icon_win = mainw->wm_hints->icon_window;
@@ -1196,6 +1198,7 @@ static void create_appicon_from_dock(WWindow *wwin, WApplication *wapp, Window m
wAppIconPaint(wapp->app_icon); wAppIconPaint(wapp->app_icon);
} }
} }
}
/* Add the appicon to the appiconlist */ /* Add the appicon to the appiconlist */
static void add_to_appicon_list(WScreen *scr, WAppIcon *appicon) static void add_to_appicon_list(WScreen *scr, WAppIcon *appicon)

View File

@@ -454,8 +454,8 @@ void wClientCheckProperty(WWindow * wwin, XPropertyEvent * event)
/* update icon */ /* update icon */
if ((wwin->wm_hints->flags & IconPixmapHint) if ((wwin->wm_hints->flags & IconPixmapHint)
|| (wwin->wm_hints->flags & IconWindowHint)) { || (wwin->wm_hints->flags & IconWindowHint)) {
if (!WFLAGP(wwin, always_user_icon)) {
WApplication *wapp; WApplication *wapp;
if (wwin->flags.miniaturized && wwin->icon) if (wwin->flags.miniaturized && wwin->icon)
wIconUpdate(wwin->icon); wIconUpdate(wwin->icon);
@@ -465,6 +465,7 @@ void wClientCheckProperty(WWindow * wwin, XPropertyEvent * event)
wAppIconPaint(wapp->app_icon); wAppIconPaint(wapp->app_icon);
} }
} }
}
if (wwin->wm_hints->flags & UrgencyHint) if (wwin->wm_hints->flags & UrgencyHint)
wwin->flags.urgent = 1; wwin->flags.urgent = 1;