1
#include <kcmdlineargs.h>
2
#include <kapplication.h>
4
#include <kaboutdata.h>
5
#include <kwindowsystem.h>
7
#include <qgridlayout.h>
10
int main(int argc, char* argv[])
12
KAboutData about("a", "b", ki18n("c"), "d");
13
KCmdLineArgs::init(argc, argv, &about);
15
args.add("window <n>", ki18n("Window to show icons for"));
16
KCmdLineArgs::addCmdLineOptions(args);
21
WId window = KCmdLineArgs::parsedArgs()->getOption("window").toLong();
22
NETWinInfo info(QX11Info::display(), window, QX11Info::appRootWindow(), NET::WMIcon);
23
const int* sizes = info.iconSizes();
28
int width = sizes[ i * 2 ];
29
int height = sizes[ i * 2 + 1 ];
30
l.addWidget(new QLabel(QString("EWMH: %1x%2").arg(width).arg(height), &w), 0, i);
31
QLabel* ll = new QLabel(&w);
32
ll->setPixmap(KWindowSystem::icon(window, width, height, KWindowSystem::NETWM));
33
l.addWidget(ll, 1, i, Qt::AlignCenter);
36
l.addWidget(new QLabel("ICCCM", &w), 0, i);
38
ll->setPixmap(KWindowSystem::icon(window, -1, -1, KWindowSystem::WMHints));
39
l.addWidget(ll, 1, i, Qt::AlignCenter);
41
l.addWidget(new QLabel("CLASS", &w), 0, i);
43
ll->setPixmap(KWindowSystem::icon(window, -1, -1, KWindowSystem::WMHints));
44
l.addWidget(ll, 1, i, Qt::AlignCenter);