do not switch desktop on resizing windows

REVIEW: 123599
remotes/origin/Plasma/5.3
Thomas Lübking 11 years ago
parent 7a7d79a168
commit 5d09eaae1f
  1. 5
      autotests/mock_client.cpp
  2. 1
      autotests/mock_client.h
  3. 5
      screenedge.cpp

@ -85,6 +85,11 @@ void Client::setHiddenInternal(bool set)
m_hiddenInternal = set;
}
bool Client::isResize() const
{
return false;
}
void Client::setGeometry(const QRect &rect)
{
m_geometry = rect;

@ -38,6 +38,7 @@ public:
bool isActive() const;
bool isFullScreen() const;
bool isHiddenInternal() const;
bool isResize() const;
QRect geometry() const;
void setActive(bool active);

@ -188,7 +188,8 @@ void Edge::handle(const QPoint &cursorPos)
unreserve();
return;
}
if ((edges()->isDesktopSwitchingMovingClients() && Workspace::self()->getMovingClient()) ||
Client *movingClient = Workspace::self()->getMovingClient();
if ((edges()->isDesktopSwitchingMovingClients() && movingClient && !movingClient->isResize()) ||
(edges()->isDesktopSwitching() && isScreenEdge())) {
// always switch desktops in case:
// moving a Client and option for switch on client move is enabled
@ -196,7 +197,7 @@ void Edge::handle(const QPoint &cursorPos)
switchDesktop(cursorPos);
return;
}
if (Workspace::self()->getMovingClient()) {
if (movingClient) {
// if we are moving a window we don't want to trigger the actions. This just results in
// problems, e.g. Desktop Grid activated or screen locker activated which just cannot
// work as we hold a grab.

Loading…
Cancel
Save