Exemplo n.º 1
0
Arquivo: clock.c Projeto: o9000/tint2
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));
	}
}
Exemplo n.º 2
0
void clock_default_font_changed()
{
    if (!clock_enabled)
        return;
    if (time1_has_font && time2_has_font)
        return;
    if (!time1_has_font) {
        pango_font_description_free(time1_font_desc);
        time1_font_desc = NULL;
    }
    if (!time2_has_font) {
        pango_font_description_free(time2_font_desc);
        time2_font_desc = NULL;
    }
    clock_init_fonts();
    for (int i = 0; i < num_panels; i++) {
        panels[i].clock.area.resize_needed = TRUE;
        schedule_redraw(&panels[i].clock.area);
    }
    schedule_panel_redraw();
}