X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=d7c80949c87d7944a5d5250fb99ca4988335b398;hb=261d3193c5258126fda8234a3305180066f0f939;hp=0510dab29e9f7d2ad912c3294966071bec2caaf3;hpb=806a8c411f10c7a2292bfac15d77c8609f56ee71;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 0510dab2..d7c80949 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -24,10 +24,6 @@ #include #include -#ifdef USE_LIBSN -# include -#endif - #ifdef HAVE_SYS_SELECT_H # include #endif @@ -96,16 +92,6 @@ static void ice_watch(IceConn conn, IcePointer data, Bool opening, } #endif -#ifdef USE_LIBSN -static void sn_handler(const XEvent *e, gpointer display) -{ - XEvent ec; - ec = *e; - sn_display_process_event(display, &ec); -} -#endif - - void event_startup(gboolean reconfig) { if (reconfig) return; @@ -141,10 +127,6 @@ void event_startup(gboolean reconfig) IceAddConnectionWatch(ice_watch, NULL); #endif -#ifdef USE_LIBSN - ob_main_loop_x_add(ob_main_loop, sn_handler, ob_sn_display, NULL); -#endif - client_add_destructor(focus_delay_client_dest); } @@ -663,9 +645,11 @@ static void event_handle_client(ObClient *client, XEvent *e) case OB_FRAME_CONTEXT_FRAME: /* XXX if doing a 'reconfigure' make sure you kill this timer, maybe all timers.. */ - if (config_focus_delay) { + if (config_focus_delay && client == focus_delay_client) { + ob_main_loop_timeout_remove_data(ob_main_loop, + focus_delay_func, + focus_delay_client); focus_delay_client = NULL; - ob_main_loop_timeout_remove(ob_main_loop, focus_delay_func); } default: break; @@ -713,7 +697,7 @@ static void event_handle_client(ObClient *client, XEvent *e) ob_main_loop_timeout_add(ob_main_loop, config_focus_delay, focus_delay_func, - NULL, NULL); + client, NULL); focus_delay_client = client; } else client_focus(client); @@ -1194,7 +1178,8 @@ static void focus_delay_client_dest(gpointer data) { ObClient *c = data; if (c == focus_delay_client) { + ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func, + focus_delay_client); focus_delay_client = NULL; - ob_main_loop_timeout_remove(ob_main_loop, focus_delay_func); } }