Esempio n. 1
0
File: clock.c Progetto: o9000/tint2
void init_clock()
{
	if (!clock_timeout) {
		if (time_format_needs_sec_ticks(time1_format) || time_format_needs_sec_ticks(time2_format)) {
			clock_timeout = add_timeout(10, 1000, update_clocks_sec, 0, &clock_timeout);
		} else {
			clock_timeout = add_timeout(10, 1000, update_clocks_min, 0, &clock_timeout);
		}
	}
}
Esempio n. 2
0
void init_clock_panel(void *p)
{
    Panel *panel = (Panel *)p;
    Clock *clock = &panel->clock;

    if (!clock->area.bg)
        clock->area.bg = &g_array_index(backgrounds, Background, 0);
    clock_init_fonts();
    clock->area.parent = p;
    clock->area.panel = p;
    snprintf(clock->area.name, sizeof(clock->area.name), "Clock");
    clock->area._is_under_mouse = full_width_area_is_under_mouse;
    clock->area.has_mouse_press_effect = clock->area.has_mouse_over_effect =
        panel_config.mouse_effects && (clock_lclick_command || clock_mclick_command || clock_rclick_command ||
                                       clock_uwheel_command || clock_dwheel_command);
    clock->area._draw_foreground = draw_clock;
    clock->area.size_mode = LAYOUT_FIXED;
    clock->area._resize = resize_clock;
    clock->area._compute_desired_size = clock_compute_desired_size;
    clock->area._dump_geometry = clock_dump_geometry;
    // check consistency
    if (!time1_format)
        return;

    clock->area.resize_needed = 1;
    clock->area.on_screen = TRUE;
    instantiate_area_gradients(&clock->area);

    if (time_tooltip_format) {
        clock->area._get_tooltip_text = clock_get_tooltip;
        strftime(buf_tooltip, sizeof(buf_tooltip), time_tooltip_format, clock_gettime_for_tz(time_tooltip_timezone));
    }

    if (!clock_timer.enabled_) {
        if (time_format_needs_sec_ticks(time1_format) || time_format_needs_sec_ticks(time2_format)) {
            update_clocks_sec(NULL);
        } else {
            update_clocks_min(NULL);
        }
    }
}