fix mouse jumping: query GDK pointer position at call time

Flutter's globalPosition is window-relative, not screen-absolute.
Now using gdk_device_get_position() on the native side to get
the actual screen coordinates at the moment startDrag/startResize
is called. Dart no longer passes coordinates — the native handler
queries the pointer directly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 09:47:44 +02:00
co-authored by Claude Opus 4.6
parent 5debc57d31
commit fa0adb0998
5 changed files with 20 additions and 27 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ class ColumnHat extends StatelessWidget {
Widget build(BuildContext context) {
final tokens = ClideTheme.of(context).surface;
return GestureDetector(
onPanStart: (d) => windowControls.startDrag(d.globalPosition),
onPanStart: (_) => windowControls.startDrag(),
child: Container(
height: hatHeight,
color: tokens.panelHeader,
+1 -1
View File
@@ -45,7 +45,7 @@ class ClideResizeBorder extends StatelessWidget {
return MouseRegion(
cursor: cursor,
child: GestureDetector(
onPanStart: (d) => windowControls.startResize(edge, d.globalPosition),
onPanStart: (_) => windowControls.startResize(edge),
child: const ColoredBox(color: Color(0x00000000)),
),
);