not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / kwin / unmanaged.h
blob42c4f9299a552ed3f1716ed0497986572cc6f684
1 /********************************************************************
2 KWin - the KDE window manager
3 This file is part of the KDE project.
5 Copyright (C) 2006 Lubos Lunak <l.lunak@kde.org>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *********************************************************************/
21 #ifndef KWIN_UNMANAGED_H
22 #define KWIN_UNMANAGED_H
24 #include <netwm.h>
26 #include "toplevel.h"
28 namespace KWin
31 class Unmanaged
32 : public Toplevel
34 Q_OBJECT
35 public:
36 Unmanaged( Workspace *ws );
37 bool windowEvent( XEvent* e );
38 void release();
39 bool track( Window w );
40 static void deleteUnmanaged( Unmanaged* c, allowed_t );
41 virtual int desktop() const;
42 virtual QPoint clientPos() const;
43 virtual QSize clientSize() const;
44 protected:
45 virtual void debug( kdbgstream& stream ) const;
46 virtual bool shouldUnredirect() const;
47 private:
48 virtual ~Unmanaged(); // use release()
49 // handlers for X11 events
50 void mapNotifyEvent( XMapEvent* e );
51 void unmapNotifyEvent( XUnmapEvent*e );
52 void configureNotifyEvent( XConfigureEvent* e );
55 } // namespace
57 #endif