После того, как произошла стыковка xmonad и xmobar, последний (при должной конфигурации) начинает отображать заголовок активного окна. Да вот незадача: в заголовках с русскоязычными словами и буквами появляются странного вида символы, опознать которые не представляется возможным. Для решения этой закавыки нужно изменить файл конфигурации xmonad.hs следующим образом:
Файл настройки xmobar (мой) такой:
Результат
...import System.IO.UTF8...main = doxmproc <- spawnPipe "xmobar" -- стартует xmobarxmonad $ defaultConfig{ ...-- вот здесь указывает кодировку выходной последовательности (utf8, которая была ранее объявлена через "import System.IO.UTF8")
, logHook = dynamicLogWithPP $ xmobarPP{ ppOutput = System.IO.UTF8.hPutStrLn xmproc, ppTitle = xmobarColor "green" "" . shorten 50}...}
Файл настройки xmobar (мой) такой:
Config { font = "xft:Consolas-9", bgColor = "black", fgColor = "grey", position = Top, lowerOnStart = True, commands = [
Run Network "ppp0" ["-L","0","-H","32","--normal","green","--high","red"] 10, Run Network "ppp1" ["-L","0","-H","32","--normal","green","--high","red"] 10, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10, Run Memory ["-t","Mem:%"] 10
, Run Swap [] 10
, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
, Run StdinReader
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ %cpu% | %memory% * %swap% | %ppp0% - %ppp1% |%date%"
}

2 комментария:
А почему вы для работы xmobar используете stdin, а не pipe?
С haskell'ом я не особо знаком. Нужен был оконный менеджер, нужен был и xmobar как дополнение. Так ли принципиально уходить от Stdin (который работает) в другую сторону? Но не исключено, что я чего-то не знаю, и xmobar буквально воспарит при использовании pipe :).
Отправить комментарий