XMobarに優しいバッテリー不足警告?

XMobarに優しいバッテリー不足警告?

私はDebian Jesseを実行し、xmonadをディスプレイマネージャとして使用するノートブックを設定しています。私はxmobarを使用して、バッテリーレベルを含むシステムの現在の状態に関する情報を表示します。しかし、定期的に確認するのを忘れて、バッテリーが放電してコンピュータが突然シャットダウンすると、いつも驚きます。 --- XFCEを使用したときに受け取ったポップアップ通知が見逃されます。

バッテリー不足に関する明確な警告を受け取るには、何を使用できますか?私が見つけたほとんどの解決策は、dzenを使用するか、ステータスバーに数字を表示するだけでは不十分であることがわかりました。

答え1

これは準備された解決策ではありませんが、アイデアです。osd_catパッケージにあるものを使用します。拡張子名Fedora Linuxでは、cronjobと連携してバッテリーの状態を確認します。

cronjobを編集できます。

crontab -e

でバッテリーの状態を確認できます/sys/class/power_supply/。私の場合は、BAT1/いくつかのファイルcharge_nowcharge_full。このファイルを使用すると、

/sys/class/power_supply/BAT1/charge_now
/sys/class/power_supply/BAT1/charge_full

バッテリーの残りの割合を確認でき、osd_cat(画面表示)で大きなメッセージが表示されることがあります。

答え2

以下は、osd_catの使用に関する@erikの提案に基づいて、私が書いた短いスクリプトです。

from subprocess import Popen, PIPE

with open("/sys/class/power_supply/BAT0/charge_now") as f:
    charge_now = float(f.read())
with open("/sys/class/power_supply/BAT0/charge_full") as f:
    charge_full = float(f.read())

percent = 100*charge_now/charge_full

if percent < 10:
    p = Popen(['osd_cat','-A','center','-p','middle','-f','-*-*-bold-*-*-*-36-120-*-*-*-*-*-*','-cred','-s','5'],stdin=PIPE)
    p.communicate(input="Battery Low!")
    p.wait()

その後、cronジョブを使用して毎分実行できます。

DISPLAY=:0.0
PATH=/usr/bin

* * * * * python ~/power_warning.py

関連情報