diff options
Diffstat (limited to 'src/backgroundwidget.cc')
| -rw-r--r-- | src/backgroundwidget.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/backgroundwidget.cc b/src/backgroundwidget.cc index e7f7e732..b3649435 100644 --- a/src/backgroundwidget.cc +++ b/src/backgroundwidget.cc @@ -84,4 +84,37 @@ void OBBackgroundWidget::adjust() // nothing to adjust here. its done in OBFrame::adjustSize } +void OBBackgroundWidget::grabButtons(bool grab) +{ + if (grab) { + // grab simple button clicks on the client, but pass them through too + otk::OBDisplay::grabButton(Button1, 0, _window, true, + ButtonPressMask, GrabModeSync, GrabModeSync, + _window, None, false); + otk::OBDisplay::grabButton(Button2, 0, _window, true, + ButtonPressMask, GrabModeSync, GrabModeSync, + _window, None, false); + otk::OBDisplay::grabButton(Button3, 0, _window, true, + ButtonPressMask, GrabModeSync, GrabModeSync, + _window, None, false); + otk::OBDisplay::grabButton(Button4, 0, _window, true, + ButtonPressMask, GrabModeSync, GrabModeSync, + _window, None, false); + otk::OBDisplay::grabButton(Button5, 0, _window, true, + ButtonPressMask, GrabModeSync, GrabModeSync, + _window, None, false); + } else { + otk::OBDisplay::ungrabButton(Button1, 0, _window); + otk::OBDisplay::ungrabButton(Button2, 0, _window); + otk::OBDisplay::ungrabButton(Button3, 0, _window); + otk::OBDisplay::ungrabButton(Button4, 0, _window); + otk::OBDisplay::ungrabButton(Button5, 0, _window); + } +} + +void OBBackgroundWidget::buttonPressHandler(const XButtonEvent &e) +{ + XAllowEvents(otk::OBDisplay::display, ReplayPointer, e.time); +} + } |
