[kstyle] Disable window move on Wayland

Unfortunately we cannot support moving windows from the style on Wayland
(yet). To move a window we need the (Xdg)ShellSurface and the wl_seat.
Through the integration plugin we can get the ShellSurface, but not the
seat. Thus we cannot invoke the feature through KWayland.

We either need to extend the native interface and/or extend QWindow to
expose a startSystemMove (QPlatformWindow already supports a
startSystemResize).

REVIEW: 127301
wilder-pre-rebase
Martin Gräßlin 10 years ago
parent 331a7d7f1e
commit f052173ddb
  1. 6
      kstyle/breezewindowmanager.cpp

@ -570,6 +570,12 @@ namespace Breeze
bool WindowManager::canDrag( QWidget* widget, QWidget* child, const QPoint& position )
{
// do not start drag on Wayland, this is not yet supported
// To implement integration with KWayland is required
// and QtWayland must support getting the wl_seat.
// Other option would be adding support to Qt for starting a move
if( Helper::isWayland() ) return false;
// retrieve child at given position and check cursor again
if( child && child->cursor().shape() != Qt::ArrowCursor ) return false;

Loading…
Cancel
Save