Testapp to show all icons provided by a window.
svn path=/trunk/KDE/kdebase/workspace/; revision=918189
This commit is contained in:
parent
de4dca3940
commit
ed42331c2e
2 changed files with 55 additions and 1 deletions
|
@ -7,8 +7,14 @@ add_subdirectory( decobenchmark )
|
||||||
|
|
||||||
set(test_gravity_SRCS test_gravity.cpp )
|
set(test_gravity_SRCS test_gravity.cpp )
|
||||||
|
|
||||||
|
|
||||||
kde4_add_executable(test_gravity ${test_gravity_SRCS})
|
kde4_add_executable(test_gravity ${test_gravity_SRCS})
|
||||||
|
|
||||||
target_link_libraries(test_gravity ${KDE4_KDECORE_LIBS} )
|
target_link_libraries(test_gravity ${KDE4_KDECORE_LIBS} )
|
||||||
|
|
||||||
|
########### next target ###############
|
||||||
|
|
||||||
|
set(show_icons_SRCS show_icons.cpp )
|
||||||
|
|
||||||
|
kde4_add_executable(show_icons ${show_icons_SRCS})
|
||||||
|
|
||||||
|
target_link_libraries(show_icons ${KDE4_KDEUI_LIBS} )
|
||||||
|
|
48
tools/show_icons.cpp
Normal file
48
tools/show_icons.cpp
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
#include <kcmdlineargs.h>
|
||||||
|
#include <kapplication.h>
|
||||||
|
#include <kdebug.h>
|
||||||
|
#include <kaboutdata.h>
|
||||||
|
#include <kwindowsystem.h>
|
||||||
|
#include <qlabel.h>
|
||||||
|
#include <qgridlayout.h>
|
||||||
|
#include <netwm.h>
|
||||||
|
|
||||||
|
int main( int argc, char* argv[] )
|
||||||
|
{
|
||||||
|
KAboutData about( "a", "b", ki18n( "c" ), "d" );
|
||||||
|
KCmdLineArgs::init( argc, argv, &about );
|
||||||
|
KCmdLineOptions args;
|
||||||
|
args.add( "window <n>", ki18n( "Window to show icons for" ));
|
||||||
|
KCmdLineArgs::addCmdLineOptions( args );
|
||||||
|
KApplication app;
|
||||||
|
QWidget w;
|
||||||
|
QGridLayout l( &w );
|
||||||
|
l.setSpacing( 5 );
|
||||||
|
WId window = KCmdLineArgs::parsedArgs()->getOption( "window" ).toLong();
|
||||||
|
NETWinInfo info( QX11Info::display(), window, QX11Info::appRootWindow(), NET::WMIcon );
|
||||||
|
const int* sizes = info.iconSizes();
|
||||||
|
int i = 0;
|
||||||
|
for(;
|
||||||
|
sizes[ i * 2 ] != 0;
|
||||||
|
++i )
|
||||||
|
{
|
||||||
|
int width = sizes[ i * 2 ];
|
||||||
|
int height = sizes[ i * 2 + 1 ];
|
||||||
|
l.addWidget( new QLabel( QString( "EWMH: %1x%2" ).arg( width ).arg( height ), &w ), 0, i );
|
||||||
|
QLabel* ll = new QLabel( &w );
|
||||||
|
ll->setPixmap( KWindowSystem::icon( window, width, height, KWindowSystem::NETWM ));
|
||||||
|
l.addWidget( ll, 1, i, Qt::AlignCenter );
|
||||||
|
}
|
||||||
|
QLabel* ll;
|
||||||
|
l.addWidget( new QLabel( "ICCCM", &w ), 0, i );
|
||||||
|
ll = new QLabel( &w );
|
||||||
|
ll->setPixmap( KWindowSystem::icon( window, -1, -1, KWindowSystem::WMHints ));
|
||||||
|
l.addWidget( ll, 1, i, Qt::AlignCenter );
|
||||||
|
++i;
|
||||||
|
l.addWidget( new QLabel( "CLASS", &w ), 0, i );
|
||||||
|
ll = new QLabel( &w );
|
||||||
|
ll->setPixmap( KWindowSystem::icon( window, -1, -1, KWindowSystem::WMHints ));
|
||||||
|
l.addWidget( ll, 1, i, Qt::AlignCenter );
|
||||||
|
w.show();
|
||||||
|
return app.exec();
|
||||||
|
}
|
Loading…
Reference in a new issue