古い xmobarrc を生き返らせる | 要約: with_weather

disclaimer: xmobarrc を蘇らせる方法は明確にしたが、ドキュメント上のビルドオプションや PKGBUILD がこうなっとることの怪に関しては怪のままになっとる。以下、怪奇を信じない人向け

最近ウィンドウマネージャの管理や設定にこだわりがなくなったので、2011年〜2014年あたりにいじっていた xmonad の環境をいまだに使っている (ので、当時自分が最強だとおもったキーバインドで完全に覚えているため、他人の PC のことがまったくわからん)。 さて、今確認したところ、手元の xmonad のバイナリは 2016年だった。あれからいろいろなことがあったね。

しかし xmobarpacman 任せにしているとそのうち困ります。古い設定ファイルを食うとわけわからんエラーを吐いて死ぬから。いままで壊れた上のバーのことなんか一切気にしてなかったんだけど、不便かもしれないなと思い直したため、 xmobar だけ設定ファイルをビルド可能にしてみます。

で、こういうやつ

% cat .xmobarrc
Config { font = "xft:Inconsolata-7:bold"
       , bgColor = "#303040"
       , fgColor = "grey"
       , position = Top
       , lowerOnStart = False
       , commands = [
                      Run Network "eth1" ["-L","0","-H","32","--normal","green","--high","red"] 10
                    , Run Battery ["-t","<left>%","-L","20","-l","red","--high","#ccf","-p","3"] 100
                    , Run Network "wlp3s0" ["-L","0","-H","32","--normal","green","--high","red"] 10
                    , Run Wireless "wlp3s0" ["-t","<essid>:<quality>%","-p","3"] 10
                    , Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 20
                    , Run Memory ["-t","Mem: <usedratio>%","--normal","green","--high","red"] 10
                    , Run Com "uname" ["-s","-r"] "" 36000
                    , Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
                    , Run TopMem [] 10
                    , Run Weather "RJTT" [ "--template", "<skyCondition> | <fc=#4682B4><tempC></fc>°C | <fc=#4682B4><rh></fc>% | <fc=#4682B4><pressure></fc>hPa"] 3600
                    , Run StdinReader
       ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = "%cpu%  | %memory%(%topmem%) | %eth1%/%wlp3s0%(%wlp3s0wi%) } %StdinReader% { %RJTT% | <fc=#ee9a00>%date%</fc> | %battery% "
       }
% xmobar
Invalid configuration file: "Config" (line 19, column 10):
unexpected "s"
expecting space or "Run"

マジで意味不明すぎるバカメッセージなんだが、これはようは Run Weather がないと怒ってるんやな。本当にエラーメッセージをまともに出す能力がない人々のつくった最悪ソフトウェアであることがわかる。

で、

github.com

obsolete again じゃあないんだよ 真面目にやれ

ようは simpleHTTP がシンプルすぎて https に対応していなかったところ、天気情報が https オンリーになって「ア」となったといういい話っぽい。人類はちゃんと進化してるんですね。で、

will only work if compiled with the flag with_conduit (which is not set by all_extensions)

flag with_conduit (which is not set by all_extensions)

アホ草

もちろん pacman で入るやつの PKGBUILD にはそんなのは立ててない git.archlinux.org

とりあえず最新のやつをとってきて stack でビルドするとエラーは吐かなくなった。というのもこのフラグはいつのまにか with_weather にかわって、どうやら all_extensions で入るようになったっぽいから。というかこれデフォルトとかかいてあるぞ。

は?じゃあなんで……まあええわ…… ためしに with_weather 立てると→なんかぶっ壊れた→……………まあええよ

github の公式の stack.yml でビルドしとけばうごきまちた

pacman -S stack && stack setup && git clone "https://github.com/jaor/xmobar" xmobar-git && cd xmobar-git && stack install```