我是一名作家,当然,如果电池没电了,我有时会丢失我的工作。我正在寻找有关当电池电量达到 5% 或 1% 时如何保存的建议。也许可以编写一个 bash 命令来在电池电量达到一定百分比时保存文本和 Libra 文档?谢谢!
答案1
答案2
Python 脚本:
#!/usr/bin/env python
import subprocess
apps_to_save = ['Gedit', 'Writer']
battery_limit = 10 # in percent
def get_battery_percentage():
percentage, err = subprocess.Popen([r'upower -i $(upower -e | grep BAT) | grep --color=never -E percentage | xargs | cut -d ' ' -f2 | sed s/%//
'], shell=True, stdout=subprocess.PIPE).communicate()
return(int(percentage))
while True:
if get_battery_percentage() <= battery_limit:
for app in apps_to_save:
app_window_ids = subprocess.Popen(['xdotool', 'search', '--class', app],
stdout=subprocess.PIPE)
out, err = app_window_ids.communicate()
for app_window_id in out.splitlines():
subprocess.Popen(['xdotool', 'windowactivate', app_window_id,
';', 'xdotool', 'key', 'ctrl+s'], shell=True)
默认情况下,当电池电量达到 10% 时,它会保存所有 Gedit 和 LibreOffice Writer 窗口。
您可以apps_to_save
通过修改该行来将内容添加到列表中,例如:
apps_to_save = ['Gedit', 'Writer', 'SomeOtherApp']
然后将更改为battery_limit
您想要节省的百分比。(但不要添加符号%
- 只需数字)
将其改为每十分钟左右保存一次也很简单 - 无论电池电量百分比是多少。