fix(electrobun): X11 XMoveResizeWindow bypass for resize (no GTK involvement)
begin_resize_drag + XUngrabPointer still fails because GTK's layout cycle re-asserts WebView preferred size, fighting the WM resize. New approach: JS mousemove → XMoveResizeWindow via libX11.so.6 FFI. Completely bypasses GTK size negotiation. GTK only receives ConfigureNotify after the X server has already resized the window. Added: x11SetFrame() using gdk_x11_display_get_xdisplay + gdk_x11_window_get_xid + XMoveResizeWindow.
This commit is contained in:
parent
058ae563d5
commit
0e6408a447
3 changed files with 98 additions and 10 deletions
|
|
@ -161,6 +161,13 @@ const rpc = BrowserView.defineRPC<PtyRPCSchema>({
|
|||
return { ok };
|
||||
} catch (err) { console.error("[window.gtkSetFrame]", err); return { ok: false }; }
|
||||
},
|
||||
"window.x11SetFrame": ({ x, y, width, height }: { x: number; y: number; width: number; height: number }) => {
|
||||
try {
|
||||
const { x11SetFrame } = require("./gtk-window.ts");
|
||||
const ok = x11SetFrame((mainWindow as any).ptr, x, y, width, height);
|
||||
return { ok };
|
||||
} catch (err) { console.error("[window.x11SetFrame]", err); return { ok: false }; }
|
||||
},
|
||||
},
|
||||
messages: {},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue