Проблема с настройкой xmonad

Пробую настроить, получаю ошибку при компиляции:

xmonad.hs:71:13: parse error on input `='

xmonad.hs:

import XMonad
import XMonad.Actions.CycleWS
import XMonad.Hooks.DynamicHooks
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Layout.HintedTile
import XMonad.Layout.ResizableTile
import XMonad.Layout.LayoutHints
import XMonad.Layout.PerWorkspace
import XMonad.ManageHook
import XMonad.Prompt
import XMonad.Prompt.Shell
import XMonad.Util.Run
import System.IO
import Graphics.X11
import System.Exit
import qualified Data.Map as M
import qualified XMonad.Actions.FlexibleResize as Flex
import qualified XMonad.StackSet as W
main = do
xmproc <- spawnPipe "/path/to/xmobarbinary /home/miles/.xmobarrc"
    xmonad $ defaultConfig
        { manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig
        , layoutHook = myLayout
        , mouseBindings = myMouseBindings
        , logHook = dynamicLogWithPP $ xmobarPP
                        { ppOutput = hPutStrLn xmproc
                        , ppTitle = xmobarColor "green" "" . shorten 50
                        , ppCurrent = wrap "[<fc=#0099ff>" "</fc>]" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
                        , ppVisible = wrap "[<fc=#ffffff>" "</fc>]" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
                        , ppHidden = wrap "" "" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId -- don't use <fc> here!!
                        , ppHiddenNoWindows = wrap "<fc=#555555>" "</fc>" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
                        , ppUrgent = wrap "<fc=#0099ff>" "</fc>" . \wsId -> if (':' `elem` wsId) then drop 2 wsId else wsId
                        , ppSep = " "
                        , ppWsSep = " "
                        , ppTitle = xmobarColor "#ffffff" "" . wrap "< " " >"
                        , ppLayout = xmobarColor "#ffffff" "" .
                          (\x -> case x of
                            "Hinted Tall" -> "[|]"
                            "Hinted Wide" -> "[-]"
                            "Hinted Full" -> "[ ]"
                            "Hinted ResizableTall" -> "[|]"
                            "Hinted Mirror ResizableTall" -> "[-]"
                            _ -> x
                           )
                        }
        , modMask = mod4Mask
        , focusFollowsMouse = True
        , borderWidth = 1
        , normalBorderColor = "#0f0f0f"
        , focusedBorderColor = "#0077cc"
        , workspaces = ["1:console", "2:www", "3:im", "4:music", "5:misc", "6:torrent", "7:video"]
        }`additionalKeys`
        [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock")
        , ((controlMask, xK_Print), spawn "scrot -s")
        , ((0, xK_Print), spawn "scrot")
        , ((ModMask, xK_t), spawn "urxvt")
        , ((ModMask, xK_o), spawn "opera")
        , ((ModMask, xK_p), spawn "pidgin")
        , ((ModMask, xK_y), spawn "thunar")
        , ((ModMask, xK_g), spawn "gmrun")
        , ((ModMask, xK_m), spawn "urxvt -e mc")
        , ((modMask, xK_Up), spawn "amixer -q set PCM 2dB+")
        , ((modMask, xK_Down), spawn "amixer -q set PCM 2dB-")
        ]
[b]myManageHook = composeAll[/b]
   [ className =? "Gimp" --> doFloat
   , [className =? "Vlc" --> doF (W.shift "7:video")]
  , [className =? "Pidgin" --> doF (W.shift "3:im")]
   , [className =? "Opera" --> doF (W.shift "2:www")]
   , [className =? "Thunar" --> doF (W.shift "5:misc")]
   ]
[b]myLayout = avoidStruts[/b] $ layoutHints $ onWorkspace "1:console" (Mirror resizableTile ||| resizableTile) $ (Full ||| hintedTile Wide ||| hintedTile Tall)
    where
    hintedTile = HintedTile nmaster delta ratio TopLeft
    resizableTile = ResizableTall nmaster delta ratio []
    nmaster = 1
    ratio = toRational (2/(1+sqrt(5)::Double))
    delta = 3/100
myXPConfig = defaultXPConfig
    { font = "-xos4-terminus-medium-r-normal-*-14-*-*-*-c-*-iso10646-1"
    , bgColor = "#222222"
    , fgColor = "#ffffff"
    , fgHLight = "#ffffff"
    , bgHLight = "#0066ff"
    , borderColor = "#ffffff"
    , promptBorderWidth = 1
    , position = Bottom
    , height = 16
    , historySize = 100
    }
myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
    [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w)) -- set the window to floating mode and move by dragging
    , ((modMask, button2), (\w -> focus w >> windows W.swapMaster)) -- raise the window to the top of the stack
    , ((modMask, button3), (\w -> focus w >> Flex.mouseResizeWindow w)) -- set the window to floating mode and resize by dragging
    , ((modMask, button4), (\_ -> prevWS)) -- switch to previous workspace
    , ((modMask, button5), (\_ -> nextWS)) -- switch to next workspace
    ]
Если комментирую блок с MymanageHook вылезает та же ошибка на следующей выделенной строке. В чем проблема не пойму =(
Буду оччень благодарен, если подскажите.
Я в свое время убил на xmonad двое суток без перерыва… так и не добился нормального состояния… Тогда вернулся на openbox…
А сейчас перешел на awesome… два часа на всю доводку, и теперь просто супер, а не wm!
Двое суток на настройку? Чччерт, заманчиво! ::)
Muu
Двое суток на настройку? Чччерт, заманчиво! ::)
Угу, при этом так и не настроил… очень заманчиво!
Не учитывая того, что только для запуска данного вм придется установить порядка 300 метров библиотек языка… Оно надо?
Проблему решил :)
Настройка заняла полтора вечера :)
Зато все работает как часы и функциональность много выше чем у awesome =)
А 300 метров в наше время - это копейки :)
Miles
Проблему решил :)
Настройка заняла полтора вечера :)
Зато все работает как часы и функциональность много выше чем у awesome =)
А 300 метров в наше время - это копейки :)
xmonad.hs фстудию :)
Miles
Проблему решил :)
Настройка заняла полтора вечера :)
Зато все работает как часы и функциональность много выше чем у awesome =)
А 300 метров в наше время - это копейки :)
В чем проявляется эта функциональность? Которой нет в авесоме? ;)
Spambot detected!
Не учитывая того, что только для запуска данного вм придется установить порядка 300 метров библиотек языка…
у меня намного меньше вышло, чуть меньше сотни метров, если не ошибаюсь. Ну да не суть, анлим рулит.

Тоже убил двое суток, и единственное что не работает - горячие клавиши. Кто разобрался с EZConfig - подскажите пожалуйста примером, как повесить KDEшное (да любое в принципе, не суть) завершение сеанса, и закрытие окна, на какие-нить кнопки.

P.S. И кто-нить пробовал кнопки от Logitech G15 подключать? Было бы очень удобно.
ProFfeSsoRr
Не учитывая того, что только для запуска данного вм придется установить порядка 300 метров библиотек языка…
у меня намного меньше вышло, чуть меньше сотни метров, если не ошибаюсь. Ну да не суть, анлим рулит.

Тоже убил двое суток, и единственное что не работает - горячие клавиши. Кто разобрался с EZConfig - подскажите пожалуйста примером, как повесить KDEшное (да любое в принципе, не суть) завершение сеанса, и закрытие окна, на какие-нить кнопки.

P.S. И кто-нить пробовал кнопки от Logitech G15 подключать? Было бы очень удобно.
А почему так тянет именно на xmonad?? Попробуй awesome… Настраивается проще, проблем меньше… Конфиг довольно понятный, хотя и на lua…
По мыши - у меня Logitech MX1000 с кучей кнопок, запускаю при запуске xorg утилиту:
lomoco -g &
и копки сами нормально подхватываются сервером. функции по умолчанию…
 
Зарегистрироваться или войдите чтобы оставить сообщение.