add a PlaceWindow event hook type

This commit is contained in:
Dana Jansens 2003-01-07 06:50:21 +00:00
parent 7ca4d1cf8a
commit 7990e6fc46
3 changed files with 7 additions and 1 deletions

View file

@ -3131,6 +3131,7 @@ static swig_const_info swig_const_table[] = {
{ SWIG_PY_INT, (char *)"NUM_KEY_CONTEXT", (long) ob::NUM_KEY_CONTEXT, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventEnterWindow", (long) ob::EventEnterWindow, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventLeaveWindow", (long) ob::EventLeaveWindow, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventPlaceWindow", (long) ob::EventPlaceWindow, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventNewWindow", (long) ob::EventNewWindow, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventCloseWindow", (long) ob::EventCloseWindow, 0, 0, 0},
{ SWIG_PY_INT, (char *)"EventStartup", (long) ob::EventStartup, 0, 0, 0},

View file

@ -52,6 +52,7 @@ enum KeyContext {
enum EventAction {
EventEnterWindow,
EventLeaveWindow,
EventPlaceWindow,
EventNewWindow,
EventCloseWindow,
EventStartup,

View file

@ -493,7 +493,11 @@ void OBScreen::manageWindow(Window window)
XChangeSaveSet(otk::OBDisplay::display, window, SetModeInsert);
if (!client->positionRequested()) {
// XXX: position the window intelligenty
// position the window intelligenty .. hopefully :)
// call the python PLACEWINDOW binding
EventData *data = new_event_data(_number, window, EventPlaceWindow, 0);
Openbox::instance->bindings()->fireEvent(data);
Py_DECREF((PyObject*)data);
}
// create the decoration frame for the client window