Re: Aw: Re: setWindowIcon for QDialog
Martin Flöser <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin,gmane.comp.kde.devel.general |
|---|---|
| Message-ID | <[email protected]> |
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.html#_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 My suggestion is to try whether any other icon works. And if it does so, ensure that all relevant icon sizes are available for the labplot-worksheet. Cheer Martin 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" <[email protected]> > AN: kde-devel <[email protected]>, "Kwin, NET API, kwin styles API, > kwin modules API" <[email protected]> > BETREFF: Re: setWindowIcon for QDialog > On Mon, Mar 4, 2019 at 1:49 PM Aleix Pol <[email protected]> wrote: >> >> On Sun, Mar 3, 2019 at 11:00 AM Alexander Semke > <[email protected]> wrote: >> > >> > Hi, >> > >> > in LabPlot we have couple of modal dialogs, created on the heap > and shown with >> > dlg->exec(). The dialog icon is set in the constructor of the > dialog via >> > QDialog::setWindowIcon(), e.g. >> > > setWindowIcon(QIcon::fromTheme(QLatin1String("labplot-worksheet"))); >> > >> > The icon is set/handled by the window manager if I understand this > correctly. >> > With kwin, the specified icons are not shown > > Not shown where exactly? > Also X or xwayland? > Does running xprop and clicking on the window show the correct icon?