diff options
Diffstat (limited to 'src/python.cc')
| -rw-r--r-- | src/python.cc | 20 |
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)) { |
