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.

Reply via email to