All pastes #1394644 Raw Edit

test

public text v1 · immutable
#1394644 ·published 2009-04-17 04:56 UTC
rendered paste body
import System.IOimport XMonadimport XMonad.Actions.CycleWSimport XMonad.Actions.WindowGoimport XMonad.Hooks.DynamicLogimport XMonad.Hooks.ManageDocksimport XMonad.Hooks.ManageHelpersimport XMonad.Layoutimport XMonad.Layout.DragPaneimport XMonad.Layout.Gridimport XMonad.Layout.NoBordersimport XMonad.Promptimport XMonad.Prompt.Shellimport XMonad.Util.EZConfigimport XMonad.Util.Run(spawnPipe)import XMonad.Util.Runimport qualified XMonad.StackSet as Wmain = do    xmproc <- spawnPipe "/usr/local/bin/xmobar"    xmonad $ defaultConfig      { manageHook = manageDocks <+> myManageHook      <+> manageHook defaultConfig      , layoutHook = myLayoutHook      , logHook    = myLogHook xmproc      , modMask    = myModMask      , terminal   = myTerminal              , workspaces = myWorkSpaces      } `additionalKeysP`      [      --- myKeyBindings ---       ----------------------          ---- applications ----      ----------------------      -- start gimp & open in 8:misc --        (("M-g g"), (spawn "gimp"))      -- start gpodder & open in 4:aud --       , (("M-g p"), (spawn "gpodder"))                   -- start gvim & open in 3:vim --      , (("M-g v"), (spawn "gvim"))      -- start iceweasel & open in 1:web --       , (("M-i c"), (spawn "iceweasel"))             -- start irssi in screen & open in 2:irc --      , (("M-i r"), raiseMaybe (runInTerm "-title irssi" "screen -S irssi -c ~/.screenrc-irssi") (title =? "irssi"))      -- start mocp in screen & open in 4:aud --      , (("M-m o"), raiseMaybe (runInTerm "-title mocp" "screen -S mocp -c ~/.screenrc-mocp") (title =? "mocp"))      -- send monitor to stanby --      , (("M-m s"), spawn "monitor-standby.sh")      -- start mutt in screen & open in 5:mail --       , (("M-m u"), raiseMaybe (runInTerm "-title mutt" "screen -S mutt -c ~/.screenrc-mutt") (title =? "mutt"))             -- popups the xmonad app launcher --      , (("M-x a"), shellPrompt myXPConfig)      -- start comix & open in 8:misc --      , (("M-x c"), (spawn "comix"))      -- start epdfview & open in 8:misc --      , (("M-x e"), (spawn "epdfview"))       -- lock the screen --      , (("M-x l"), (spawn "xset dpms force off" >> spawn "xlock -mousemotion +description -mode blank -bg -black -fg grey30 -font 'fixed'"))      -- start ncftp in screen & open in 8:misc --       , (("M-x n"), raiseMaybe (runInTerm "-title ncftp" "screen -S ncftp -c ~/.screenrc-ncftp") (title =? "ncftp"))      -- start rtorrent in screen & open in 7:torr --       , (("M-x r"), raiseMaybe (runInTerm "-title rtorrent" "screen -S rtorrent -c ~/.screenrc-rtorrent") (title =? "rtorrent"))       -- start smplayer & open in 6:vid --       , (("M-x s"), (spawn "smplayer"))       -- start vim in screen & open in 3:vim --      , (("M-x v"), raiseMaybe (runInTerm "-title vim" "screen -S vim -c ~/.screenrc-vim") (title =? "vim"))      --------------------      ---- navigation ----      --------------------      -- move current selected window to previous workspace --      , (("M-S-,"), shiftToPrev >> prevWS)      -- move current selected window to next workspace --      , (("M-S-."), shiftToNext >> nextWS)      -- next empty workspace --      , (("M-S-/"), moveTo Next EmptyWS)      -- previous workspace --      , (("M-x ,"), prevWS)         -- next workspace --      , (("M-x ."), nextWS)        -- toggle to previous workspace --      , (("M-x /"), toggleWS)      ]`additionalKeys`      [      ---------------------      ---- screenshots ----      ---------------------      -- take a selected window screenshot [then click on a window, file is saved in ~] --        ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")          -- take a full screenshot, file is saved in ~ --      , ((0, xK_Print), spawn "scrot")      ]myLayoutHook = avoidStruts $ smartBorders $ layoutHook defaultConfig |||       Tall 1 (3 / 100) (1 / 2) ||| dragPane Horizontal 0.1 0.5 ||| Grid ||| Full myLogHook xmproc = dynamicLogWithPP $ xmobarPP      { ppOutput = hPutStrLn xmproc      , ppOrder  = \(ws:l:_) -> [l,ws]      }myManageHook = composeAll      [ className =? "feh"        --> doCenterFloat --      , className =? "Gimp"       --> doFloat       --       , className =? "MPlayer"    --> doCenterFloat -- set these apps to float ontop of other windows --      , className =? "Qalculate"  --> doCenterFloat --      , className =? "Smplayer"   --> doCenterFloat --      , title     =? "irssi"      --> doShiftAndGo "2:irc"  --      , title     =? "mocp"       --> doShiftAndGo "4:aud"  --      , title     =? "mutt"       --> doShiftAndGo "5:mail" --      , title     =? "ncftp"      --> doShiftAndGo "8:misc" --      , title     =? "rtorrent"   --> doShiftAndGo "7:torr" --       , title     =? "vim"        --> doShiftAndGo "3:vim"  --      , className =? "Comix"      --> doShiftAndGo "8:misc" --      , className =? "Epdfview"   --> doShiftAndGo "8:misc" -- move these apps to set workspace at start --      , className =? "Gimp"       --> doShiftAndGo "8:misc" --        , className =? "Gpodder"    --> doShiftAndGo "4:aud"  --      , className =? "Gvim"       --> doShiftAndGo "3:vim"  --      , className =? "Iceweasel"  --> doShiftAndGo "1:web"  --      , className =? "MPlayer"    --> doShiftAndGo "6:vid"  --      , className =? "Smplayer"   --> doShiftAndGo "6:vid"  --      ]doShiftAndGo :: WorkspaceId -> ManageHookdoShiftAndGo ws = doF (W.greedyView ws) <+> doShift wsmyModMask  = mod1MaskmyTerminal = "urxvt"myWorkSpaces = ["1:web", "2:irc", "3:vim", "4:aud", "5:mail", "6:vid", "7:torr", "8:misc"]myXPConfig = defaultXPConfig      { font        = "-*-terminus-*-*-*-*-14-*-*-*-*-*-iso10646-1"      , bgColor     = "Black"      , fgColor     = "Cyan"      , bgHLight    = "Cyan"      , fgHLight    = "Black"      , borderColor = "Black"      , position    =  Top      }