xmonad設定
音量調整の設定とかではまった。余計な設定とかも残っているが、とりあえず晒しておく。
import System.IO import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Util.Run(spawnPipe) import XMonad.Actions.Volume import XMonad.Util.EZConfig main = do xmproc <- spawnPipe "xmobar" xmonad $ defaultConfig { manageHook = manageDocks <+> manageHook defaultConfig , layoutHook = avoidStruts $ layoutHook defaultConfig , logHook = dynamicLogWithPP $ xmobarPP --xmoberにウインドウタイトルを表示 { ppOutput = hPutStrLn xmproc , ppTitle = xmobarColor "green" "" . shorten 50 } , terminal = "gnome-terminal" , borderWidth = 2 , normalBorderColor = "#333333" , focusedBorderColor = "#cd8b00" } `additionalKeysP` --音量調整のための追加キーマップ [ ("<XF86AudioMute>", toggleMute >> return ()) , ("<XF86AudioLowerVolume>", lowerVolume 4 >> return ()) , ("<XF86AudioRaiseVolume>", raiseVolume 4 >> return ()) ]
- xmobarrc
Config { font = "xft:Sans-9:bold" , bgColor = "black" , fgColor = "grey" , position = Top , lowerOnStart = False , commands = [ Run Network "wlan0" ["-L","0","-H","32","--normal","green","--high","red"] 10 , Run Network "eth0" ["-L","0","-H","32","--normal","green","--high","red"] 10 , Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10 , Run Memory ["-t","Mem: <usedratio>%"] 10 , Run Swap [] 10 , Run Date "%a %b %_d %Y %H:%M:%S" "date" 10 , Run BatteryP ["BATA"] [] 30 , Run StdinReader ] , sepChar = "%" , alignSep = "}{" , template = "%StdinReader%}{<fc=#ee9a00>%date%</fc> [%battery%]" }
音量調整を設定するためのノウハウは以下を参照。
音量調整のキーバインドはfnキーで修飾したものにしたかったので以下を参照。
- Xmonad/Key codes - HaskellWiki
- http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Util-EZConfig.html
XMonad.Actions.VolumeはXMonad.Actions.Volumeのコードを .xmonad/lib/XMonad/Actions/Volume.hs にコピペ。
他のライブラリに依存しているため、xmonadをapt-getまたはaptitudeで入れただけの状態では動かない。とりあえずghclib*と言う名前のパッケージを全部入れたらうごいた。