diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index 0e2e72e..fdb636d 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -485,6 +485,7 @@ void FluxboxWindow::init() { | |||
485 | m_timer.setCommand(raise_cmd); | 485 | m_timer.setCommand(raise_cmd); |
486 | m_timer.fireOnce(true); | 486 | m_timer.fireOnce(true); |
487 | 487 | ||
488 | // Slit client? | ||
488 | if (m_client->initial_state == WithdrawnState) { | 489 | if (m_client->initial_state == WithdrawnState) { |
489 | return; | 490 | return; |
490 | } | 491 | } |
@@ -492,6 +493,7 @@ void FluxboxWindow::init() { | |||
492 | m_managed = true; //this window is managed | 493 | m_managed = true; //this window is managed |
493 | 494 | ||
494 | Fluxbox::instance()->saveWindowSearchGroup(frame().window().window(), this); | 495 | Fluxbox::instance()->saveWindowSearchGroup(frame().window().window(), this); |
496 | Fluxbox::instance()->attachSignals(*this); | ||
495 | 497 | ||
496 | // update transient infomation | 498 | // update transient infomation |
497 | m_client->updateTransientInfo(); | 499 | m_client->updateTransientInfo(); |
@@ -518,11 +520,11 @@ void FluxboxWindow::init() { | |||
518 | 520 | ||
519 | grabButtons(); | 521 | grabButtons(); |
520 | 522 | ||
523 | restoreAttributes(); | ||
524 | |||
521 | if (m_workspace_number < 0 || m_workspace_number >= screen().getCount()) | 525 | if (m_workspace_number < 0 || m_workspace_number >= screen().getCount()) |
522 | m_workspace_number = screen().currentWorkspaceID(); | 526 | m_workspace_number = screen().currentWorkspaceID(); |
523 | 527 | ||
524 | restoreAttributes(); | ||
525 | |||
526 | bool place_window = true; | 528 | bool place_window = true; |
527 | if (fluxbox.isStartup() || m_client->isTransient() || | 529 | if (fluxbox.isStartup() || m_client->isTransient() || |
528 | m_client->normal_hint_flags & (PPosition|USPosition)) { | 530 | m_client->normal_hint_flags & (PPosition|USPosition)) { |
@@ -569,6 +571,7 @@ void FluxboxWindow::init() { | |||
569 | 571 | ||
570 | 572 | ||
571 | screen().getWorkspace(m_workspace_number)->addWindow(*this, place_window); | 573 | screen().getWorkspace(m_workspace_number)->addWindow(*this, place_window); |
574 | setWorkspace(m_workspace_number, true); | ||
572 | 575 | ||
573 | if (shaded) { // start shaded | 576 | if (shaded) { // start shaded |
574 | shaded = false; | 577 | shaded = false; |
@@ -1745,7 +1748,7 @@ void FluxboxWindow::maximizeFull() { | |||
1745 | } | 1748 | } |
1746 | 1749 | ||
1747 | 1750 | ||
1748 | void FluxboxWindow::setWorkspace(int n) { | 1751 | void FluxboxWindow::setWorkspace(int n, bool notify) { |
1749 | unsigned int old_wkspc = m_workspace_number; | 1752 | unsigned int old_wkspc = m_workspace_number; |
1750 | 1753 | ||
1751 | m_workspace_number = n; | 1754 | m_workspace_number = n; |
@@ -1754,7 +1757,7 @@ void FluxboxWindow::setWorkspace(int n) { | |||
1754 | m_blackbox_attrib.workspace = m_workspace_number; | 1757 | m_blackbox_attrib.workspace = m_workspace_number; |
1755 | 1758 | ||
1756 | // notify workspace change | 1759 | // notify workspace change |
1757 | if (!stuck && old_wkspc != m_workspace_number) { | 1760 | if (notify && !stuck && old_wkspc != m_workspace_number) { |
1758 | #ifdef DEBUG | 1761 | #ifdef DEBUG |
1759 | cerr<<this<<" notify workspace signal"<<endl; | 1762 | cerr<<this<<" notify workspace signal"<<endl; |
1760 | #endif // DEBUG | 1763 | #endif // DEBUG |