Dear $LIST,
I seem to be stuck in a rather deep rabbit hole, and in dire need of an adult, err, developer with C++ skills.
Originally, I was merely trying to track down a race condition regarding the sessions file in MATE-Minidesktop-Mode. In doing so, I noticed some other things going wrong during the X2GoClient startup in MMD.
So what I'm looking at right now is the source of X2GoClient, where it says:
if (param == "--thinclient")
{
thinMode=true;
startMaximized=true;
return true;
}
and
if ( param=="--maximize" )
{
startMaximized=true;
return true;
}
So startMaximized is already triggered by "--maximize" (which is set in the MMD X2GoClient startup script "/etc/x2go/x2gothinclient-minidesktop_start"). Great. One thing less to worry about.
The only occurrences of thinMode in src/onmainwindow.cpp are:
if (thinMode)
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(slotSyncX()));
timer->start(200);
}
and
if (thinMode)
{
x2goDebug<<"Thin Mode is active.";
showMaximized();
activateWindow();
raise();
}
The second one is easy, it's some magic to make the Window appear in fullscreen and in the foreground, and this is probably how it needs to be done so it works even when there's no window manager present (as in TCE-NFS).
But what is that timer thing in the first if clause about???
The reason why I need to know this is so I can determine if the "--thinclient" parameter should be set when calling X2GoClient in MATE-MiniDesktop mode, should be unset, or is irrelevant.
(Note: TCE-NFS is not affected as it uses a different start script.)
Kind Regards, Stefan Baur
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243