[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: Aw: Re: setWindowIcon for QDialog
From: "Friedrich W. H. Kossebau" <kossebau () kde ! org>
Date: 2019-03-06 22:13:20
Message-ID: 3587532.H5jHSVP4cS () klux
[Download RAW message or body]
Hi,
allow me to chime in with my AFAIK, which though is confirmed by my quick look
at the code:
Am Dienstag, 5. März 2019, 18:21:00 CET schrieb Martin Flöser:
> Hi Alexander,
>
> according to the xprop output the _NET_WM_ICON property is not set. The
> method inside Qt responsible for this is:
> https://code.woboq.org/qt5/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp.h
> tml#_ZN10QXcbWindow13setWindowIconERK5QIcon
>
> This method is called indirectly from QWidget::setWindowIcon. I am
> pretty sure that it works as you can easily check by xprop any other Qt
> window. So the problem must be the icon. If I search for
> labplot-worksheet I find only an icon in size 22x22. Looking at the
> linked code, I notice that it's not one of the sizes Qt expects and also
> none of the sizes KWin expects, see
> https://cgit.kde.org/kwin.git/tree/client.cpp#n1583
Isn't the more relevant code here the one at the start of that method?
// First read icons from the window itself
const QString themedIconName = iconFromDesktopFile();
if (!themedIconName.isEmpty()) {
setIcon(QIcon::fromTheme(themedIconName));
return;
}
From what I remember, one of the issues with Wayland (and then also with KWin
& its custom X-equivalent "_KDE_NET_WM_DESKTOP_FILE") is that while title
properties for windows are supported, icons are not (something about graphics
resources and different metadata design *insert proper knowledge*). So the
window managers and running-app-instance managers take the icon name only from
the desktop file, no longer enabling to overwrite the icon for certain
windows.
Isn't this the issue still? At least I remember this vaguely from some time
ago.
> Am 2019-03-04 17:39, schrieb Alexander Semke:
> > not shown in the window bar, left to the window title. Please check
> > the attached screenshots. On windows the proper icon is shown, on
> > linux/kwin the applicaion icon is used.
> >
> > It's X. The output of xprop:
> >
> > _NET_WM_ICON_NAME(UTF8_STRING) =
> > _KDE_NET_WM_DESKTOP_FILE(UTF8_STRING) = "org.kde.labplot2"
> > _KDE_NET_WM_COLOR_SCHEME(STRING) =
> > "/usr/share/color-schemes/BreezeHighContrast.colors"
> > XdndAware(ATOM) = BITMAP
> > _KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 2840133529
> > WM_NAME(STRING) = "Import Data to Spreadsheet or Matrix"
> > _NET_WM_NAME(UTF8_STRING) = "Import Data to Spreadsheet or Matrix --
> > labplot2"
> > _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x7, 0x26, 0x1e, 0x3, 0x0
> > _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG,
> > _NET_WM_WINDOW_TYPE_NORMAL
> > _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
> > WM_CLIENT_LEADER(WINDOW): window id # 0x5000008
> >
> > WM_HINTS(WM_HINTS):
> > Client accepts input or input focus: True
> > Initial state is Normal State.
> >
> > _NET_WM_PID(CARDINAL) = 29202
> > _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 83886351
> > WM_CLASS(STRING) = "labplot2", "labplot2"
> > WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS,
> > _NET_WM_PING, _NET_WM_SYNC_REQUEST, _NET_WM_CONTEXT_HELP
> >
> > WM_NORMAL_HINTS(WM_SIZE_HINTS):
> > user specified location: 819, 262
> > user specified size: 536 by 711
> > program specified minimum size: 522 by 711
> > window gravity: Static
> >
> > P.S.: sorry for html and for the full-quote, writing from the
> > web-frontend...
> >
> > GESENDET: Montag, 04. März 2019 um 15:08 Uhr
> > VON: "David Edmundson" <david@davidedmundson.co.uk>
> > AN: kde-devel <kde-devel@kde.org>, "Kwin, NET API, kwin styles API,
> > kwin modules API" <kwin@kde.org>
> > BETREFF: Re: setWindowIcon for QDialog
> >
> > On Mon, Mar 4, 2019 at 1:49 PM Aleix Pol <aleixpol@kde.org> wrote:
> >> On Sun, Mar 3, 2019 at 11:00 AM Alexander Semke
> >
> > <alexander.semke@web.de> wrote:
> >> > With kwin, the specified icons are not shown
This quote sadly misses the possibly relevant initial " and I always get the
default application's icon shown."
Cheers
Friedrich
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic