diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-04-28 12:12:24 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-04-28 12:12:24 +0000 |
| commit | 8ef0610e9056613eeb1988dde95d252bc0988883 (patch) | |
| tree | aae324539ea3e2d10f8a97c20e8ccb43399a47b7 /src/openbox.cc | |
| parent | 830e53f25cb8e48b50c8404b32e36708d335decc (diff) | |
added ClickMouse window placement policy
Diffstat (limited to 'src/openbox.cc')
| -rw-r--r-- | src/openbox.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/openbox.cc b/src/openbox.cc index cfdb6e9b..99d623e5 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -479,9 +479,19 @@ void Openbox::process_event(XEvent *e) { if (! win) win = new OpenboxWindow(*this, e->xmaprequest.window); - if ((win = searchWindow(e->xmaprequest.window))) + if ((win = searchWindow(e->xmaprequest.window))) { win->mapRequestEvent(&e->xmaprequest); - + // if we're using the click to place placement type, then immediately + // after the window is mapped, we need to start interactively moving it + if (win->getScreen()->placementPolicy() == BScreen::ClickMousePlacement) { + int x, y, rx, ry; + Window c, r; + unsigned int m; + XQueryPointer(getXDisplay(), win->getScreen()->getRootWindow(), + &r, &c, &rx, &ry, &x, &y, &m); + win->startMove(rx, ry); + } + } break; } |
