]> Dogcows Code - chaz/openbox/blobdiff - src/backgroundwidget.cc
kill button release events
[chaz/openbox] / src / backgroundwidget.cc
index e7f7e732086f185843b4215528cae5a8322af46f..b3649435c6a632ea5dce68d5d952d1da42dd130d 100644 (file)
@@ -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);
+}
+
 }
This page took 0.022664 seconds and 4 git commands to generate.