You are not logged in.
xmonad seems not to detect the order of my screens properly.
With nvidia-settings, i have configured the second screen to be 'right of'
my main screen. The main screen still shows the boot messages.
However, as soon as i log in, the focus goes to the second screen.
Also, mod-w refers to the second screen, whereas mod-e refers to the
main screen. It seems like, xmonad just confuses them both and
recognizes them in opposite order. The mouse however mouse as
expected to the right screen.
Searching the internet, i found that i can remap the keys to refer to
my screens properly. And for sure, there is a way to configure the
screen which has the focus on login. However i would rather like to
understand what the problem is and fix it, then fiddeling with the
symptoms.
The second is connected via VGA, just in case, that makes a difference.
Offline
See the XMonad FAQ.
The underlying problem is that Xmonad uses the order provided to it by the Xinerama extension, rather than any kind of physical ordering.
Education is favorable to liberty. Freedom can exist only in a society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.
Tu ne cede malis sed contra audentior ito
Offline
I read that, but i was hoping i could fix this outside of xmonad.
Am i getting you right, that this is the only way to fix this?
Offline
Have you tried changing which display is marked as "primary" in nvidia-settings?
The screen my boot messages show up on is the one I have on the right, which is the non-default behaviour. I don't know why yours wouldn't "just work"
Offline
I read that, but i was hoping i could fix this outside of xmonad.
Am i getting you right, that this is the only way to fix this?
Well, to fix this "outside of Xmonad", one should probably use RandR in the window manager. To my knowledge, Xmonad does not---it uses Xinerama.
Even with RandR, you could mark one screen as "primary." But I don't know how that would determine the "order" of screens to be used. In a dual monitor configuration, you might get lucky, because there are only ever two orderings for two monitors.
In either case, the correct and proper solution here is to order the screens by whichever physical orientation you prefer. This is what the PhysicalScreens module does. (Neither Xinerama nor RandR know which order to give the screens in.)
When you say you want to "fix this outside of Xmonad", are you referring to using other window managers? (And if not, what do you mean?) Unfortunately, it is up to the window managers to interpret the information returned from Xinerama/RandR.
Education is favorable to liberty. Freedom can exist only in a society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.
Tu ne cede malis sed contra audentior ito
Offline
@jac:
nvidia-settings doesn't work any more. When i click on 'Save Configuration', it just exits.
No error, no nothing. Therefore i fiddled with the xorg configuration directly, following the
xorg and nvidia wiki article.
@BurntSushi:
I thought there was a problem with xorg or the driver and i wanted to fix the problem, where
it occurs, not just work around the symptoms. That's what i meant with "outside of xmonad".
But if i'm getting you right, the problem is with xmonad (or rather there is nothing specified
and xmonad just makes a for me false assumption). So i guess to proper place to fix this is
indeed xmonad.
Another reason was that the solution in the XMonad FAQ looks kind of cryptic to me and i just
don't like to copy and paste things i don't understand. But i guess sooner or later i have to
emerse myself in Haskell...
Offline
I just found that on http://haskell.org/haskellwiki/Xmonad/N … _since_0.8:
Actions.PhysicalScreens -- More intuitive use of multiple xinerama screens by physical ordering rather than ScreenID. (I.e. no more rebinding mod-{w,e,r} because xorg chose 0:middle, 1:right, 2:left, etc.)
Seems to me, this is related, but i don't know how i can use this information...
Offline
But if i'm getting you right, the problem is with xmonad (or rather there is nothing specified
and xmonad just makes a for me false assumption). So i guess to proper place to fix this is
indeed xmonad.
The problem is not Xmonad---it solves the issue by having the "PhysicalScreens" module. The PhysicalScreens module fixes precisely the issue you're having.
Fixing this on a "grander" scale requires modifying the X extensions themselves (Xinerama and/or RandR). It it not a bug that those extensions report the physical displays in an odd order.
The window manager must orient the screens how it sees fit; PhysicalScreens does just that.
Another reason was that the solution in the XMonad FAQ looks kind of cryptic to me and i just
don't like to copy and paste things i don't understand. But i guess sooner or later i have to
emerse myself in Haskell...
Use the xmonad-contrib API docs for an example of how to use PhysicalScreens.
You can only get so far with configuring Xmonad without learning some Haskell. It's a huge upfront cost, I know, but you otherwise end up copying & pasting.
Education is favorable to liberty. Freedom can exist only in a society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.
Tu ne cede malis sed contra audentior ito
Offline
Hello MickeyKnox,
How about just swapping the cables on your video card? I have the same "issue" as yourself. I have dual monitors (dual dvi), and only 1 of them shows BIOS information on bootup, while the other remains blank. However, this primary screen is recognized by the Nvidia driver (always been the case) as screen 1 (secondary screen) not screen 0 (primary screen). Granted, if your monitors are rotated a certain way, you'll end up with side-scrolling BIOS screen messages, but at least it will work (don't forget to update your xorg.conf stuff btw). Swapping cables and changing a few lines in xorg.conf should be a ton easier than fiddling with xmonad.hs and PhysicalScreens...
Offline
I have done the swap things physically instead of programming it. It works until you start swapping out computers who read all your screens differently, and you have to physically move everything each time its not right. Also, sort of a pain to move my screens physically, when it should be done in code.
Offline