]> Dogcows Code - chaz/openbox/blobdiff - src/backgroundwidget.cc
clicks on the client work as they should
[chaz/openbox] / src / backgroundwidget.cc
index 8b63b44d8781c76055af85d8115b9fa76cc52bc7..3d4bb2f2bfbc61660a40e1afbb225659a968ff4c 100644 (file)
@@ -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);
 }
 
 }
This page took 0.020835 seconds and 4 git commands to generate.