From f4d29bb737631dfd085646283b7620ef863303bf Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 30 Apr 2002 07:46:46 +0000 Subject: [PATCH] make sure that the only time Click-to-place kicks in is when initially placing/mapping the window --- src/Window.cc | 9 +++++---- src/Window.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Window.cc b/src/Window.cc index dca583b3..c8c3760b 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -1452,7 +1452,7 @@ void OpenboxWindow::iconify(void) { } -void OpenboxWindow::deiconify(Bool reassoc, Bool raise) { +void OpenboxWindow::deiconify(bool reassoc, bool raise, bool initial) { if (flags.iconic || reassoc) screen->reassociateWindow(this, -1, False); else if (workspace_number != screen->getCurrentWorkspace()->getWorkspaceID()) @@ -1470,8 +1470,8 @@ void OpenboxWindow::deiconify(Bool reassoc, Bool raise) { // 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 (screen->placementPolicy() == BScreen::ClickMousePlacement && - place_window && !(flags.iconic || reassoc)) { + if (initial && place_window && + screen->placementPolicy() == BScreen::ClickMousePlacement) { // if the last window wasn't placed yet, or we're just moving a window // already, finish off that move cleanly OpenboxWindow *w = openbox.getFocusedWindow(); @@ -2243,7 +2243,8 @@ void OpenboxWindow::mapRequestEvent(XMapRequestEvent *re) { case InactiveState: case ZoomState: default: - deiconify(False); + deiconify(False, True, True); // specify that we're initializing the + // window break; } diff --git a/src/Window.h b/src/Window.h index 66a3049e..fb988e23 100644 --- a/src/Window.h +++ b/src/Window.h @@ -321,7 +321,7 @@ public: void setFocusFlag(Bool); void iconify(); - void deiconify(Bool reassoc = True, Bool raise = True); + void deiconify(bool reassoc = true, bool raise = true, bool initial = false); void close(); void withdraw(); void maximize(unsigned int button); -- 2.39.2