web-dev-qa-db-ja.com

ファイル/スクリプトを介してConkyテキストの色を変更するにはどうすればよいですか?

「緑」、「黄」、「赤」の1つの単語を含むファイルがあります(このファイルはcronジョブを介して更新されます。

その色を使ってConkyでテキストを表示したいと思います。実際のテキストは同じままですが、そのファイルに応じて色が更新されます。誰かがこれを機能させる方法を知っていますか?ありがとう!

1
Trevor

${color yourcolor}を出力するbashスクリプトを作成します:

#!/bin/bash

read -r </path/to/color-file color
echo -n '${color '$color'}'

そしてそれをconkyで実行します(10秒ごと):

$ {execpi 10/path/to/script.sh}ここに色付きのテキスト{color}

${color ${head -1 /path/to/color-file}}のようにネストされたものも機能する可能性があります。

2
micke

Execとexeciはスクリプトの出力を解析しないため、上記を実行するにはexecpまたはexecpiが必要になることに注意してください。

execp:シェルコマンドを実行し、出力をconkyで表示します。警告:これは他の変数よりもはるかに多くのリソースを必要とします。 Cで必要な動作をコーディングし、パッチを投稿することをお勧めします。これは、コマンドの出力を解析するという点で$ execとは異なります。そのため、スクリプトに$ {color red} hi!$ {color}のようなものを挿入して、Conkyで正しく解析することができます。警告:Conkyは、Conkyがループするたびに、$ execpの出力を解析および評価してから、すべてのオブジェクトを破棄します。 $ execpステートメント内で$ execiのようなものを使用しようとすると、$ execpステートメントが実行されるのと同じ間隔で機能的に実行されます。これは、間隔ごとに作成および破棄されるためです。

これは、次のようなファイルを単にcatする場合にも機能します。

${execpi 15 cat /path/to/file.log}
0
DRAD