diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.cpp kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.cpp --- kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.cpp 2013-06-29 04:10:44.307419346 +1100 +++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.cpp 2013-12-18 15:52:40.471486471 +1100 @@ -77,6 +77,7 @@ void LockWindow::initialize() { kapp->installX11EventFilter(this); + m_focused = false; XWindowAttributes rootAttr; QX11Info info; @@ -379,7 +380,10 @@ setCursor(Qt::ArrowCursor); } m_lockWindows.prepend(event->xmap.window); - fakeFocusIn(event->xmap.window); + if (!m_focused) { + m_focused = true; + fakeFocusIn(event->xmap.window); + } } } stayOnTop(); diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.h kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.h --- kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.h 2013-06-29 04:10:44.307419346 +1100 +++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.h 2013-12-18 15:50:13.111776760 +1100 @@ -67,6 +67,7 @@ QList m_windowInfo; QList m_lockWindows; QTimer *m_autoLogoutTimer; + bool m_focused; }; }