Multiple monitors, VirtualScreens and/or Xrandr

Max <[email protected]>
Newsgroups gmane.comp.window-managers.ctwm
Message-ID <[email protected]>
Hi all,

I use ctwm for more than 20 years and I am pretty happy with it.

I use 2 monitors in "xinerama mode" (first using Xinerama extension, 
then now using Xrandr extension) without any problem as they are the 
same, with, of course, the same resolution.

As I want to add a third monitor, with a different resolution this time, 
I am a bit annoyed... Note that it would be the same if I would connect 
an external monitor to my laptop.

Indeed, I use DontMoveOff configuration, and adding a new monitor with a 
different resolution breaks this feature (as well as f.pack & f.full* 
functions), as ctwm considers a single maximal rectangular screen area 
gathering all monitors together so including "black" areas when monitors 
resolutions do not match. These "black" areas are not taken into account 
when moving windows or f.packing/f.fulling them (read as, you can move 
windows in these non visible areas even DontMoveOff is enabled.)

I tried to use VirtualScreens to declare my different size areas (2 in 
fact: the first one for the 2 monitors of the same size, the second for 
the third monitor), but I did not succeed to use it correctly (even with 
last 4.0.0-beta.20170507.) Menus always open in first area when I click 
on second (on root window or on frame button), moving window from one 
area to the second one works (using f.forcemove as DontMoveOff works as 
expected), BUT both workspace managers (one in each area) display the 
window, instead of only displaying the window in area owning it.

So I have 2 questions:
- do someone successfully use the VirtualScreens feature?
- do someone plan to integrate Xrandr extension?

I understood how to request all monitors using Xrandr extension 
programmatically (I am not X Window programmer but quite experienced C 
one.) But when I watched ctwm sources and found in screen.h the 
different areas ctwm is able to handle (RealRoot, CaptiveRoot, 
XineramaRoot), I was a bit confused...

If xrandr integration is not planned, I would like to have a look at it 
to make DontMoveOff, f.pack and f.full* working. In this case, perhaps 
someone can give me some pointers and/or pitfalls to avoid?

Best regards,

Max.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.