add more spacing
[personal-kdebase.git] / workspace / kwin / notifications.h
blob5d7c3b0c62eb9236b056048800570326c7c536c7
1 /********************************************************************
2 KWin - the KDE window manager
3 This file is part of the KDE project.
5 Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
6 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 *********************************************************************/
22 #ifndef KWIN_NOTIFICATIONS_H
23 #define KWIN_NOTIFICATIONS_H
25 #include <knotification.h>
26 #include <stdlib.h>
27 #include <QString>
28 #include <QList>
30 namespace KWin
33 class Client;
35 class Notify
37 public:
39 enum Event
41 Activate,
42 Close,
43 Minimize,
44 UnMinimize,
45 Maximize,
46 UnMaximize,
47 OnAllDesktops,
48 NotOnAllDesktops,
49 New,
50 Delete,
51 TransNew,
52 TransDelete,
53 ShadeUp,
54 ShadeDown,
55 MoveStart,
56 MoveEnd,
57 ResizeStart,
58 ResizeEnd,
59 DemandAttentionCurrent,
60 DemandAttentionOther,
61 CompositingSlow,
62 DesktopChange = 100
65 static bool raise( Event, const QString& message = QString(), Client* c = NULL );
66 static void sendPendingEvents();
67 private:
68 struct EventData
70 QString event;
71 QString message;
72 long window;
73 KNotification::NotificationFlags flags;
75 static QList< EventData > pending_events;
78 } // namespace
80 #endif