The X11 fullscreen story is a mess. No-one knows how to do it properly, and most apps is broken in some way, or with some window managers. One pretty critical bug is https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=104713: When using rdesktop in combination with xscreensaver, it's impossible to unlock xscreensaver. Instead, the password is sent to the WTS... The rdesktop problem is probably not critical in ThinLinc, since we are usually not using xscreensaver on the TL server. However, vncviewer (=ThinLinc client) suffers from the same problem. My comments in the RedHat bugzilla describes an approach that should work: We should use _NET_WM_STATE_FULLSCREEN if available, otherwise revert to override-redirect. This bug is about fixing both rdesktop and vncviewer.
I think this is pretty much work, since it's not obvious how the problem should be solved. It would help if jwz agreed to our solution.
Currently, there's a long thread on the wine-devel list about fullscreen issues. Might be worth reading, when digging into this. It covers some Sawfish and Metacity issues.
It would be nice if we could re-use the rdesktop ewmhints.c implementation. This is possible, but there are a few issues with it: * It includes rdesktop.h. This can be fixed quite easily, but constants such as SEAMLESSRDP_MAXIMIZED need to be handled. * Depends on xmalloc/xfree * Depends on the global variable g_display. Another problem is that rdesktop is GPLv3 while vncviewer is GPLv2. No changes to this file has been done after the switch to GPLv3, so it's not a problem now; we can grab the v2 version. Also, we have implemented basically everything ourselves. But, for the future, we need to think about this. The rdesktop ewmhints.c cannot be an "upstream". We could consider creating a separate library/project out of this file, even if that would only consist of this single C file. We might want to split this bug into two; one for vncviewer and one for rdesktop. Note that for rdesktop, there are already patches floating around that switches to an EWMH fullscreen implementation.
Created attachment 355 [details] EWMH fullscreen for vncviewer Quick and dirty patch which switches to EWMH fullscreen for vncviewer. Uses patched ewmhints.c from rdesktop.
Created attachment 363 [details] Updated patch for TL 3.1
*** Bug 253 has been marked as a duplicate of this bug. ***
We should split this bug into two, one for each program.
vncviewer moved to bug 3668.
I will probably fix this as part of the rdesktop community work, but this is not a showstopper for 3.2.0.
rdesktop (and associated tools) is being removed from the ThinLinc product.