Exemplo n.º 1
0
Arquivo: tooltip.c Projeto: asqz/tint2
void cleanup_tooltip()
{
	stop_tooltip_timeout();
	tooltip_hide(0);
	tooltip_copy_text(0);
	if (g_tooltip.window) XDestroyWindow(server.dsp, g_tooltip.window);
	if (g_tooltip.font_desc) pango_font_description_free(g_tooltip.font_desc);
}
Exemplo n.º 2
0
Arquivo: tooltip.c Projeto: asqz/tint2
void tooltip_hide(void* arg)
{
	stop_tooltip_timeout();
	if (g_tooltip.mapped) {
		g_tooltip.mapped = False;
		XUnmapWindow(server.dsp, g_tooltip.window);
		XFlush(server.dsp);
	}
}
Exemplo n.º 3
0
void tooltip_trigger_hide()
{
	if (g_tooltip.mapped) {
		tooltip_copy_text(0);
		start_hide_timeout();
	} else {
		// tooltip not visible yet, but maybe a timeout is still pending
		stop_tooltip_timeout();
	}
}
Exemplo n.º 4
0
void cleanup_tooltip()
{
	stop_tooltip_timeout();
	tooltip_hide(NULL);
	tooltip_copy_text(NULL);
	if (g_tooltip.window)
		XDestroyWindow(server.display, g_tooltip.window);
	g_tooltip.window = 0;
	pango_font_description_free(g_tooltip.font_desc);
	g_tooltip.font_desc = NULL;
}
Exemplo n.º 5
0
Arquivo: tooltip.c Projeto: asqz/tint2
void tooltip_trigger_show(Area* area, Panel* p, int x_root, int y_root)
{
	x = x_root;
	y = y_root;
	g_tooltip.panel = p;
	if (g_tooltip.mapped && g_tooltip.area != area) {
		tooltip_copy_text(area);
		tooltip_update();
		stop_tooltip_timeout();
	}
	else if (!g_tooltip.mapped) {
		start_show_timeout();
	}
}
Exemplo n.º 6
0
Arquivo: tooltip.c Projeto: asqz/tint2
void tooltip_show(void* arg)
{
  int mx, my;
  Window w;
  XTranslateCoordinates( server.dsp, server.root_win, g_tooltip.panel->main_win, x, y, &mx, &my, &w);
  Area* area = click_area(g_tooltip.panel, mx, my);
	stop_tooltip_timeout();
	if (!g_tooltip.mapped && area->_get_tooltip_text) {
		tooltip_copy_text(area);
		g_tooltip.mapped = True;
		XMapWindow(server.dsp, g_tooltip.window);
		tooltip_update();
		XFlush(server.dsp);
	}
}
Exemplo n.º 7
0
void tooltip_trigger_show(Area *area, Panel *p, XEvent *e)
{
	// Position the tooltip in the center of the area
	x = area->posx + MIN(area->width / 3, 22) + e->xmotion.x_root - e->xmotion.x;
	y = area->posy + area->height / 2 + e->xmotion.y_root - e->xmotion.y;
	just_shown = TRUE;
	g_tooltip.panel = p;
	if (g_tooltip.mapped && g_tooltip.area != area) {
		tooltip_copy_text(area);
		tooltip_update();
		stop_tooltip_timeout();
	} else if (!g_tooltip.mapped) {
		start_show_timeout();
	}
}
Exemplo n.º 8
0
void tooltip_show(void* arg)
{
	int mx, my;
	Window w;
	XTranslateCoordinates( server.dsp, server.root_win, g_tooltip.panel->main_win, x, y, &mx, &my, &w);
	Area* area;
	if (!panel_horizontal)
		my += height/2; /* we adjusted y in tooltip_trigger_show, revert or we won't find the correct area anymore */
	area = click_area(g_tooltip.panel, mx, my);
	stop_tooltip_timeout();
	if (!g_tooltip.mapped && area->_get_tooltip_text) {
		tooltip_copy_text(area);
		g_tooltip.mapped = True;
		XMapWindow(server.dsp, g_tooltip.window);
		tooltip_update();
		XFlush(server.dsp);
	}
}