#endif
client_remove_destructor(focus_delay_client_dest);
+ client_remove_destructor(event_client_dest);
XFreeModifiermap(modmap);
}
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);
}
+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;
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;
GTimeVal flash_end;
};
+void frame_startup(gboolean reconfig);
+void frame_shutdown(gboolean reconfig);
ObFrame *frame_new();
void frame_show(ObFrame *self);
void frame_hide(ObFrame *self);
grab_startup(reconfigure);
group_startup(reconfigure);
client_startup(reconfigure);
+ frame_startup(reconfigure);
dock_startup(reconfigure);
moveresize_startup(reconfigure);
keyboard_startup(reconfigure);
keyboard_shutdown(reconfigure);
moveresize_shutdown(reconfigure);
dock_shutdown(reconfigure);
+ frame_shutdown(reconfigure);
client_shutdown(reconfigure);
group_shutdown(reconfigure);
grab_shutdown(reconfigure);