|
|
|
@ -22,7 +22,7 @@
|
|
|
|
|
#include <tdeapplication.h>
|
|
|
|
|
#include <kimageeffect.h>
|
|
|
|
|
#include <kpixmapio.h>
|
|
|
|
|
#include <twinmodule.h>
|
|
|
|
|
#include <netwm.h>
|
|
|
|
|
#include <twin.h>
|
|
|
|
|
#include <kdebug.h>
|
|
|
|
|
#include <netwm.h>
|
|
|
|
@ -38,11 +38,37 @@ static TQString wallpaperForDesktop(int desktop)
|
|
|
|
|
return DCOPRef("kdesktop", "KBackgroundIface").call("currentWallpaper", desktop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DesktopWallpaperWatcher::DesktopWallpaperWatcher() : TQWidget(), m_old_current_desktop(-1)
|
|
|
|
|
{
|
|
|
|
|
kapp->installX11EventFilter( this );
|
|
|
|
|
(void ) kapp->desktop(); //trigger desktop widget creation to select root window events
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DesktopWallpaperWatcher::~DesktopWallpaperWatcher()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool DesktopWallpaperWatcher::x11Event( XEvent * ev )
|
|
|
|
|
{
|
|
|
|
|
if ( ev->xany.window == tqt_xrootwin() ) {
|
|
|
|
|
NETRootInfo rinfo( tqt_xdisplay(), NET::CurrentDesktop );
|
|
|
|
|
rinfo.activate();
|
|
|
|
|
|
|
|
|
|
if ( rinfo.currentDesktop() != m_old_current_desktop ) {
|
|
|
|
|
emit currentDesktopChanged( rinfo.currentDesktop() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_old_current_desktop = rinfo.currentDesktop();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class KMyRootPixmapData
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
#ifdef Q_WS_X11
|
|
|
|
|
KWinModule *twin;
|
|
|
|
|
DesktopWallpaperWatcher *twin;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -74,7 +100,7 @@ void KMyRootPixmap::init()
|
|
|
|
|
// connect(m_pTimer, TQT_SIGNAL(timeout()), TQT_SLOT(repaint()));
|
|
|
|
|
|
|
|
|
|
#ifdef Q_WS_X11
|
|
|
|
|
d->twin = new KWinModule( this );
|
|
|
|
|
d->twin = new DesktopWallpaperWatcher();
|
|
|
|
|
connect(d->twin, TQT_SIGNAL(currentDesktopChanged(int)), TQT_SLOT(desktopChanged(int)));
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@ -228,5 +254,5 @@ void KMyRootPixmap::updateBackground( TDESharedPixmap *spm )
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// #include "krootpixmap.moc"
|
|
|
|
|
#include "myrootpixmap.moc"
|
|
|
|
|
#endif
|
|
|
|
|