For wayland we override StateDragging and deal in QDrag instead
but some spurious mouse event got in and were handled in the base
class.
Fixes a crash when receiving mouse move during a drag
Otherwise we stop receiving drag moves.
If we're dragging a window we're absolutely sure that user code
won't be interested.
As reproduced by using graphic views.
So it's easier for users to find that they need a C++17 compiler.
Won't add exact compiler versions as I have no idea which gcc and which
clang version introduced such support.
Fixes#296
Since you need to build kddw before building the examples.
As a drive-by, added a mention to X11Extras.
Won't mention any package names as that's distro dependent and the amount
of distros is open ended. Would rather remove our current mentions of package names
to make it consistent.
Fixes#297
EGLFS doesn't honour that the floating windows should be
on top and will make the floating windows go behind.
It's also unneeded to raise it on eglfs, since it's fullscreen.
The application developer might now want to show some segments.
Now he can use Config::setDropIndicatorAllowedFunc(), which previously
only worked for classic indicators
So the lambda can have more advanced usage and inspect the
target layout before allowing or disallowing the drop.
For our use case, we want to limit max 3 dock widgets side by side,
for example.
When dragging a maximized window we show normal, but we can
only start moving it when the window managers acknowledges the new
state. The state in QWidget isn't reliable.
QWidget::windowStateChanged isn't useful as it's emitted once sync
and another async, with the same value. Only the async one is useful
as it will represent the real window manager state. Then we can do
further moves.
The QWindow one happens to be good (async), so use that one instead.
Since our workaround isn't an atomic operation, each dock widget
was saving its new tab index while we were in the middle of a restore.
So be sure we set their correct index and restore "current" at the end.
Fixes#279
Replaced them with CodeLLDB based launchers.
This allows to not depend on binary-blob from microsoft and reduces
having to have 2 configs, now macOS uses the same one as Linux.