export clientpopup mapping state and use it to skip mouse driven focus changes
BUG: 81743 FIXED-IN: 4.9 REVIEW: 104620
This commit is contained in:
parent
603eaca9d4
commit
7bdf96c2f3
2 changed files with 7 additions and 1 deletions
|
@ -879,7 +879,7 @@ void Client::enterNotifyEvent(XCrossingEvent* e)
|
||||||
}
|
}
|
||||||
#undef MOUSE_DRIVEN_FOCUS
|
#undef MOUSE_DRIVEN_FOCUS
|
||||||
|
|
||||||
if (options->focusPolicy() == Options::ClickToFocus)
|
if (options->focusPolicy() == Options::ClickToFocus || workspace()->windowMenuShown())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (options->isAutoRaise() && !isDesktop() &&
|
if (options->isAutoRaise() && !isDesktop() &&
|
||||||
|
|
|
@ -415,6 +415,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void showWindowMenu(int x, int y, Client* cl);
|
void showWindowMenu(int x, int y, Client* cl);
|
||||||
void showWindowMenu(QPoint pos, Client* cl);
|
void showWindowMenu(QPoint pos, Client* cl);
|
||||||
|
bool windowMenuShown();
|
||||||
|
|
||||||
void updateMinimizedOfTransients(Client*);
|
void updateMinimizedOfTransients(Client*);
|
||||||
void updateOnAllDesktopsOfTransients(Client*);
|
void updateOnAllDesktopsOfTransients(Client*);
|
||||||
|
@ -1039,6 +1040,11 @@ inline void Workspace::showWindowMenu(int x, int y, Client* cl)
|
||||||
showWindowMenu(QRect(QPoint(x, y), QPoint(x, y)), cl);
|
showWindowMenu(QRect(QPoint(x, y), QPoint(x, y)), cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool Workspace::windowMenuShown()
|
||||||
|
{
|
||||||
|
return popup && ((QWidget*)popup)->isVisible();
|
||||||
|
}
|
||||||
|
|
||||||
inline void Workspace::setWasUserInteraction()
|
inline void Workspace::setWasUserInteraction()
|
||||||
{
|
{
|
||||||
was_user_interaction = true;
|
was_user_interaction = true;
|
||||||
|
|
Loading…
Reference in a new issue