On Sun, Dec 30, 2012 at 4:35 PM, Frank Terbeck <ft@bewatermyfriend.org> wrote:
lib/XMonad/Config/FT/Layouts.hs:19:23:
    No instance for (XMonad.Layout.LayoutModifier.LayoutModifier
                       FullscreenFull a0)
      arising from a use of `smartBorders'
    Possible fix:
      add an instance declaration for
      (XMonad.Layout.LayoutModifier.LayoutModifier FullscreenFull a0)
    In the expression: smartBorders
    In the expression: smartBorders $ fullscreenFull Full
    In an equation for `fullScreenNoBorders':
        fullScreenNoBorders = smartBorders $ fullscreenFull Full

Why are you using Full there?  There's no real point in modifying it to add the ability to switch the layout to Full when a window wants to be fullscreen; it's just a somewhat expensive way to say "smartBorders Full".

(This is not, however, the problem; it should compile, it's just kinda pointless.)

lib/XMonad/Config/FT/Layouts.hs:25:45:
    No instance for (XMonad.Core.LayoutClass Circle a0)
      arising from a use of `|||'

This looks suspicious to me.  Circle *is* an instance of LayoutClass... but it may be an instance of the *wrong* LayoutClass.  Which is to say, you may have multiple versions of xmonad and possibly xmonad-contrib registered with ghc, and the instances are being pulled from different versions and don't match up as a result.  (Normally you see this when package versions suddenly start showing up as prefixes in type or typeclass names, but there are screw cases where you can't see this... such as when it's only typeclass instances that mismatch.)

Use "ghc-pkg list" to make sure there is exactly one xmonad and exactly one XMonadContrib and that they match each other.

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net