diff --git a/sm.cpp b/sm.cpp index 87d605d45b..715126752a 100644 --- a/sm.cpp +++ b/sm.cpp @@ -11,7 +11,6 @@ License. See the file "COPYING" for the exact licensing terms. #include "sm.h" -//#include #include #include #include @@ -23,6 +22,7 @@ License. See the file "COPYING" for the exact licensing terms. #include "client.h" #include #include +#include namespace KWinInternal { @@ -257,6 +257,28 @@ bool Workspace::sessionInfoWindowTypeMatch( Client* c, SessionInfo* info ) return info->windowType == c->windowType(); } +// maybe needed later +#if 0 +// KMainWindow's without name() given have WM_WINDOW_ROLE in the form +// of -mainwindow# +// when comparing them for fake session info, it's probably better to check +// them without the trailing number +bool Workspace::windowRoleMatch( const QByteArray& role1, const QByteArray& role2 ) + { + if( role1.isEmpty() && role2.isEmpty()) + return true; + int pos1 = role1.find( '#' ); + int pos2 = role2.find( '#' ); + bool ret; + if( pos1 < 0 || pos2 < 0 || pos1 != pos2 ) + ret = role1 == role2; + else + ret = qstrncmp( role1, role2, pos1 ) == 0; + kDebug() << "WR:" << role1 << ":" << pos1 << ":" << role2 << ":" << pos2 << ":::" << ret << endl; + return ret; + } +#endif + static const char* const window_type_names[] = { "Unknown", "Normal" , "Desktop", "Dock", "Toolbar", "Menu", "Dialog",