From bdc32915b730beaf9f2ac91194da3515dc169be2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 19 Aug 2009 01:15:54 +0100 Subject: [PATCH] Tweaks to page collector: do not use XTest delay ms parameter; clamp max delay; etc. --- yarrg/pages.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/yarrg/pages.c b/yarrg/pages.c index 2e3edde..8f1332c 100644 --- a/yarrg/pages.c +++ b/yarrg/pages.c @@ -156,26 +156,26 @@ static void check_not_disturbed(void) { static void send_key(KeySym sym) { check_not_disturbed(); - XTestFakeKeyEvent(disp, keycode(sym),1, 10); - XTestFakeKeyEvent(disp, keycode(sym),0, 10); + XTestFakeKeyEvent(disp, keycode(sym),1, 0); + XTestFakeKeyEvent(disp, keycode(sym),0, 0); } -static void mouse_1_updown_here(void) { +static void send_mouse_1_updown_here(void) { check_not_disturbed(); - XTestFakeButtonEvent(disp,1,1, 10); - XTestFakeButtonEvent(disp,1,0, 10); + XTestFakeButtonEvent(disp,1,1, 0); + XTestFakeButtonEvent(disp,1,0, 0); } -static void mouse_1_updown(int x, int y) { +static void send_mouse_1_updown(int x, int y) { check_not_disturbed(); int screen= XScreenNumberOfScreen(attr.screen); int xpos, ypos; translate_coords_toroot(x,y, &xpos,&ypos); XTestFakeMotionEvent(disp, screen, xpos,ypos, 0); - mouse_1_updown_here(); + send_mouse_1_updown_here(); } static void pgdown_by_mouse(void) { check_not_disturbed(); debugf("PAGING Mouse\n"); - mouse_1_updown_here(); + send_mouse_1_updown_here(); sync_after_input(); } @@ -350,12 +350,14 @@ static void wait_for_stability(Snapshot **output, " last_input=%f previously=%p `%s'\n", last_input, previously, doing); - double min_interval= 0.025; + double max_interval= 5.000; + double min_interval= 0.100; for (;;) { progress_spinner("%s",doing); double since_last_input= timestamp() - last_input; double this_interval= min_interval - since_last_input; + if (this_interval > max_interval) this_interval= max_interval; if (this_interval >= 0) delay(this_interval); @@ -496,7 +498,7 @@ static void set_focus_commodity(void) { debugf("PAGING set_focus\n"); - mouse_1_updown(commod_focus_point.x, commod_focus_point.y); + send_mouse_1_updown(commod_focus_point.x, commod_focus_point.y); sync_after_input(); delay(0.5); @@ -552,16 +554,17 @@ static void prepare_ypp_client(void) { Rect sunshine= find_sunshine_widget(); progress("poking client..."); - mouse_1_updown((sunshine.tl.x + sunshine.br.x) / 2, - (sunshine.tl.y*9 + sunshine.br.y) / 10); + send_mouse_1_updown((sunshine.tl.x + sunshine.br.x) / 2, + (sunshine.tl.y*9 + sunshine.br.y) / 10); + sync_after_input(); free(test); wait_for_stability(¤t,0,0, "checking basic YPP client screen..."); - mouse_1_updown(250, wheight-10); - mouse_1_updown_here(); - mouse_1_updown_here(); - XSync(disp,False); + send_mouse_1_updown(250, wheight-10); + send_mouse_1_updown_here(); + send_mouse_1_updown_here(); + sync_after_input(); check_not_disturbed(); send_key(XK_slash); send_key(XK_w); @@ -626,7 +629,7 @@ void take_screenshots(void) { npages++; } progress("finishing with the YPP client..."); - mouse_1_updown(commod_focuslast_point.x, commod_focuslast_point.y); + send_mouse_1_updown(commod_focuslast_point.x, commod_focuslast_point.y); sync_after_input(); send_pgdown_torestore(); sync_after_input(); -- 2.30.2