fix(electrobun): clear min-size in configure handler during resize (prevents GTK bounce-back)
This commit is contained in:
parent
6d0a65eb65
commit
8f4ec379ee
2 changed files with 7 additions and 4 deletions
|
|
@ -175,11 +175,14 @@ static gboolean reenable_webview(gpointer data)
|
||||||
*/
|
*/
|
||||||
static gboolean on_configure(GtkWidget *widget, GdkEventConfigure *event, gpointer data)
|
static gboolean on_configure(GtkWidget *widget, GdkEventConfigure *event, gpointer data)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "[agor-resize] CONFIGURE size=%dx%d pos=%d,%d\n",
|
|
||||||
event->width, event->height, event->x, event->y);
|
|
||||||
|
|
||||||
/* If resize is active, reset the re-enable timer */
|
|
||||||
if (resize_active) {
|
if (resize_active) {
|
||||||
|
/* CRITICAL: During active resize, re-clear min-size on EVERY configure.
|
||||||
|
* GTK's layout cycle re-asserts the WebView's preferred size after each
|
||||||
|
* WM resize step, sending a conflicting ConfigureRequest that cancels the drag. */
|
||||||
|
clear_min_size(GTK_WIDGET(stored_window), 0);
|
||||||
|
GdkGeometry geom = { .min_width = 400, .min_height = 300, .max_width = 32767, .max_height = 32767 };
|
||||||
|
gtk_window_set_geometry_hints(stored_window, NULL, &geom, GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE);
|
||||||
|
|
||||||
if (reenable_timer_id) g_source_remove(reenable_timer_id);
|
if (reenable_timer_id) g_source_remove(reenable_timer_id);
|
||||||
reenable_timer_id = g_timeout_add(500, reenable_webview, NULL);
|
reenable_timer_id = g_timeout_add(500, reenable_webview, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue