This bug depends on the X11 and window manager combination, so if you use X11 on other platforms, you can be affected too.
If I maximize (no fullscreen) the celestia main window and quit, the values for pos in the config file are negative.
You can read the explanation in the qt4 docs (application-windows.html#window-geometry).
Therefore celestia starts with its default values for pos and size.
Until now I find only values in the range from -5 to -2, depending on the selected window style in KDE.
This is only a workaround :
Code: Select all
diff -urN celestia.org/src/celestia/qt/qtappwin.cpp celestia/src/celestia/qt/qtappwin.cpp
--- celestia.org/src/celestia/qt/qtappwin.cpp 2011-08-22 15:00:45.794111401 +0200
+++ celestia/src/celestia/qt/qtappwin.cpp 2011-08-22 15:02:59.255235837 +0200
@@ -476,6 +476,15 @@
QSize windowSize = settings.value("Size", DEFAULT_MAIN_WINDOW_SIZE).toSize();
QPoint windowPosition = settings.value("Pos", DEFAULT_MAIN_WINDOW_POSITION).toPoint();
+
+#ifdef __linux
+ // A problem between Qt and X11. If the window is maximized (not fullscreen), pos has negative
+ // values. You can find an explanation in the qt docs (application-windows.html#window-geometry)
+ if (windowPosition.x() >= -5 && windowPosition.x() < 0)
+ windowPosition.setX(0);
+ if (windowPosition.y() >= -5 && windowPosition.y() < 0)
+ windowPosition.setY(0);
+#endif
// Make sure that the saved size fits on screen; it's possible for the previous saved
// position to be off-screen if the monitor settings have changed.
Maybe it would be better to change the values before saving