Discussion:
[xmonad] Issue 526 in xmonad: avoidStruts uses getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
c***@google.com
2015-08-06 20:52:58 UTC
Permalink
Updates:
Summary: avoidStruts uses getWindowInfo dpy rootWindow instead of
getCleanedScreenInfo

Comment #2 on issue 526 by ***@gmail.com: avoidStruts uses
getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
https://code.google.com/p/xmonad/issues/detail?id=526

...and it occurs to me that we can't represent docks on multiple screens
properly anyway, since any in the direction of monitor stacking can only be
on the ends anyway. (I'm poking at our incorrect _NET_WORKAREA
implementation.) I don't think this can be fixed properly. In particular,
since EWMH assumes the workspace lives across all monitors, *it* (via strut
and _NET_WORKAREA) does not support docks between screens properly.

We could still do better than we currently are, but it's going to be a
major pain.

Also: it has been claimed that the current screen info is from the first
Xlib check and not updated by monitor changes. The workaround of using the
current bounds of the root window is flat-out wrong, because we *need* to
know the boundaries between monitors; some other solution should be found.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
c***@google.com
2015-08-06 21:24:19 UTC
Permalink
Comment #3 on issue 526 by ***@gmail.com: avoidStruts uses
getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
https://code.google.com/p/xmonad/issues/detail?id=526

Ok, the Xlib not updating is apparently an xmonad bug. If and only if we
have Xinerama support (this may mean patches needed to X11 binding), we
must receive XRRScreenChangeNotify events and make an
XRRUpdateConfiguration call in response to update Xlib with the new
information.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
c***@google.com
2015-08-11 02:55:11 UTC
Permalink
Comment #4 on issue 526 by ***@gmail.com: avoidStruts uses
getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
https://code.google.com/p/xmonad/issues/detail?id=526

And it turns out that the XRandR binding in X11 has everything *except* the
flag value needed to request XRRScreenChangeNotify events. Oh, and no way
to conditionally compile or use it; it has a flag compiledWithRandr which
is either present (and always True) or will fail to link. wat
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
c***@google.com
2015-08-11 18:49:17 UTC
Permalink
Comment #5 on issue 526 by ***@gmail.com: avoidStruts uses
getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
https://code.google.com/p/xmonad/issues/detail?id=526

I have made a note about the compiledWithRandr thing at
https://github.com/haskell-pkg-janitors/X11/issues/32 and will try to find
time to take a look this weekend. Patches to add XRRScreenChangeNotify
events welcome.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
c***@google.com
2015-08-11 18:53:53 UTC
Permalink
Comment #6 on issue 526 by ***@gmail.com: avoidStruts uses
getWindowInfo dpy rootWindow instead of getCleanedScreenInfo
https://code.google.com/p/xmonad/issues/detail?id=526

The only thing missing there is the definition of rrScreenChangeNotifyMask;
everything else needed to add this support to xmonad is there (and already
written in my local repo, ready to commit and format-patch).
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Loading...