#include "otk/rect.hh"
#include "otk/property.hh"
#include "otk/display.hh"
+#include "otk/ustring.hh"
extern "C" {
#include <X11/Xlib.h>
MC_MaximizeButton,
MC_CloseButton,
MC_IconifyButton,
- MC_StickyButton,
+ MC_AllDesktopsButton,
MC_Grip,
MC_Root,
MC_MenuItem,
NUM_KEY_CONTEXT
};
+enum KeyAction {
+ EventKeyPress,
+ EventKeyRelease,
+ NUM_KEY_ACTION
+};
+
enum EventAction {
EventEnterWindow,
EventLeaveWindow,
EventShutdown,
EventFocus,
EventBell,
+ EventUrgentWindow,
NUM_EVENTS
};
Client *client;
Time time;
unsigned int state;
- std::string key;
+ char *key;
+ KeyAction action;
KeyData(int screen, Client *client, Time time, unsigned int state,
- unsigned int key) {
+ unsigned int key, KeyAction action) {
this->screen = screen;
this->client = client;
this->time = time;
this->state = state;
- this->key = XKeysymToString(XKeycodeToKeysym(otk::Display::display,
+ this->key = XKeysymToString(XKeycodeToKeysym(**otk::display,
key, 0));
+ this->action = action;
}
};
bool python_exec(const std::string &path);
bool python_get_long(const char *name, long *value);
-bool python_get_string(const char *name, std::string *value);
-bool python_get_stringlist(const char *name, std::vector<std::string> *value);
+bool python_get_string(const char *name, otk::ustring *value);
+bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value);
/***********************************************
* These are found in openbox.i, not python.cc *
PyObject *kbind(PyObject *keylist, ob::KeyContext context, PyObject *func);
+PyObject *kgrab(int screen, PyObject *func);
+PyObject *kungrab();
+
PyObject *ebind(ob::EventAction action, PyObject *func);
void set_reset_key(const std::string &key);
-PyObject *send_client_msg(Window target, int type, Window about,
+PyObject *send_client_msg(Window target, Atom type, Window about,
long data, long data1 = 0, long data2 = 0,
long data3 = 0, long data4 = 0);
}