X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fbackgroundwidget.cc;h=3d4bb2f2bfbc61660a40e1afbb225659a968ff4c;hb=1c8090fa67994215f5e79cd9dd08f82110589d8a;hp=8b63b44d8781c76055af85d8115b9fa76cc52bc7;hpb=2ae2b257d39ea62640c2590f794e4275c6db1cd4;p=chaz%2Fopenbox diff --git a/src/backgroundwidget.cc b/src/backgroundwidget.cc index 8b63b44d..3d4bb2f2 100644 --- a/src/backgroundwidget.cc +++ b/src/backgroundwidget.cc @@ -81,7 +81,41 @@ void OBBackgroundWidget::unfocus() void OBBackgroundWidget::adjust() { - // XXX: adjust shit + // 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) +{ + if (type() == OBWidget::Type_Plate) + XAllowEvents(otk::OBDisplay::display, ReplayPointer, e.time); } }