Unfortunately the recent change to vm-display-X11.c has broken the fullscreen stuff, at least on a Pi with Raspbian. The previous version worked ok.
Symptom - the prim does not fail, but does not change the window size at all. It *does* change the view that the vm thinks it has as a window and `DisplayScreen actualScreenSize` reports the size we would expect the window to be. So somewhere in that change we’ve lost a crucial call to one of the myriad obscure X apis.
I’m peering at the file trying to see if I can spot anything missing but it’s not very likely I can solve this one without an X-pert.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: XER: Exclusive ERror
On 16-12-2015, at 4:25 PM, tim Rowledge tim@rowledge.org wrote: I’m peering at the file trying to see if I can spot anything missing but it’s not very likely I can solve this one without an X-pert.
OK, it seems to me that the state of the `fullscreenDirect` flag is inverted? If I deliberately set it then my fullscreen mode works.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim "Bo***x" said Pooh when Piglet kneed him in the groin.
On Wed, Dec 16, 2015 at 04:32:54PM -0800, tim Rowledge wrote:
On 16-12-2015, at 4:25 PM, tim Rowledge tim@rowledge.org wrote: I???m peering at the file trying to see if I can spot anything missing but it???s not very likely I can solve this one without an X-pert.
OK, it seems to me that the state of the `fullscreenDirect` flag is inverted? If I deliberately set it then my fullscreen mode works.
Hi Tim,
I made that update, so I'm responsible if it needs fixing.
The background is on http://bugs.squeak.org/view.php?id=7833
The original logic for handling fullscreen mode was written by Ian quite a while ago, and it works fine almost everywhere. If fullscreenDirect is set true (via the VM command line parameter recently added), then you are using Ian's original logic as intended by its author.
Unfortunately, there is a certain Linux distribution in wide circulation that has an apparently buggy window manager for X11, and that window manager does not handle returning from fullscreen mode correctly. Various kludgy workarounds were proposed by people like me, but Nicolai Hess ultimately came up with a good new approach that uses X window manager hints (i.e. ask the window manager to do the work, rather than try to do it yourself). That worked with the <vendor name deleted> buggy Linux distribution, and seemed to work properly with any other window manager that I could think of, except for very old window managers that nobody was likely to ever be using.
Therefore: I integrated Nicolai's new strategy as the default, and provided the -fullscreenDirect command line option to force use of the original logic in the (so I thought) extremely unlikely event that anyone in this millenium might still be using a window manager that required it.
So what window manager is rasbian using? Does it work properly when you run the VM with -fullscreenDirect on the command line?
Dave
On 16-12-2015, at 5:20 PM, David T. Lewis lewis@mail.msen.com wrote:
So what window manager is rasbian using?
I believe it is called LXDE, which probably means little more you you than it does me. More than anything it reads like the model badge on a 70’s Japanese car.
Does it work properly when you run the VM with -fullscreenDirect on the command line?
It does. If we really need to I can add that flag to the startup script but I can’t help thinking there is a a better way out there somewhere.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Fractured Idiom:- MAZEL TON - Lots of luck
On Wed, Dec 16, 2015 at 05:28:12PM -0800, tim Rowledge wrote:
On 16-12-2015, at 5:20 PM, David T. Lewis lewis@mail.msen.com wrote:
So what window manager is rasbian using?
I believe it is called LXDE, which probably means little more you you than it does me. More than anything it reads like the model badge on a 70???s Japanese car.
Does it work properly when you run the VM with -fullscreenDirect on the command line?
It does. If we really need to I can add that flag to the startup script but I can???t help thinking there is a a better way out there somewhere.
Well, according to the internet, which knows a lot more about this topic than I ever will, LXDE is a "Lightweight X11 Desktop Environment". And the buggy window manager from the <vendor name deleted> extremely popular Linux distribution is a feature rich, modern, and all around annoying improvement over simple implementations such as LXDE.
So it actually makes perfect sense that LXDE might be a very simple window manager that does not understand all the fancy bells and whistles that have been added over the years, such as the _NET_WM_STATE_FULLSCREEN window manager hint.
I think that adding the -fullscreenDirect flag when running under LXDE is probably the right thing to do.
Dave
2015-12-17 2:43 GMT+01:00 David T. Lewis lewis@mail.msen.com:
On Wed, Dec 16, 2015 at 05:28:12PM -0800, tim Rowledge wrote:
On 16-12-2015, at 5:20 PM, David T. Lewis lewis@mail.msen.com wrote:
So what window manager is rasbian using?
I believe it is called LXDE, which probably means little more you you
than it does me. More than anything it reads like the model badge on a 70???s Japanese car.
Does it work properly when you run the VM with -fullscreenDirect on the command line?
It does. If we really need to I can add that flag to the startup script but I can???t help thinking there is a a better way out there somewhere.
Well, according to the internet, which knows a lot more about this topic than I ever will, LXDE is a "Lightweight X11 Desktop Environment". And the buggy window manager from the <vendor name deleted> extremely popular Linux distribution is a feature rich, modern, and all around annoying improvement over simple implementations such as LXDE.
So it actually makes perfect sense that LXDE might be a very simple window manager that does not understand all the fancy bells and whistles that have been added over the years, such as the _NET_WM_STATE_FULLSCREEN window manager hint.
I think that adding the -fullscreenDirect flag when running under LXDE is probably the right thing to do.
Dave
I was pretty sure I tested this with an LXLE Distribution and this uses LXDE. I will check it again.
nicolai
2015-12-17 10:16 GMT+01:00 Nicolai Hess nicolaihess@gmail.com:
2015-12-17 2:43 GMT+01:00 David T. Lewis lewis@mail.msen.com:
On Wed, Dec 16, 2015 at 05:28:12PM -0800, tim Rowledge wrote:
On 16-12-2015, at 5:20 PM, David T. Lewis lewis@mail.msen.com
wrote:
So what window manager is rasbian using?
I believe it is called LXDE, which probably means little more you you
than it does me. More than anything it reads like the model badge on a 70???s Japanese car.
Does it work properly when you run the VM with -fullscreenDirect on the command line?
It does. If we really need to I can add that flag to the startup script but I can???t help thinking there is a a better way out there somewhere.
Well, according to the internet, which knows a lot more about this topic than I ever will, LXDE is a "Lightweight X11 Desktop Environment". And the buggy window manager from the <vendor name deleted> extremely popular Linux distribution is a feature rich, modern, and all around annoying improvement over simple implementations such as LXDE.
So it actually makes perfect sense that LXDE might be a very simple window manager that does not understand all the fancy bells and whistles that have been added over the years, such as the _NET_WM_STATE_FULLSCREEN window manager hint.
I think that adding the -fullscreenDirect flag when running under LXDE is probably the right thing to do.
Dave
I was pretty sure I tested this with an LXLE Distribution and this uses LXDE. I will check it again.
actually, lxde does supprt _NET_WM_STATE_FULLSCREEN and changing XSendEvent(stDisplay, DefaultRootWindow(stDisplay), False, SubstructureNotifyMask, &xev); to XSendEvent(stDisplay, DefaultRootWindow(stDisplay), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
makes fullscreen switching working with LXDE (and twm!).
nicolai
On 18-12-2015, at 10:44 AM, Nicolai Hess nicolaihess@gmail.com wrote:
SubstructureRedirectMask | SubstructureNotifyMask
Excellent; works on my Pi!
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Useful random insult:- IQ = dx / (1 + dx), where x = age.
vm-dev@lists.squeakfoundation.org