} else if (! flags.focused) {
if (focus_mode == F_LocallyActive || focus_mode == F_Passive)
XSetInputFocus(display, client.window,
- RevertToPointerRoot, CurrentTime);
+ RevertToPointerRoot, CurrentTime);
else
XSetInputFocus(display, screen->getRootWindow(),
RevertToNone, CurrentTime);
- openbox.setFocusedWindow(this);
+ openbox.focusWindow(this);
if (flags.send_focus_message) {
XEvent ce;
void OpenboxWindow::maximize(unsigned int button) {
+ if (flags.moving)
+ endMove();
+
// handle case where menu is open then the max button is used instead
if (windowmenu && windowmenu->isVisible()) windowmenu->hide();
void OpenboxWindow::mapRequestEvent(XMapRequestEvent *re) {
- cout << "MAP REQUEST " << client.window << " " << client.title << endl;
if (re->window == client.window) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowMapRequest,
openbox.grab();
if (! validateClient()) return;
+ if (flags.moving)
+ endMove();
+
XChangeSaveSet(display, client.window, SetModeDelete);
XSelectInput(display, client.window, NoEventMask);
void OpenboxWindow::destroyNotifyEvent(XDestroyWindowEvent *de) {
if (de->window == client.window) {
+ if (flags.moving)
+ endMove();
XUnmapWindow(display, frame.window);
delete this;
ASSERT(!flags.moving);
// make sure only one window is moving at a time
- OpenboxWindow *w;
- if ((w = openbox.getMaskedWindow()) != (OpenboxWindow *) 0 &&
- w->flags.moving)
+ OpenboxWindow *w = openbox.getMaskedWindow();
+ if (w != (OpenboxWindow *) 0 && w->flags.moving)
w->endMove();
XGrabPointer(display, frame.window, False, PointerMotionMask |
}
frame.grab_x = x - frame.x - frame.border_w;
frame.grab_y = y - frame.y - frame.border_w;
- cout << "START MOVE " << client.window << " " << client.title << endl;
}
// cause problems
XEvent e;
while (XCheckTypedWindowEvent(display, frame.window, MotionNotify, &e));
- cout << "END MOVE " << client.window << " " << client.title << endl;
}
Bool left = resize_zone & ZoneLeft;
if (! flags.resizing) {
- cout << "START RESIZE " << client.window << " " << client.title << endl;
Cursor cursor;
if (resize_zone & ZoneTop)
cursor = (resize_zone & ZoneLeft) ?
screen->showGeometry(gx, gy);
}
- } else
- cout << "MOTION " << client.window << " " << client.title << endl;
+ }
}
XMapWindow(display, client.window);
XFlush(display);
+
+ delete this;
}