conkyのテーマで動かないやつを作り直したい

もともと、自動の設定ファイル作成スクリプトを走らせて、色とかの設定をした自分ち用の設定ファイルを吐き出してくれる便利機能付きなんだけど、文字位置がづれたりしていた。
また、近頃のConkyでluaの関数をひっぱって描画するやつは、
require 'cairo_xlib'
がなくて引っかかるパターン
自分ちでは、出来上がった設定ファイルを細かく調整し直してつかっていたけど、都度、何してたか忘れるので、根本的に直せるなら直して、folkでもしてみたい
下準備として
最初に添付のフォントをインストールするのを忘れないように
- Play-Bold.ttf
- Play-Regular.ttf
- Michroma.ttf

conky_gen.conkyrc
出来上がりのファイルでまずは上手く動くようにする
classの名前がおかしい
- own_window_class = override,
+ own_window_class = 'Conky',
xmonadの場合、ルートウィンドウに貼り付けるためoverride
- own_window_type = 'desktop',
+ own_window_type = 'override',

表示部分について
voffsetは相対オフセットなので、調整するとその下の位置関係に影響する
なので、上から順に調整
CPU
ズレなし
DISKIO
voffsetの-130
が計算間違い?もう少し上にいかないといけない
## DISKIO ################
${voffset -130}${goto 378}${font}${color1}${top_io name 1}${alignr 30}${top_io io_write 1}%
-142
くらいが適当
cpuの数でかわるのかもしれないので、調べる
Memory
ズレなし
filesystem
空行部分がいらない
${voffset 1}${goto 348}${color1}RAM ${alignr 40}${color1}${mem} / ${color1}${memmax}
## FILESYSTEMS #################
${goto 70}${voffset -81}/${color1}${alignr 310}${fs_used /} / ${fs_size /}
これでほぼ治る
統一した感じにするには、Memoryの定義前の空白も削除してvoffsetで調節が良いかも

やっぱり、CPUの数によっておかしくなっている。
現状
いま、IOWAITの下記初めの位置はvoffsetで戻っているが、
数値は130の決め打ち。
これは、だいたい、CPUの文字が3つの場合のの高さ
これは、だいたい、CPUの文字が6つの場合は、142戻ると丁度いいくらい
解決方法
円ゲージの描画位置は円中心が固定されていて変わらないとおもう。
CPU数はmax6で、円がいっぱいになる。
そこで、CPU数が6以下でも、文字の行数は6CPU分だけ空行を出せば位置が固定されるはず

CPU部分の文字位置はCPUの数に応じて割と精緻に配置しようとして複雑に計算しているので置いておくほうが良さそう
それよりも、IOの位置をgotoにしたらどうだろうか?

Y座標を絶対位置で移動する方法が無いみたいだ、、空白で埋めるより計算のほうが良さそうかも

6通りしかないので、実際にうまくいくオフセットを確認して、配列に入れといた。
修正完了!
もともとのはバグっぽい感じだけど、位置関係はもしかしてモニタとかの環境によるのかなぁ、、conkyの文字の並べ方とか良くわからない、、
多分、各グラフに対応する文字列は、cairo側で一緒に書いた方が良いのかもしれない

forkして心機一転!ok-conky-grapes