aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Window.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 6310ce1..e80d360 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -513,21 +513,18 @@ void FluxboxWindow::init() {
513 513
514 bool place_window = (m_old_pos_x == 0); 514 bool place_window = (m_old_pos_x == 0);
515 515
516 if (fluxbox.isStartup() || m_client->isTransient() || 516 if (fluxbox.isStartup())
517 place_window = false;
518 else if (m_client->isTransient() ||
517 m_client->normal_hint_flags & (PPosition|USPosition)) { 519 m_client->normal_hint_flags & (PPosition|USPosition)) {
518 520
519 if (! fluxbox.isStartup()) { 521 int real_x = frame().x();
522 int real_y = frame().y();
520 523
521 int real_x = frame().x(); 524 if (real_x >= 0 &&
522 int real_y = frame().y(); 525 real_y + frame().y() >= 0 &&
523 526 real_x <= (signed) screen().width() &&
524 if (real_x >= 0 && 527 real_y <= (signed) screen().height())
525 real_y + frame().y() >= 0 &&
526 real_x <= (signed) screen().width() &&
527 real_y <= (signed) screen().height())
528 place_window = false;
529
530 } else
531 place_window = false; 528 place_window = false;
532 529
533 } 530 }