Raimund Steger
2016-01-19 23:00:25 UTC
Hi,
for years now I have been using nxagent to work with X11 desktops over our company WAN. nxagent is a variant of Xnest with some low-bandwidth optimizations when paired with a client program called nxproxy. I think it's also the basis for X2go.
nxagent windows are resizable. This means the X display they present to clients, such as FVWM, can change its geometry dynamically. Up until now, this hasn't been a problem as I've just configured a certain size and refrained from resizing the window in any way.
However, we've now been outfitted with laptops which have the annoying trait of switching the whole local desktop to the resolution of the built-in LCD whenever the external monitor is switched off. This means my nxagent windows are now resized a lot more often.
Whenever this happens, a ConfigureNotify event on the root window occurs which carries the new extent of the window. Xrandr is not involved as far as I can tell.
Now after a couple of weeks filled with countless FVWM restarts, I've finally looked into building a patch (attached) that will at least update $[vp.width] and make FVWM popup menus be clipped correctly to the changed screen area. As far as I've been able to tell this seems to work, although I have no real grasp about what places *would* actually need to be changed to do it properly. Also, what I've done is very likely totally wrong for multi-head/Xinerama setups.
Just wanted to hear somebody else's opinion on the whole thing...
Raimund
for years now I have been using nxagent to work with X11 desktops over our company WAN. nxagent is a variant of Xnest with some low-bandwidth optimizations when paired with a client program called nxproxy. I think it's also the basis for X2go.
nxagent windows are resizable. This means the X display they present to clients, such as FVWM, can change its geometry dynamically. Up until now, this hasn't been a problem as I've just configured a certain size and refrained from resizing the window in any way.
However, we've now been outfitted with laptops which have the annoying trait of switching the whole local desktop to the resolution of the built-in LCD whenever the external monitor is switched off. This means my nxagent windows are now resized a lot more often.
Whenever this happens, a ConfigureNotify event on the root window occurs which carries the new extent of the window. Xrandr is not involved as far as I can tell.
Now after a couple of weeks filled with countless FVWM restarts, I've finally looked into building a patch (attached) that will at least update $[vp.width] and make FVWM popup menus be clipped correctly to the changed screen area. As far as I've been able to tell this seems to work, although I have no real grasp about what places *would* actually need to be changed to do it properly. Also, what I've done is very likely totally wrong for multi-head/Xinerama setups.
Just wanted to hear somebody else's opinion on the whole thing...
Raimund
--
Worringer Str 31 Duesseldorf 40211 DE home: <***@mytum.de>
+49-179-2981632 icq 16845346 work: <***@interface-ag.de>
Worringer Str 31 Duesseldorf 40211 DE home: <***@mytum.de>
+49-179-2981632 icq 16845346 work: <***@interface-ag.de>