ArchLinux: xmobar 0.46でフォント指定の記述方法が変更された

1. 指定したフォントが読み込まれず、デフォルトのフォントが表示されている

Archのxmobarパッケージを0.46にアップグレードしたら、xmobarrcで指定したフォントが使われなくなり、デフォルトのフォントでステータスバーの文字が表示されるようになった。

しばらくは0.44.1のパッケージをHaskellがアップグレードする度にリビルドしていたのだが、Haskellの更新頻度は高すぎてリビルドが面倒になってきた。何故Haskellは更新の度に細かくライブラリ名を変更するのだろうか。

そこで0.46で何故フォントが読み込めなくなったかを調査した。久しぶりにgit bisect を使って。

2. xftを使用しなくなり、フォント指定の記述方法が変更された

このコミットからフォント指定の記述方法が変わった。Archのxmobarパッケージはドキュメントが梱包されていないので気付きにくい。

以下のようにxftとsizeを使った書き方を変更することで、指定したフォントが読み込まれるようになった。

--- xmobarrc.orig       2023-03-07 23:07:01.086665337 +0900
+++ xmobarrc    2023-03-07 21:19:35.037106707 +0900
@@ -1,5 +1,5 @@
 Config {
-      font = "xft:VL Gothic:size=11"
+      font = "VL Gothic 11"
     , bgColor = "#2e3436"
     , fgColor = "#d3d7cf"
     , template = "%StdinReader%}{%cpu%  %memory%  %default:Master%  %date%"