all repos — openbox @ d755060a098513247e8132f2b9f69cc087be7174

openbox fork - make it a bit more like ryudo

only wait 1/2 a second for sync reply
Dana Jansens danakj@orodu.net
commit

d755060a098513247e8132f2b9f69cc087be7174

parent

9577bb9a65c4c94815422f20d24b6093419b04da

1 files changed, 21 insertions(+), 0 deletions(-)

jump to
M openbox/moveresize.copenbox/moveresize.c

@@ -65,6 +65,9 @@ static ObPopup *popup = NULL;

static void do_edge_warp(gint x, gint y); static void cancel_edge_warp(); +#ifdef SYNC +static gboolean sync_timeout_func(gpointer data); +#endif static void client_dest(ObClient *client, gpointer data) {

@@ -251,6 +254,8 @@ if (moveresize_alarm != None) {

XSyncDestroyAlarm(ob_display, moveresize_alarm); moveresize_alarm = None; } + + ob_main_loop_timeout_remove(ob_main_loop, sync_timeout_func); #endif client_configure(moveresize_client,

@@ -285,6 +290,7 @@ popup_coords(moveresize_client, "%d x %d",

moveresize_client->frame->area.x, moveresize_client->frame->area.y); } + static void do_resize() {

@@ -333,6 +339,11 @@ XSendEvent(ob_display, moveresize_client->window, FALSE,

NoEventMask, &ce); waiting_for_sync = TRUE; + + ob_main_loop_timeout_remove(ob_main_loop, sync_timeout_func); + ob_main_loop_timeout_add(ob_main_loop, G_USEC_PER_SEC / 2, + sync_timeout_func, + NULL, NULL, NULL); } #endif

@@ -349,6 +360,16 @@ popup_coords(moveresize_client, "%d x %d",

moveresize_client->logical_size.width, moveresize_client->logical_size.height); } + +#ifdef SYNC +static gboolean sync_timeout_func(gpointer data) +{ + waiting_for_sync = FALSE; /* we timed out waiting for our sync... */ + do_resize(); /* ...so let any pending resizes through */ + + return FALSE; /* don't repeat */ +} +#endif static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh, ObCorner cor)