X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fclock%2Fclock.c;h=273fb818e17991089c391a52a85d1b9dc5ea9924;hb=56820c4fd6d54b2f6a5ff4bf391461792ce42834;hp=b6eb254537f01d31b2f7e2ddb0f7779938963345;hpb=080fb51e5d7f26a788f6fd85562807ca65ad5973;p=chaz%2Ftint2 diff --git a/src/clock/clock.c b/src/clock/clock.c index b6eb254..273fb81 100644 --- a/src/clock/clock.c +++ b/src/clock/clock.c @@ -35,22 +35,53 @@ #include "timer.h" -char *time1_format=0; -char *time1_timezone=0; -char *time2_format=0; -char *time2_timezone=0; -char *time_tooltip_format=0; -char *time_tooltip_timezone=0; -char *clock_lclick_command=0; -char *clock_rclick_command=0; +char *time1_format; +char *time1_timezone; +char *time2_format; +char *time2_timezone; +char *time_tooltip_format; +char *time_tooltip_timezone; +char *clock_lclick_command; +char *clock_rclick_command; struct timeval time_clock; -PangoFontDescription *time1_font_desc=0; -PangoFontDescription *time2_font_desc=0; +PangoFontDescription *time1_font_desc; +PangoFontDescription *time2_font_desc; static char buf_time[40]; static char buf_date[40]; static char buf_tooltip[40]; int clock_enabled; -static timeout* clock_timeout=0; +static timeout* clock_timeout; + + +void default_clock() +{ + clock_enabled = 0; + clock_timeout = 0; + time1_format = 0; + time1_timezone = 0; + time2_format = 0; + time2_timezone = 0; + time_tooltip_format = 0; + time_tooltip_timezone = 0; + clock_lclick_command = 0; + clock_rclick_command = 0; + time1_font_desc = 0; + time2_font_desc = 0; +} + +void cleanup_clock() +{ + if (time1_font_desc) pango_font_description_free(time1_font_desc); + if (time2_font_desc) pango_font_description_free(time2_font_desc); + if (time1_format) g_free(time1_format); + if (time2_format) g_free(time2_format); + if (time_tooltip_format) g_free(time_tooltip_format); + if (time1_timezone) g_free(time1_timezone); + if (time2_timezone) g_free(time2_timezone); + if (time_tooltip_timezone) g_free(time_tooltip_timezone); + if (clock_lclick_command) g_free(clock_lclick_command); + if (clock_rclick_command) g_free(clock_rclick_command); +} void update_clocks_sec(void* arg) @@ -160,28 +191,6 @@ void init_clock_panel(void *p) } -void cleanup_clock() -{ - clock_enabled = 0; - if (time1_font_desc) - pango_font_description_free(time1_font_desc); - if (time2_font_desc) - pango_font_description_free(time2_font_desc); - g_free(time1_format); - g_free(time2_format); - g_free(time_tooltip_format); - g_free(time1_timezone); - g_free(time2_timezone); - g_free(time_tooltip_timezone); - g_free(clock_lclick_command); - g_free(clock_rclick_command); - time1_font_desc = time2_font_desc = 0; - time1_format = time2_format = time_tooltip_format = 0; - time1_timezone = time2_timezone = time_tooltip_timezone = 0; - clock_lclick_command = clock_rclick_command = 0; -} - - void draw_clock (void *obj, cairo_t *c) { Clock *clock = obj; @@ -258,8 +267,6 @@ void resize_clock (void *obj) new_width += (2*clock->area.paddingxlr) + (2*clock->area.bg->border.width); Panel *panel = ((Area*)obj)->panel; - clock->area.posx = panel->area.width - clock->area.width - panel->area.paddingxlr - panel->area.bg->border.width; - if (new_width > clock->area.width || new_width < (clock->area.width-6)) { // resize clock // we try to limit the number of resize @@ -274,6 +281,8 @@ void resize_clock (void *obj) systray.area.resize = 1; panel_refresh = 1; } + clock->area.posx = panel->area.width - clock->area.width - panel->area.paddingxlr - panel->area.bg->border.width; + g_object_unref (layout); cairo_destroy (c);