电池电量低时自动保存工作

电池电量低时自动保存工作

我是一名作家,当然,如果电池没电了,我有时会丢失我的工作。我正在寻找有关当电池电量达到 5% 或 1% 时如何保存的建议。也许可以编写一个 bash 命令来在电池电量达到一定百分比时保存文本和 Libra 文档?谢谢!

答案1

我能想到两种简单的方法

1) 注意电池电量百分比?
2) 使用 Libre Office 的自动保存功能。下面的屏幕截图显示了设置在选项菜单中的位置: 在此处输入图片描述

答案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您想要节省的百分比。(但不要添加符号%- 只需数字)

将其改为每十分钟左右保存一次也很简单 - 无论电池电量百分比是多少。

相关内容