aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorsimonb <simonb>2005-01-04 10:51:38 (GMT)
committersimonb <simonb>2005-01-04 10:51:38 (GMT)
commit61bb3f039afd5a29ae655666fbc2fe7943eab8e2 (patch)
tree9574a68535ffac8e8dc17c0a0fd4dfaf65adf114 /src/Window.cc
parent338a985c0567c4bea55c20c01f9df492756a6a34 (diff)
downloadfluxbox-61bb3f039afd5a29ae655666fbc2fe7943eab8e2.zip
fluxbox-61bb3f039afd5a29ae655666fbc2fe7943eab8e2.tar.bz2
fix some initialisation, especially relating to placement and
decoration/handler hints
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc11
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
1748void FluxboxWindow::setWorkspace(int n) { 1751void 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