all repos — tint2 @ 95b35aefc05622689784e5c1a7a016795df5f064

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

Center the tooltip correctly when the text changes while the tooltip is visible

git-svn-id: http://tint2.googlecode.com/svn/trunk@541 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
o9000 o9000
commit

95b35aefc05622689784e5c1a7a016795df5f064

parent

c1bdb560b20d23ebf62d741b07c3ff64c2d4d7c9

1 files changed, 6 insertions(+), 3 deletions(-)

jump to
M src/tooltip/tooltip.csrc/tooltip/tooltip.c

@@ -27,7 +27,7 @@ #include "tooltip.h"

#include "panel.h" #include "timer.h" -static int x, y, width, height; +static int x_original, y_original, x, y, width, height; // the next functions are helper functions for tooltip handling void start_show_timeout();

@@ -78,8 +78,8 @@

void tooltip_trigger_show(Area* area, Panel* p, XEvent *e) { // Position the tooltip in the center of the area - x = area->posx + area->width / 2 + e->xmotion.x_root - e->xmotion.x; - y = area->posy + area->height / 2 + e->xmotion.y_root - e->xmotion.y; + x = x_original = area->posx + area->width / 2 + e->xmotion.x_root - e->xmotion.x; + y = y_original = area->posy + area->height / 2 + e->xmotion.y_root - e->xmotion.y; g_tooltip.panel = p; if (g_tooltip.mapped && g_tooltip.area != area) { tooltip_copy_text(area);

@@ -123,6 +123,9 @@ PangoRectangle r1, r2;

pango_layout_get_pixel_extents(layout, &r1, &r2); width = 2*g_tooltip.bg->border.width + 2*g_tooltip.paddingx + r2.width; height = 2*g_tooltip.bg->border.width + 2*g_tooltip.paddingy + r2.height; + + x = x_original; + y = y_original; Panel* panel = g_tooltip.panel; if (panel_horizontal && panel_position & BOTTOM)