aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 5eaf0d5..1e32bd5 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -2774,10 +2774,13 @@ void FluxboxWindow::enterNotifyEvent(XCrossingEvent &ev) {
2774 Fluxbox::instance()->keys()->doAction(ev.type, ev.state, 0, 2774 Fluxbox::instance()->keys()->doAction(ev.type, ev.state, 0,
2775 Keys::ON_WINDOW, m_client); 2775 Keys::ON_WINDOW, m_client);
2776 2776
2777 WinClient *client = 0; 2777 // determine if we're in a label button (tab)
2778 if (screen().focusControl().isMouseTabFocus()) { 2778 WinClient *client = winClientOfLabelButtonWindow(ev.window);
2779 // determine if we're in a label button (tab) 2779 if (client) {
2780 client = winClientOfLabelButtonWindow(ev.window); 2780 if (IconButton *tab = m_labelbuttons[client]) {
2781 m_has_tooltip = true;
2782 tab->showTooltip();
2783 }
2781 } 2784 }
2782 2785
2783 if (ev.window == frame().window() || 2786 if (ev.window == frame().window() ||
@@ -2818,6 +2821,11 @@ void FluxboxWindow::leaveNotifyEvent(XCrossingEvent &ev) {
2818 return; 2821 return;
2819 } 2822 }
2820 2823
2824 if (m_has_tooltip) {
2825 m_has_tooltip = false;
2826 screen().hideTooltip();
2827 }
2828
2821 // still inside? 2829 // still inside?
2822 if (ev.x_root > frame().x() && ev.y_root > frame().y() && 2830 if (ev.x_root > frame().x() && ev.y_root > frame().y() &&
2823 ev.x_root <= (int)(frame().x() + frame().width()) && 2831 ev.x_root <= (int)(frame().x() + frame().width()) &&