diff --git a/effects/logout.cpp b/effects/logout.cpp index b25b6da241..419e4783d0 100644 --- a/effects/logout.cpp +++ b/effects/logout.cpp @@ -33,6 +33,13 @@ LogoutEffect::LogoutEffect() : progress( 0 ) , logout_window( NULL ) { + char net_wm_cm_name[ 100 ]; + sprintf( net_wm_cm_name, "_NET_WM_CM_S%d", DefaultScreen( display())); + Atom net_wm_cm = XInternAtom( display(), net_wm_cm_name, False ); + Window sel = XGetSelectionOwner( display(), net_wm_cm ); + Atom hack = XInternAtom( display(), "_KWIN_LOGOUT_EFFECT", False ); + XChangeProperty( display(), sel, hack, hack, 8, PropModeReplace, (unsigned char*)&hack, 1 ); + // the atom is not removed when effect is destroyed, this is temporary anyway } void LogoutEffect::prePaintScreen( ScreenPrePaintData& data, int time )