Package: xmonad Version: 0.9.1-2+b1 Severity: normal I've set up a virtual desktop on two screens with xrandr (see xorg.conf below). I've both tried setting the --primary flag manually with xrandr as well as in xorg.conf, and I've tried swapping connectors on the graphics card. GDM, Gnome and dwm all correctly recognize my right screen as the primary, but not xmonad. The only thing that works is using xrandr to set the right screen as the left using xrandr --auto --output DFP2 --left-of DFP1, which of course means the computer thinks my right screen is actually my left. Setting things back with xrandr --auto --output DFP2 --right-of DFP1 does not help, so it is not a question of order of appearance, but, it seems, a matter of physical placement.
My xorg.conf: Section "Monitor" Identifier "Primary monitor" # Option "Primary" "On" EndSection Section "Monitor" Identifier "Secondary monitor" Option "RightOf" "Primary monitor" Option "Primary" "On" # Option "Primary" "Off" EndSection Section "Device" Identifier "radeon" Driver "fglrx" BusID "PCI:1:0:0" Option "Monitor-DFP1" "Primary monitor" Option "Monitor-DFP2" "Secondary monitor" EndSection Section "Screen" Identifier "Default Screen" Device "radeon" DefaultDepth 24 SubSection "Display" Depth 24 # big virtual screen to place Virtual 3000 1200 # Virtual 2560 1024 EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" EndSection My ~/.xmonad/xmonad.hs: import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageHelpers import XMonad.Util.Run(spawnPipe) import XMonad.Util.EZConfig(additionalKeys) import System.IO import qualified Data.Map as M import qualified XMonad.StackSet as W import XMonad.Layout.NoBorders import XMonad.Layout.IndependentScreens import XMonad import XMonad.Actions.UpdatePointer main = do xmproc <- spawnPipe "/usr/bin/xmobar /home/albin/.xmonad/xmobarrc.hs" xmonad $ defaultConfig { manageHook = manageDocks <+> manageHook defaultConfig <+> composeOne [ isKDETrayWindow -?> doIgnore , transience , isFullscreen -?> doFullFloat , resource =? "stalonetray" -?> doIgnore , className =? "Emacs" -?> doShift "emacs" , className =? "Conkeror" -?> doShift "web" , className =? "MPlayer" -?> doFullFloat ] -- manageHook = composeAll -- [ -- className =? "Emacs" -?> doShift "emacs" -- , className =? "Conkeror" -?> doShift "web" -- , className =? "MPlayer" -?> doFullFloat -- , className =? "MPlayer" --> doFloat -- , className =? "Gimp" --> doFloat -- , resource =? "desktop_window" --> doIgnore -- , resource =? "kdesktop" --> doIgnore ] , layoutHook = avoidStruts $ smartBorders $ layoutHook defaultConfig , logHook = dynamicLogWithPP $ xmobarPP { ppOutput = hPutStrLn xmproc , ppTitle = xmobarColor "green" "" . shorten 50 } -- , logHook = dynamicLogWithPP $ defaultPP { ppOutput = hPutStrLn h } , keys = newKeys -- , workspaces = map show [1 .. 9 :: Int] , workspaces = myWorkspaces -- , workspaces = withScreens 2 myWorkspaces } `additionalKeys` myKeys myKeys = [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock") , ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s") , ((0, xK_Print), spawn "scrot") , ((mod1Mask , xK_b ), sendMessage ToggleStruts) ] -- Turn off greedyView ++ [((m .|. mod4Mask, k), windows $ f i) | (i, k) <- zip myWorkspaces [xK_1 .. xK_9] , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] -- [((m .|. mod4Mask, k), windows $ onCurrentScreen f i) -- | (i, k) <- zip myWorkspaces [xK_1 .. xK_9] -- , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] ++ -- -- mod-{a,o,e}, Switch to physical/Xinerama screens 1, 2, or 3 -- mod-shift-{a,o,e}, Move client to screen 1, 2, or 3 -- [((m .|. mod1Mask, key), screenWorkspace sc >>= flip whenJust (windows . f)) | (key, sc) <- zip [xK_a, xK_o, xK_e] [0..] , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] myWorkspaces = ["web", "2", "emacs" ] ++ map show [4..9] newKeys x = M.difference (keys defaultConfig x) (M.fromList $ keysToRemove x) keysToRemove :: XConfig Layout -> [((KeyMask, KeySym),X ())] keysToRemove x = [ ((modMask x , xK_w ), return ()) , ((modMask x .|. shiftMask, xK_w ), return ()) , ((modMask x , xK_p ), return ()) ] -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages xmonad depends on: ii libc6 2.11.2-6 Embedded GNU C Library: Shared lib ii libffi5 3.0.9-2 Foreign Function Interface library ii libgmp3c2 2:4.3.2+dfsg-1 Multiprecision arithmetic library ii libx11-6 2:1.3.3-3 X11 client-side library ii libxext6 2:1.1.2-1 X11 miscellaneous extension librar ii libxinerama1 2:1.1-3 X11 Xinerama extension library ii x11-utils 7.5+4 X11 utilities Versions of packages xmonad recommends: ii libghc6-xmonad-dev 0.9.1-2+b1 A lightweight X11 window manager ii libghc6-xmonad-doc 0.9.1-2 A lightweight X11 window manager; Versions of packages xmonad suggests: ii suckless-tools [dmenu] 35-1 simple commands for minimalistic w -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org