X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fframe.c;h=2c1152ee0f3f1ee4b9614fd5a30abdb4eefa2ead;hb=d3d4aa29871111737a4f6985da695c8688a05270;hp=2c495b27e76e4071c081e2428547f5c755f364d4;hpb=a2f2fefeffc74e93504588f9545507814857723e;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index 2c495b27..2c1152ee 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -1,7 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- frame.c for the Openbox window manager - Copyright (c) 2004 Mikael Magnusson + Copyright (c) 2006 Mikael Magnusson Copyright (c) 2003 Ben Jansens This program is free software; you can redistribute it and/or modify @@ -43,7 +43,6 @@ 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); @@ -57,18 +56,6 @@ 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; @@ -569,7 +556,7 @@ void frame_release_client(ObFrame *self, ObClient *client) g_hash_table_remove(window_map, &self->tlresize); g_hash_table_remove(window_map, &self->trresize); - ob_main_loop_timeout_remove_data(ob_main_loop, flash_timeout, self); + ob_main_loop_timeout_remove_data(ob_main_loop, flash_timeout, self, TRUE); frame_free(self); } @@ -594,7 +581,8 @@ static void layout_title(ObFrame *self) break; case 'D': if (d) { *lc = ' '; break; } - if (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) && config_theme_hidedisabled) + if (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) + && config_theme_hidedisabled) break; d = TRUE; self->label_width -= (ob_rr_theme->button_size + @@ -602,7 +590,8 @@ static void layout_title(ObFrame *self) break; case 'S': if (s) { *lc = ' '; break; } - if (!(self->decorations & OB_FRAME_DECOR_SHADE) && config_theme_hidedisabled) + if (!(self->decorations & OB_FRAME_DECOR_SHADE) + && config_theme_hidedisabled) break; s = TRUE; self->label_width -= (ob_rr_theme->button_size + @@ -610,7 +599,8 @@ static void layout_title(ObFrame *self) break; case 'I': if (i) { *lc = ' '; break; } - if (!(self->decorations & OB_FRAME_DECOR_ICONIFY) && config_theme_hidedisabled) + if (!(self->decorations & OB_FRAME_DECOR_ICONIFY) + && config_theme_hidedisabled) break; i = TRUE; self->label_width -= (ob_rr_theme->button_size + @@ -622,7 +612,8 @@ static void layout_title(ObFrame *self) break; case 'M': if (m) { *lc = ' '; break; } - if (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) && config_theme_hidedisabled) + if (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) + && config_theme_hidedisabled) break; m = TRUE; self->label_width -= (ob_rr_theme->button_size + @@ -630,7 +621,8 @@ static void layout_title(ObFrame *self) break; case 'C': if (c) { *lc = ' '; break; } - if (!(self->decorations & OB_FRAME_DECOR_CLOSE) && config_theme_hidedisabled) + if (!(self->decorations & OB_FRAME_DECOR_CLOSE) + && config_theme_hidedisabled) break; c = TRUE; self->label_width -= (ob_rr_theme->button_size + @@ -921,11 +913,6 @@ 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;