notifications.h
00001 /***************************************************************** 00002 KWin - the KDE window manager 00003 This file is part of the KDE project. 00004 00005 Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org> 00006 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org> 00007 00008 You can Freely distribute this program under the GNU General Public 00009 License. See the file "COPYING" for the exact licensing terms. 00010 ******************************************************************/ 00011 00012 #ifndef KWIN_NOTIFICATIONS_H 00013 #define KWIN_NOTIFICATIONS_H 00014 00015 #include <stdlib.h> 00016 #include <tqstring.h> 00017 #include <tqvaluelist.h> 00018 00019 namespace KWinInternal 00020 { 00021 00022 class Client; 00023 00024 class Notify 00025 { 00026 public: 00027 00028 enum Event 00029 { 00030 Activate, 00031 Close, 00032 Minimize, 00033 UnMinimize, 00034 Maximize, 00035 UnMaximize, 00036 OnAllDesktops, 00037 NotOnAllDesktops, 00038 New, 00039 Delete, 00040 TransNew, 00041 TransDelete, 00042 ShadeUp, 00043 ShadeDown, 00044 MoveStart, 00045 MoveEnd, 00046 ResizeStart, 00047 ResizeEnd, 00048 DemandAttentionCurrent, 00049 DemandAttentionOther, 00050 DesktopChange = 100 00051 }; 00052 00053 static bool raise( Event, const TQString& message = TQString::null, Client* c = NULL ); 00054 static bool makeDemandAttention( Event ); 00055 static void sendPendingEvents(); 00056 private: 00057 static TQString eventToName( Event ); 00058 struct EventData 00059 { 00060 TQString event; 00061 TQString message; 00062 long window; 00063 }; 00064 static TQValueList< EventData > pending_events; 00065 }; 00066 00067 } // namespace 00068 00069 #endif