Hi All

I recently added a second screen to my setup, so now I finally have to deal with the Xinerama/Xrandr features. I realise that the Xrandr support for Xrandr is super basic (we are just restarting wmaker when anything changes), but even so, I think I am seeing some funnies.

So I wonder if anybody can reproduce these and/or how you guys are working around these?

1.

Plug in external monitor, wmaker restarts as expected, but it re-runs everything in ~/GNUstep/Library/WindowMaker/autostart . So after a few plug/unplug cycles, I have multiple copies of nm-applet etc. running.

I can't really figure out how to work around this, except maybe adding "--no-autolaunch" to the restarted copy. (See main.cpp:694), and then making execInitScript() check for the flag (see main.cpp:567). I can code this patch if it is the "right way", but maybe there is a better way?


2.

This one is a bit harder to nail down, because it manifests in a number of different situations, but here is one I can reproduce nicely:

Plug in external screen, wmaker restarts as expected. Xrandr assigns the new display (HDMI1) as right of my laptop display(eDP1) by default. The display is actually to the left of my laptop display, so then I run:

$ xrandr --output HDMI1 --left-of eDP1

This momentarily fixes the display order (if I move the mouse quickly, I can see the cursor leave the left side of eDP1 and enter on the right side of HDMI1), but then wmaker restarts and somehow forces xrandr to redetect everything, which it does and that leaves me with HDMI1 to the right of eDP1 again.

I can see this same problem when xrandr misdetects the resolution of a projector I have. When I fix the resolution with:

$ xrandr --output HDMI1 --mode "1280x720"

I can see the resolution change to the correct one momentarily, but then wmaker restarts which causes xrandr to redetect everything and the resolution is back to the incorrect mode (1680x1050 if anybody wants to know)

Am I the only one seeing this?


3.

Is there a way to tell wmaker to keep the dock on the laptop display? When I plug in the external display, it moves my dock there (since the external is to the right of the laptop display, it makes sense), but I would like to force it to stay on the display designated with:

$ xrandr --output eDP1 --primary

This is better because when doing presentations the dock should stay on the laptop display and not on the projector, leaving the projector screen with no clutter.

I can't see an easy way here, unless adding some smarts to xinerama.c:40 will do it. Any ideas?


4.

There are a bunch of smaller bugs, like when you plug in a second screen, wmaker restarts and puts your dock on the new screen. If you have "do not cover dock when maximising" set, maximizing a window on the old display will leave some empty space even though dock is no longer there.



Whoa that was longer than I hoped, I would appreciate it to get some comment from people who have more experience with multi-head stuff, I'll try to code the patches as long as there is some consensus on "the right way".

Regards,

Johann Haarhoff


--
To unsubscribe, send mail to [email protected].

Reply via email to