[xmonad] strange application crashes with gnome/xmonad

Rogan Creswick creswick at gmail.com
Mon Feb 28 17:43:35 CET 2011


On Fri, Feb 25, 2011 at 3:30 PM, Rogan Creswick <creswick at gmail.com> wrote:
> I'm mystified by a problem I'm having that only seems to appear when
> using xmonad with gnome, and I am hoping that someone here can help
> debug the issue.

I found a workaround - in the event anyone else has this problem:  It
seems that the crashing occurs when a gnome-panel exists on a shared
monitor edge.  Placing my (one) panel on the bottom of the external
display edge seems to have stopped things from crashing.

This *is* clearly a gnome/gtk bug of some sort, but I would still like
to figure out some more details so I can submit a report (and xmonad
is the only tool I have for reproduction right now).

--Rogan

>
> I'm running xmonad with gnome per the instructions here:
>  http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Setting_up_Gnome_to_use_Xmonad
> specifically, I set up an xmonad.desktop file in my user's
> applications dir, and I created another file in xsessions that invokes
> the following xmonad.start:
>
> ---- xmonad.start:
> --------------------------------------------------------------
> #!/bin/bash
>
> export PATH=$PATH:$HOME/.cabal/bin
> export WINDOW_MANAGER=xmonad
> gnome-session
> ----------------------------------------------------------------------------------------
>
> I'm running the latest xmonad (0.9), and my xmonad.hs is included below.
>
> The problem is that many applications crash when I change desktops,
> but *only* when docked with the external display oriented so that the
> display is above my laptop's lcd.  No other orientation causes
> problems  - putting the screen to either side, or below the laptop
> display works just fine. I also don't experience stability issues with
> gnome + metacity when the monitors are in this configuration.
> Furthermore, this is the second OS install that has exhibited this
> problem (both were Debian testing installs, but with different
> versions of testing).
>
> I've posted my .xsession-errors file after having a gnome terminal and
> thunderbird crash while switching desktops on hpaste:
> http://hpaste.org/44316/weird_app_crashes_with_xmonad
>
> This has been going on for over a year now - I ran non-gnome tools for
> quite a while, but I'd like to give them a shot again, since other
> (more annoying) stability issues arise when I yank bits of gnome out
> of their usual environment (e.g., gnome-terminals crashing every time
> I dock/undock, etc.).
>
> Thanks!
> Rogan
>
> ---- xmonad.hs-------------------------------------------------------------------
> import XMonad
> import XMonad.Config.Gnome
> import XMonad.Layout.NoBorders
> import XMonad.Hooks.DynamicLog
> import XMonad.Hooks.ManageDocks
> import XMonad.Hooks.FloatNext
> import XMonad.Util.Run
> import XMonad.Util.EZConfig
> import System.IO
> import XMonad.Hooks.SetWMName
>
> import qualified XMonad.StackSet as W
>
> main = xmonad gnomeConf
>
> gnomeConf = gnomeConfig {
>         modMask = mod4Mask
>       , terminal = "gnome-terminal"
>       , layoutHook = smartBorders (layoutHook gnomeConfig)
>       , manageHook = (manageHook gnomeConfig) <+> floatManageHooks
> <+> doF W.focusDown <+>
>                      (composeAll . concat $ [ [className =? "Do" -->
> doIgnore] ])
>       , startupHook = setWMName "LG3D"  -- LG3D is an xmonad
> compatible window manager that the JVM is aware of
>       } `additionalKeys`
>       [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command
> -lock") -- M-S-z lock screen
>       , ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s") --
> C-PrintScreen runs scrot.
>       , ((mod4Mask, xK_p), spawn "dmenu_run") -- M-p runs dmenu_run
> (like the default config..)
>       , ((0, xK_Print), spawn "scrot")
>       ]
>
> floatManageHooks = composeAll [
>                    className =? "Pandora" --> doFloat
>                   -- make the evolution get mail checker float.
>                   , title =? "Send & Receive Mail" --> (doFloat <+>
> doF W.focusDown)
>                   , className =? "Firefox" <&&> resource =? "Dialog"
>    --> doFloat
>                   , className =? "Firefox" <&&> resource =?
> "Extension"   --> doFloat
>                   , className =? "Firefox" <&&> resource =? "Browser"
>    --> doFloat
>                   , className =? "Firefox" <&&> resource =?
> "Download"    --> doFloat
>                   , title =? "Open..." --> doFloat
>                   ]
>



More information about the xmonad mailing list