aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Tiefenbruck <mark@fluxbox.org>2008-05-05 13:37:35 (GMT)
committerMark Tiefenbruck <mark@fluxbox.org>2008-05-05 13:37:35 (GMT)
commit969133c067d009700e9109f72f34351694438ac4 (patch)
treea38b296510320ff62ecd684901cc6ac28a208044
parent8f0b031aa34b02290c7a7632adc6368bc44686d6 (diff)
downloadfluxbox_pavel-969133c067d009700e9109f72f34351694438ac4.zip
fluxbox_pavel-969133c067d009700e9109f72f34351694438ac4.tar.bz2
fix tooltip windows for xinerama
-rw-r--r--src/TooltipWindow.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/TooltipWindow.cc b/src/TooltipWindow.cc
index 025cc68..42926d8 100644
--- a/src/TooltipWindow.cc
+++ b/src/TooltipWindow.cc
@@ -65,24 +65,24 @@ void TooltipWindow::raiseTooltip() {
65 XQueryPointer(display(), m_screen.rootWindow().window(), 65 XQueryPointer(display(), m_screen.rootWindow().window(),
66 &root_ret, &window_ret, &rx, &ry, &wx, &wy, &mask); 66 &root_ret, &window_ret, &rx, &ry, &wx, &wy, &mask);
67 67
68 // mouse position 68 int head = m_screen.getHead(rx, ry);
69 int mx = rx; 69 int head_top = m_screen.getHeadY(head);
70 int my = ry; 70 int head_left = m_screen.getHeadX(head);
71 int head_right = head_left + m_screen.getHeadWidth(head);
71 72
72 // center the mouse horizontally 73 // center the mouse horizontally
73 rx -= w/2; 74 rx -= w/2;
74 int yoffset = 10; 75 int yoffset = 10;
75 if (ry >= yoffset + h) 76 if (ry - yoffset - h >= head_top)
76 ry -= yoffset + h; 77 ry -= yoffset + h;
77 else 78 else
78 ry += yoffset; 79 ry += yoffset;
79 80
80 // check that we are not out of screen 81 // check that we are not out of screen
81 int outOfBound = rx + w - m_screen.width(); 82 if (rx + w > head_right)
82 if (outOfBound > 0) 83 rx = head_right - w;
83 rx -= outOfBound; 84 if (rx < head_left)
84 if (rx < 0) 85 rx = head_left;
85 rx = 0;
86 86
87 moveResize(rx,ry,w, h); 87 moveResize(rx,ry,w, h);
88 88