XMobar 友好的低电量警告?

XMobar 友好的低电量警告?

我正在设置一台运行 Debian Jesse 的笔记本电脑,并使用 xmonad 作为显示管理器。我使用 xmobar 来显示有关系统当前状态的信息,包括电池电量。然而,我发现我忘记定期检查,当我的计算机因为电池耗尽而突然关闭时,我总是感到惊讶 --- 我怀念以前使用 XFCE 时收到的弹出通知。

我可以使用什么来获得有关电池电量不足的引人注目的警告?我发现的大多数解决方案都使用 dzen,或者只是在状态栏上显示一个数字,我发现这是不够的。

答案1

这不是现成的解决方案,而是一个想法:我会使用osd_cat包中的内容扩展名在 Fedora Linux 中,它与 cronjob 一起检查电池状态。

您可以编辑您的 cronjobs

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

这是我根据 @erik 使用 osd_cat 的建议编写的一个简短脚本:

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

相关内容