#include "openbox.hh"
#include "frame.hh"
#include "client.hh"
+#include "python.hh"
+#include "bindings.hh"
#include "otk/display.hh"
#include <string>
_plate.show(); // the other stuff is shown based on decor settings
grabClient();
+
+ grabButtons(true);
}
OBFrame::~OBFrame()
{
+ grabButtons(false);
releaseClient(false);
}
+void OBFrame::grabButtons(bool grab)
+{
+/* _plate.grabButtons(grab);
+
+ // grab any requested buttons on the entire frame
+ std::vector<std::string> grabs;
+ if (python_get_stringlist("client_buttons", &grabs)) {
+ std::vector<std::string>::iterator grab_it, grab_end = grabs.end();
+ for (grab_it = grabs.begin(); grab_it != grab_end; ++grab_it) {
+ Binding b;
+ if (!Openbox::instance->bindings()->translate(*grab_it, b, false))
+ continue;
+ printf("grabbing %d %d\n", b.key, b.modifiers);
+ if (grab) {
+ otk::OBDisplay::grabButton(b.key, b.modifiers, _window, true,
+ ButtonPressMask | ButtonMotionMask |
+ ButtonReleaseMask, GrabModeAsync,
+ GrabModeAsync, _window, None, false);
+ } else {
+ otk::OBDisplay::ungrabButton(b.key, b.modifiers, _window);
+ }
+ }
+ }*/
+}
+
+
void OBFrame::setTitle(const std::string &text)
{
_label.setText(text);