X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=2c495b27e76e4071c081e2428547f5c755f364d4;hb=a2f2fefeffc74e93504588f9545507814857723e;hp=c55ff290717ab0bd9554d9d1a22437d2c56edc8d;hpb=83a0303dd75ef0487fdd53e810914f21fdd3e459;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index c55ff290..2c495b27 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -43,6 +43,7 @@ static void layout_title(ObFrame *self); static void flash_done(gpointer data); static gboolean flash_timeout(gpointer data); +static void flash_client_dest(ObClient *client, gpointer data); static void set_theme_statics(ObFrame *self); static void free_theme_statics(ObFrame *self); @@ -56,6 +57,18 @@ static Window createWindow(Window parent, gulong mask, } +void frame_startup(gboolean reconfig) +{ + if (reconfig) return; + client_add_destructor(flash_client_dest, NULL); +} + +void frame_shutdown(gboolean reconfig) +{ + if (reconfig) return; + client_remove_destructor(flash_client_dest); +} + ObFrame *frame_new() { XSetWindowAttributes attrib; @@ -908,6 +921,11 @@ static gboolean flash_timeout(gpointer data) return TRUE; /* go again */ } +static void flash_client_dest(ObClient *client, gpointer data) +{ + ob_main_loop_timeout_remove_data(ob_main_loop, flash_timeout, client); +} + void frame_flash_start(ObFrame *self) { self->flash_on = self->focused;