summaryrefslogtreecommitdiffstats
path: root/kwin/notifications.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kwin/notifications.cpp')
-rw-r--r--kwin/notifications.cpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/kwin/notifications.cpp b/kwin/notifications.cpp
deleted file mode 100644
index 288cbd029..000000000
--- a/kwin/notifications.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*****************************************************************
- KWin - the KDE window manager
- This file is part of the KDE project.
-
-Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
-Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
-
-You can Freely distribute this program under the GNU General Public
-License. See the file "COPYING" for the exact licensing terms.
-******************************************************************/
-
-#include "notifications.h"
-#include <knotifyclient.h>
-
-#include "client.h"
-
-namespace KWinInternal
-{
-
-TQString Notify::eventToName( Event e )
- {
- TQString event;
- switch ( e )
- {
- case Activate:
- event = "activate";
- break;
- case Close:
- event = "close";
- break;
- case Minimize:
- event = "minimize";
- break;
- case UnMinimize:
- event = "unminimize";
- break;
- case Maximize:
- event = "maximize";
- break;
- case UnMaximize:
- event = "unmaximize";
- break;
- case OnAllDesktops:
- event = "on_all_desktops";
- break;
- case NotOnAllDesktops:
- event = "not_on_all_desktops";
- break;
- case New:
- event = "new";
- break;
- case Delete:
- event = "delete";
- break;
- case TransNew:
- event = "transnew";
- break;
- case TransDelete:
- event = "transdelete";
- break;
- case ShadeUp:
- event = "shadeup";
- break;
- case ShadeDown:
- event = "shadedown";
- break;
- case MoveStart:
- event = "movestart";
- break;
- case MoveEnd:
- event = "moveend";
- break;
- case ResizeStart:
- event = "resizestart";
- break;
- case ResizeEnd:
- event = "resizeend";
- break;
- case DemandAttentionCurrent:
- event = "demandsattentioncurrent";
- break;
- case DemandAttentionOther:
- event = "demandsattentionother";
- break;
- default:
- if ((e > DesktopChange) && (e <= DesktopChange+20))
- {
- event = TQString("desktop%1").arg(e-DesktopChange);
- }
- break;
- }
- return event;
- }
-
-static bool forgetIt = FALSE;
-TQValueList< Notify::EventData > Notify::pending_events;
-
-bool Notify::raise( Event e, const TQString& message, Client* c )
- {
- if ( forgetIt )
- return false; // no connection was possible, don't try each time
-
- TQString event = eventToName( e );
- if ( !event )
- return false;
-
-// There may be a deadlock if KNotify event is sent while KWin has X grabbed.
-// If KNotify is not running, KLauncher may do X requests (startup notification, whatever)
-// that will block it. And KNotifyClient waits for the launch to succeed, which means
-// KLauncher waits for X and KWin waits for KLauncher. So postpone events in such case.
- if( grabbedXServer())
- {
- EventData data;
- data.event = event;
- data.message = message;
- data.window = c ? c->window() : 0;
- pending_events.append( data );
- return true;
- }
-
- forgetIt= !KNotifyClient::event( c ? c->window() : 0, event, message );
- return !forgetIt;
- }
-
-void Notify::sendPendingEvents()
- {
- while( !pending_events.isEmpty())
- {
- EventData data = pending_events.first();
- pending_events.pop_front();
- if( !forgetIt )
- forgetIt= !KNotifyClient::event( data.window, data.event, data.message );
- }
- }
-
-bool Notify::makeDemandAttention( Event e )
- {
- TQString event = eventToName( e );
- if( !event )
- return false;
- int rep = KNotifyClient::getPresentation( event );
- if( rep == -1 )
- rep = KNotifyClient::getDefaultPresentation( event );
- return rep != -1 && ( rep & KNotifyClient::Taskbar );
- }
-
-} // namespace