2016-12-28 22:27:55 -05:00
# ifndef XWINDOWINTERFACE_H
2016-12-25 09:25:27 +02:00
# define XWINDOWINTERFACE_H
2016-12-29 00:37:53 -05:00
# include "abstractwindowinterface.h"
2016-12-25 09:25:27 +02:00
# include <QObject>
# include <KWindowInfo>
2016-12-29 00:37:53 -05:00
# include <Plasma>
2016-12-25 09:25:27 +02:00
2016-12-28 22:27:55 -05:00
namespace Latte {
2016-12-25 09:25:27 +02:00
2016-12-28 22:27:55 -05:00
class XWindowInterface : public AbstractWindowInterface {
2016-12-25 09:25:27 +02:00
Q_OBJECT
public :
2016-12-28 22:27:55 -05:00
XWindowInterface ( QQuickWindow * const view , QObject * parent ) ;
2016-12-30 16:28:39 -05:00
virtual ~ XWindowInterface ( ) ;
2016-12-25 09:25:27 +02:00
2016-12-28 22:27:55 -05:00
void setDockDefaultFlags ( ) override ;
2016-12-25 09:25:27 +02:00
2016-12-28 22:27:55 -05:00
WId activeWindow ( ) const override ;
2017-01-02 01:04:10 -05:00
WindowInfoWrap requestInfo ( WId wid ) const override ;
WindowInfoWrap requestInfoActive ( ) const override ;
bool isOnCurrentDesktop ( WId wid ) const override ;
const std : : list < WId > & windows ( ) const override ;
void setDockStruts ( const QRect & dockRect , Plasma : : Types : : Location location ) const override ;
void removeDockStruts ( ) const override ;
2016-12-25 09:25:27 +02:00
2016-12-29 00:37:53 -05:00
2016-12-25 09:25:27 +02:00
private :
2017-01-02 01:04:10 -05:00
bool isValidWindow ( const KWindowInfo & winfo ) const ;
2016-12-28 22:27:55 -05:00
void windowChangedProxy ( WId wid , NET : : Properties prop1 , NET : : Properties2 prop2 ) ;
2017-01-02 01:04:10 -05:00
WId m_desktopId ;
2016-12-25 09:25:27 +02:00
} ;
}
2016-12-28 22:27:55 -05:00
# endif // XWINDOWINTERFACE_H
2016-12-25 09:25:27 +02:00