Xmonad sanboxed and Xinerama
Hi xmonaders, I have decided to move my XMonad install inside a sandbox to avoid problems when packages are updated. I'm able to run XMonad with cabal exec xmonad and I'm very happy with it. My only problem is that XMonad cannot use Xinerama for some reason: if I configure two displays then I get a single display which is the union of the first one with the second one. I cannot find any way to use displays as independent. What I'm doing wrong? MATE is able to use Xinerama without problems and X11, XMonad and XMonad-contrib are built with xinerama:
ldd ../../xmonad/.cabal-sandbox/bin/xmonad ... libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f86f66e8000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f86f63b2000) libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f86f61a8000) ...
I have libxinerama:
ghc -e Graphics.X11.Xinerama.compiledWithXinerama True
And Xorg starts with Xinerama:
grep -i xinerama /var/log/Xorg.0.log [ 13.627] Initializing built-in extension XINERAMA
I don't know what's wrong...how can I understand what's going on? Thanks in advance, Mario
This sounds like an X configuration issue. You may be able to create or edit /etc/X11/xorg.conf to have multiple screens. But debugging that is rather annoying. I had a video setup on a box where the driver was buggy such that I was stuck in the same situation you are in. I used layoutScreens[1] to work around the issue. This module allows you to divide your single large screen into sections that xmonad will treat just like separate screens. If you choose your actual monitor layout and sizes it will work just how you want. [1] http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-LayoutScreens.htm... It still may be worthwhile to debug your xorg.conf but this workaround is useful to have in your bag of tricks. Cheers, Chris Wills On Thu, Oct 2, 2014 at 4:50 AM, Mario Pastorelli <pastorelli.mario@gmail.com
wrote:
Hi xmonaders,
I have decided to move my XMonad install inside a sandbox to avoid problems when packages are updated. I'm able to run XMonad with cabal exec xmonad and I'm very happy with it. My only problem is that XMonad cannot use Xinerama for some reason: if I configure two displays then I get a single display which is the union of the first one with the second one. I cannot find any way to use displays as independent. What I'm doing wrong? MATE is able to use Xinerama without problems and X11, XMonad and XMonad-contrib are built with xinerama:
ldd ../../xmonad/.cabal-sandbox/bin/xmonad ... libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f86f66e8000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f86f63b2000) libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f86f61a8000) ...
I have libxinerama:
ghc -e Graphics.X11.Xinerama.compiledWithXinerama True
And Xorg starts with Xinerama:
grep -i xinerama /var/log/Xorg.0.log [ 13.627] Initializing built-in extension XINERAMA
I don't know what's wrong...how can I understand what's going on?
Thanks in advance, Mario _______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
On Thu, Oct 2, 2014 at 10:30 PM, Christian Wills <cwills.dev@gmail.com> wrote:
This sounds like an X configuration issue.
I understand the original message as saying that it recognized screens correctly before xmonad was moved to a sandbox. This makes me wonder if the tests are being done with a different xmonad library and/or the sandbox is somehow not seeing a Xinerama-enabled X11 (this can happen if the original was installed globally via OS package but the sandboxed build is using a local X11 bindings package, and the Xinerama developer headers/libraries weren't installed, for example). I don't think we have enough information to diagnose this. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
Brandon Allbery <allbery.b@gmail.com> writes:
I understand the original message as saying that it recognized screens correctly before xmonad was moved to a sandbox. This makes me wonder if the tests are being done with a different xmonad library and/or the sandbox is somehow not seeing a Xinerama-enabled X11 (this can happen if the original was installed globally via OS package but the sandboxed build is using a local X11 bindings package, and the Xinerama developer headers/libraries weren't installed, for example).
This is precisely what happened to me when I moved from my package manager's version of xmonad to building in a cabal sandbox. You need to have a few of the -dev packages installed so that the Haskell X11 package can build with Xinerama support. -- Peter Jones, Founder, Devalot.com Defending the honor of good code
participants (4)
-
Brandon Allbery -
Christian Wills -
Mario Pastorelli -
Peter Jones