Yes, I had exactly the same problem (and the problem hasn't change with E16.7). When Scribus starts, some dialogs window appears, but they shouldn't exist for scribus (i.e. in "Tools" menu, they are all unchecked) nor for E (they don't appear in the 'wl' command of eesh). These windows are thus unmanaged by E. If you check these windows in the 'Tools" menu, nothing happens. If you uncheck them, they disappear. Then, all is OK. If you check again these windows, they appear, managed with menuborder. A quick "hack" is that when you close scribus, all tools windows must be open, so that the next time you start scribus, they are marked as opened, and appear managed. If you closed them, the next time, they are marked as closed, but are still opened, unmanaged.
I don't know what happen, but it looks like these windows shouldn't appear... but does.
There seem to be a few apps that have windows which escape management by E, MonoDevelop being the only other one I know of.
I think it is a bug in scribus. It sends a bogus Unmap event after a dialog window is (requested to be) mapped but before it has actually been mapped. The attached patch seems to make scribus behave, although I think there are some other program logic bugs (why try to hide the window immediately after it is mapped?).
However, I think E probably should be fixed to ignore these bogus events.
/Kim
--- scribus/scribus.cpp-org 2004-05-17 22:47:10.437432752 +0200
+++ scribus/scribus.cpp 2004-05-17 22:48:16.105449696 +0200
@@ -4078,7 +4078,7 @@
{
Prefs.Tpalx = Tpal->pos().x();
Prefs.Tpaly = Tpal->pos().y();
- Tpal->close();
+ Tpal->hide();
}
toolMenu->setItemChecked(viewTpal, visible);
}
@@ -4098,7 +4098,7 @@
Prefs.SCpaly = ScBook->pos().y();
Prefs.SCpalw = ScBook->size().width();
Prefs.SCpalh = ScBook->size().height();
- ScBook->close();
+ ScBook->hide();
}
toolMenu->setItemChecked(viewBpal, visible);
}
@@ -4120,7 +4120,7 @@
{
Prefs.Lpalx = Lpal->pos().x();
Prefs.Lpaly = Lpal->pos().y();
- Lpal->close();
+ Lpal->hide();
}
toolMenu->setItemChecked(viewLpal, visible);
}
@@ -4140,7 +4140,7 @@
Prefs.Sepaly = Sepal->pos().y();
Prefs.SepalT = Sepal->TemplList->Thumb;
Prefs.SepalN = Sepal->PageView->Namen;
- Sepal->close();
+ Sepal->hide();
}
toolMenu->setItemChecked(viewSepal, visible);
}
