kdetrayproxy.h

00001 /*
00002  *   Copyright (C) 2004 Lubos Lunak <l.lunak@kde.org>
00003  *
00004  *   This program is free software; you can redistribute it and/or modify
00005  *   it under the terms of the GNU General Public License as published by
00006  *   the Free Software Foundation; either version 2 of the License, or
00007  *   (at your option) any later version.
00008  *
00009  *   This program is distributed in the hope that it will be useful,
00010  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *   GNU General Public License for more details.
00013  *
00014  *   You should have received a copy of the GNU General Public License
00015  *   along with this program; if not, write to the Free Software
00016  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00017  *
00018  */
00019 
00020 #ifndef _KDE_TRAY_PROXY_H_
00021 #define _KDE_TRAY_PROXY_H_
00022 
00023 #include <qvaluelist.h>
00024 #include <kmanagerselection.h>
00025 #include <kwinmodule.h>
00026 #include <qwidget.h>
00027 
00028 class KDETrayProxy
00029     : public QWidget
00030     {
00031     Q_OBJECT
00032     public:
00033         KDETrayProxy();
00034     public slots:
00035         void windowAdded( WId );
00036         void newOwner( Window );
00037     protected:
00038         virtual bool x11Event( XEvent* );
00039     private:
00040         void dockWindow( Window w, Window owner );
00041         void withdrawWindow( Window w );
00042         static Atom makeSelectionAtom();
00043         KSelectionWatcher selection;
00044         KWinModule module;
00045         QValueList< Window > pending_windows;
00046         QValueList< Window > tray_windows;
00047         QMap< Window, unsigned long > docked_windows;
00048     };
00049 
00050 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys