summaryrefslogtreecommitdiff
path: root/src/python.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-24 07:37:26 +0000
committerDana Jansens <danakj@orodu.net>2003-01-24 07:37:26 +0000
commit91c7e5c378b1a639c6f5383915ed68b36b7735d4 (patch)
tree896039b1f31ca8a3a41f9ac81e35467247f6001d /src/python.cc
parent73a776ee90879ea2b42c6e959f781a6600fada80 (diff)
allow python to grab the keyboard. have release events go to the grabs callback. remove the modifier from teh state when a modifier key is the one being released
Diffstat (limited to 'src/python.cc')
-rw-r--r--src/python.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/python.cc b/src/python.cc
index 9905dec5..a89fa467 100644
--- a/src/python.cc
+++ b/src/python.cc
@@ -123,6 +123,26 @@ PyObject *ebind(ob::EventAction action, PyObject *func)
Py_INCREF(Py_None); return Py_None;
}
+PyObject *kgrab(PyObject *func)
+{
+ if (!PyCallable_Check(func)) {
+ PyErr_SetString(PyExc_TypeError, "Invalid callback function.");
+ return NULL;
+ }
+
+ if (!ob::openbox->bindings()->grabKeyboard(func)) {
+ PyErr_SetString(PyExc_RuntimeError,"Unable to grab keybaord.");
+ return NULL;
+ }
+ Py_INCREF(Py_None); return Py_None;
+}
+
+PyObject *kungrab()
+{
+ ob::openbox->bindings()->ungrabKeyboard();
+ Py_INCREF(Py_None); return Py_None;
+}
+
PyObject *kbind(PyObject *keylist, ob::KeyContext context, PyObject *func)
{
if (!PyCallable_Check(func)) {