On Thu, Sep 11, 2014 at 11:51:50PM +0100, Dominik Vogt wrote:
> I don't see any garbage at the moment. But it's possible that
> this only happens on the other box that does not have XRandR. I'll
> check that tomorrow.
Thank you.
It seems I've never really explained the butchery that went on in
swapping out Xinerama for XRandR and why I did that.
Partly, the move was out of anger, and that Xinerama has been deprecated
for ages. In doing this, I tried to keep the behaviour of screens as
best I could in fvwm.
To that end, the changes I've done are this:
- Each monitor reported by XRandR is a discrete entity from the other
monitor. (i.e., unlike Xinerama, it's not one big screen divided into
n monitors)
- Monitors as reported by XRandR have actual names, not numbers as they
were in Xinerama. This meant:
o A bunch of assumptions from window placement to geometry parsing
had to be undone;
o A special name of monitor "global" can be used to treat both
XRandR screens as one entity (the old behaviour with Xinerama);
o Special geometry handling in the form:
100x100+100@0
Now had to s/0/$MONITOR_NAME
Where $MONITOR_NAME is either "global" / XRANDR_MONITOR_NAMES
- The APIs from libs/FScreen.[ch] needed changing, and because each
monitor is now a discrete entity, that naturally expands to allowing
per-monitor desks/pages.
o This has been completely shoe-horned in by me;
o It's not perfect;
o The API sucks where I've tried to keep it the same as the one
Xinerama provided to reduce code-churn; leading to three/four
different ways of finding a monitor, etc.
o I dislike the whole: fw->m ? fw->m : monitor_get_current() stuff.
o FvwmPager is completely broken by this change (as noted in the
TODO)
- I am not reacting to XRROutputChangeNotifyEvent/XRRUpdateConfiguration
and hence plugging/unplugging monitors means nothing to mvwm.
Likewise, how would we handle rotating windows with rotating displays?
On the plus-side, I've wanted this separation of monitors to desks for
an eternity, and the above can be changed bit-by-bit along with
everything else.
But you're starting to see where my changes are having a more invasive
impact on the previous status-quo, unfortunately. Whilst I appreciate
the testing and the quick fixes, I do hope there's not many more of
them. :)
> The message looks like this:
>
> [mvwm][__explain_placement]: placed new window 0x1c00006 'XMessages':
> initial size 500x246
> desk 0 (current desk)
> current page
> screen: <binary garbage>: 0 0 1600x1200 (current screen)
OK. I think I've fixed this, but if not, I'd like to hear about it. :)
It's entirely possible you're using the "global" screen, or still have
geometry strings in the fooxbar@screenname form, and "screenname" is
still a number and unresolvable.
> > Fixed by reverting. Will need to sync from fvwm's CVS repo.
>
> If there is a problem with the grabs, we need to look at it again.
I've just seen an older mail from you on my CVS commit which I've
responded to. You should have proded me harder, that specific email got
lost in the noise of others...
-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)