私は数日前からConkyを使い始めました。色と素敵なASCIIアートを追加し、基本を学びました。
しかし、Conkyに付属のデフォルトの進行状況バーは気に入らない。 50個の「#」記号または「長方形」(ASCIIテーブルの219番目の文字)などの文字列を作成したいと思います。つまり、最初の20は緑で、次は緑です。黄色は20個、赤は最後の10個です。
fs_bar
空き容量が十分であれば緑、半分が冷えると黄色、一部のファイルを空にする必要があるときは赤で実装したいのですが、最後の2つの場合には3つの色が表示されます。私ビデオ結果は非常に似ています。
私はArch LinuxでAwesomeWMを実行しており、Conkyのバージョンは1.10.5です。
ベストアンサー1
execpi
30秒ごとにシェルスクリプトを実行し、出力を解析し、コメントに使用されるconkyコマンドと文字df /
の長いリストに変換する次のような簡単な操作を実行できます。color
\#
#
${execpi 30 df --output=pcent / | awk 'NR==2 {
n = ($1+0)/2; yellow = 20; red = 40;
if(n>=red) { r = "${color #ff0000}"; for(;n>=red;n--) r = r "\\#" }
if(n>=yellow){ y = "${color #ffff00}"; for(;n>=yellow;n--)y = y "\\#" }
g = "${color #00ff00}"; for(;n>0;n--) g = g "\\#";
print g y r
printf "%50s"," "
}' }
${color}
私のdf --output=pcent
出力は2行です。 2番目は使用された割合です69%
。私はこれをconky 1.9で試しました。
~/.conkyrc
ファイルがバージョン 1.10 形式に変換された場合は、次の行が含まれます。
conky.text = [[
最終終了前に上記のスクリプトを必ず追加してください]]
。また、1.10では(#ff0000
上記のように)数字で指定された色はもはや始まらないため、スクリプトでなどを使用する必要が#
あります。ff0000
簡単にするには、次のスクリプトをPATHの別々のファイルに入れます。たとえば、~/mydf
実行可能にし、chmod +x ~/mydf
( ) そのファイル名を~/.conkyrc
。${execpi 30 ~/mydf /}
#!/bin/bash
df --output=pcent "${1?}" | awk 'NR==2{
n = ($1+0)/2; yellow = 20; red = 40;
if(n>=red) { r = "${color ff0000}"; for(;n>=red;n--) r = r "\\#" }
if(n>=yellow){ y = "${color ffff00}"; for(;n>=yellow;n--)y = y "\\#" }
g = "${color 00ff00}"; for(;n>0;n--) g = g "\\#";
print g y r
printf "%50s"," "
}'
スクリプト全体をファイルに入れるには、デフォルトの~/.conkyrc
バッファサイズを増やす必要があります。それ以外の場合、コマンドは256文字に切り捨てられます。これにより、次のエラーが発生します。
sh: -c: line 0: unexpected EOF while looking for matching `''
これを行うには、1.10の該当するセクション内に行を追加し、設定をconky.config={...}
コンマ()で区切ります。,
text_buffer_size = 400,
conky 1.9では、このセクションの前に次の行を追加しますTEXT
。
text_buffer_size 400
印刷される文字の数が増加するにつれてウィンドウのサイズが変更されるのを防ぐために、最大長スペースの2printf "%50s"," "
行目が最後に追加されます。またはminimum_size 500
(または1.10)など、ウィンドウの最小サイズ(ピクセル単位)の構成設定を追加します。minimum_size=500,
ここで使用する値は、#
文字のフォント幅によって異なります。