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].