diff --git a/tiling.cpp b/tiling.cpp
index 97e921a484..4abce34b90 100644
--- a/tiling.cpp
+++ b/tiling.cpp
@@ -29,6 +29,8 @@ along with this program. If not, see .
#include
#include
+#include
+#include
#include "lib/kdecoration.h"
@@ -110,25 +112,17 @@ void Workspace::removeTile( Client *c )
bool Workspace::tileable( Client *c )
{
- kDebug(1212) << c->caption();
+
+ kDebug(1212) << c->caption();
+ KWindowInfo info = KWindowSystem::windowInfo( c->window(), -1U, NET::WM2WindowClass );
+ kDebug(1212) << "WINDOW CLASS IS "<< info.windowClassClass();
+ if( info.windowClassClass() == "Plasma-desktop" )
+ {
+ return false;
+ }
// TODO: if application specific settings
// to ignore, put them here
- // as suggested by Lucas Murray
- // see Client::manage ( ~ line 270 of manage.cpp at time of writing )
- // This is useful to ignore plasma widget placing.
- // According to the ICCCM if an application
- // or user requests a certain geometry
- // respect it
- long msize;
- XSizeHints xSizeHint;
- XGetWMNormalHints(display(), c->window(), &xSizeHint, &msize);
- if( xSizeHint.flags & PPosition ||
- xSizeHint.flags & USPosition ) {
- kDebug(1212) << "Not tileable due to USPosition requirement";
- return false;
- }
-
if( !c->isNormalWindow() )
{
return false;
@@ -140,6 +134,7 @@ bool Workspace::tileable( Client *c )
return false;
}
+ kDebug() << "Tiling" << c;
return true;
}