diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Window.cc b/src/Window.cc index 27bc7ec..5e9aec5 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include "WinClient.hh" | 29 | #include "WinClient.hh" |
30 | #include "fluxbox.hh" | 30 | #include "fluxbox.hh" |
31 | #include "Keys.hh" | ||
31 | #include "Screen.hh" | 32 | #include "Screen.hh" |
32 | #include "FbWinFrameTheme.hh" | 33 | #include "FbWinFrameTheme.hh" |
33 | #include "FbAtoms.hh" | 34 | #include "FbAtoms.hh" |
@@ -285,6 +286,9 @@ FluxboxWindow::FluxboxWindow(WinClient &client, FbWinFrameTheme &tm, | |||
285 | else | 286 | else |
286 | screen().focusControl().addFocusWinBack(*this); | 287 | screen().focusControl().addFocusWinBack(*this); |
287 | 288 | ||
289 | Fluxbox::instance()->keys()->registerWindow(frame().window().window(), | ||
290 | Keys::ON_WINDOW); | ||
291 | |||
288 | } | 292 | } |
289 | 293 | ||
290 | 294 | ||
@@ -292,6 +296,8 @@ FluxboxWindow::~FluxboxWindow() { | |||
292 | if (WindowCmd<void>::window() == this) | 296 | if (WindowCmd<void>::window() == this) |
293 | WindowCmd<void>::setWindow(0); | 297 | WindowCmd<void>::setWindow(0); |
294 | 298 | ||
299 | Fluxbox::instance()->keys()->unregisterWindow(frame().window().window()); | ||
300 | |||
295 | #ifdef DEBUG | 301 | #ifdef DEBUG |
296 | const char* title = m_client ? m_client->title().c_str() : "" ; | 302 | const char* title = m_client ? m_client->title().c_str() : "" ; |
297 | cerr<<__FILE__<<"("<<__LINE__<<"): starting ~FluxboxWindow("<<this<<","<<title<<")"<<endl; | 303 | cerr<<__FILE__<<"("<<__LINE__<<"): starting ~FluxboxWindow("<<this<<","<<title<<")"<<endl; |
@@ -2576,6 +2582,13 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) { | |||
2576 | m_last_button_x = be.x_root; | 2582 | m_last_button_x = be.x_root; |
2577 | m_last_button_y = be.y_root; | 2583 | m_last_button_y = be.y_root; |
2578 | 2584 | ||
2585 | // check keys file first | ||
2586 | WindowCmd<void>::setWindow(this); | ||
2587 | if (Fluxbox::instance()->keys()->doAction(be.type, be.state, be.button, | ||
2588 | Keys::ON_WINDOW)) { | ||
2589 | return; | ||
2590 | } | ||
2591 | |||
2579 | // check frame events first | 2592 | // check frame events first |
2580 | frame().buttonPressEvent(be); | 2593 | frame().buttonPressEvent(be); |
2581 | 2594 | ||