这是命令 fdpowermon,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
fdpowermon - 将电池电量图标添加到符合 freedesktop.org 的系统托盘
概要
FD电源监控
商品描述
该程序允许在任何符合 freedesktop.org 的情况下显示“电池电量”图标
状态区。 它可以通过纯文本配置文件进行主题化
(/etc/fdpowermon/theme.cfg or $XDG_CONFIG_DIR/fdpowermon/theme.cfg),或通过短
perl 脚本 (/etc/fdpowermon/theme.pl or $XDG_CONFIG_DIR/fdpowermon/theme.pl)。 如果
$XDG_CONFIG_DIR 未设置,$HOME/.config 用作默认值。
前者更容易,因为它不需要任何脚本; 确实是默认的
配置就是这种纯文本主题的一个例子。 然而,后者允许
更灵活,因为可以定义应在电池电量不足时运行的回调
达到一定的门槛。
主题,无论是 perl 主题还是纯文本主题,都是通过“步骤”构建的,这些步骤是
在一行中定义。 在纯文本配置文件中,这样的行如下所示:
放电 = 2:missing.png:low.png, 10:low.png, 100:full.png
这定义了三个步骤。 当电池电量不足时,最高步骤显示“full.png” loading="lazy"
11% 至 100%(含); 第二步显示“low.png”loading="lazy"时电池电量
介于 3% 至 10%(含)之间; 第三步将在“missing.png”之间交替
当电池电量在 0% 到 2% 之间时,“low.png”loading="lazy" 每三秒一次。
由于线路是从“放电”开始的,所以在系统运行时使用这些步骤
在电池电源上。 可以为电池何时定义类似的步骤
收费:
充电 = 0:空充电.png,10:低充电.png,100:全充电.png
当电池电量为 0% 时(正好),这将显示“empty-charge.png” loading="lazy",
“low-charge.png” loading="lazy" 介于 1% 和 10%(含)之间,“full-charging.png” loading="lazy" 为 11% 和
以上。
请注意,排序很重要:应从低到高定义步骤。
要完成主题配置,我们必须再添加几项:
[神话]
步骤 = 3
目录 = /home/wouter/.fdpowermon/mytheme-icons
充电 = 0:空充电.png,10:低充电.png,100:全充电.png
放电 = 2:missing.png:low.png, 10:low.png, 100:full.png
这定义了一个名为“mytheme”的主题,它具有三个步骤,并将在
目录“/home/wouter/.fdpowermon/mytheme-icons”。 无法定义一个
充电阶段的步骤数与充电阶段不同的主题
放电阶段; 如果你想要那个,只需为你想要的阶段定义(一个)额外的步骤
想要更少的步骤,与上面或下面的步骤具有相同的图标。
请注意,排序在这里也很重要; “步骤”行应该出现在任何
“充电”或“放电”线(在 fdpowermon 1.7 或更低版本中不是这种情况)。
如果配置了多个主题,fdpowermon 将默认使用最后一个主题
在每用户配置中定义,或者(如果不存在每用户配置文件)
系统范围配置中定义的最后一个主题。
Perl 主题配置文件可以使用 fdpowermon::theme::make_default 更改默认值
主题。
PERL API
@警告
@fdpowermon::theme::warnings 数组可用于指定 fdpowermon 的级别
应该发出标准警告。 默认为(10, 5, 1),表示发出警告
分别为 10%、5% 和 1%。 请注意,如果电池电量以特别快的速度耗尽
速度,水平可能比发出警告前的水平下降得更多;
此外,当机器断电时,fdpowermon 会立即发出警告
并且威力低于第一级。
要使 fdpowermon 在断电时始终发出警告,请将其设置为
像 (100, 10, 5, 1)。 要使 fdpowermon 在 20%、10% 和 5% 时发出警告,请将其设置为
(20、10、5)。
请注意,无法更改警告文本。 如果你想要那个,请看
fdpowermon::theme::warning sub,并使用事件。
$使用通知
变量 $fdpowermon::theme::use_notify 可用于决定是否使用
libnotify 消息(如果设置为非零值)或对话窗口(如果设置为
计算为零)。
如果安装了 libnotify Glib 自省数据,则默认使用 libnotify,或者
如果没有,一个对话框。 因为对话框可以窃取焦点并因此造成严重破坏
结合用户的工作,作者强烈推荐使用libnotify。
请注意,如果您将变量显式设置为非零,则测试是否
安装 Glib 内省数据将被忽略。 确保它可用
案件!
新
创建一个新的 fdpowermon 主题。 返回一个祝福的引用; 例如,
我的 $theme = 新 fdpowermon::theme;
$theme->set_stepcount($count)
设置主题中的步骤数。 请注意,fdpowermon 主题必须具有相同的
“充电”和“放电”方向的步数。
应在调用 set_charging、set_discharging 或 parse_step 之前调用。
$theme->set_dir($dir)
设置用于图标文件名的基本目录。
$theme->set_charging(\@elements)
设置电池充电时应显示的图标。 论证应该是
通过 parse_step 方法创建。
$theme->set_discharging(\@elements)
设置电池放电时应显示的图标。 论证应该是
通过 parse_step 方法创建。
$theme->parse_step($defs)
将给定的字符串解析为可以传递给 set_charging 或
设置放电。 定义应采用上述步骤格式,不包括
前导“充电=”或“放电=”。
虽然此方法返回一个可以检查和(可能)修改的数组引用,
想要向前兼容的主题应该将其视为不透明的数据结构。
$theme->set_event($step, \&打回来, 'd')
更新主题,以便在我们放电并到达时执行子“回调”
$step 第一次。 要在充电时设置事件,请将“c”作为第三个
论据。
请注意,这些步骤是数组,因此是基于 0 的; 编号最低的项目是
最底层的步骤。
当事件触发时,回调例程将传递两个参数:第一个是
当前电池电量(百分比); 第二个是一个数字,表示是否
电池当前正在充电 (1) 或放电 (0)。 如果解析 ACPI
命令失败,但是,第二个参数可能是 undef; 你应该为此做好准备
可能性。 请注意, fdpowermon 本身通过假设电池为
收费; 您可能希望也可能不希望这样做。
$theme->register($name)
以给定名称注册主题。 如果该名称下已存在主题,则为
更换。
make_default($名称)
使具有给定名称的主题成为默认主题。
get_theme($名称)
查找具有给定名称的主题; 例如,
我的 $theme = fdpowermon::theme::get_theme("default");
警告($消息)
使用 libnotify 或使用对话框生成警告:
fdpowermon::主题::警告($message);
请参阅上面有关 $fdpowermon::theme::use_notify 的文档,了解有关哪些
选择实施。
示例
有关完整的 .cfg 主题示例,请查看上方。
要完全从 perl 构建相同的主题,您可以执行以下操作:
我的 $theme = 新 fdpowermon::theme;
$主题->设置步数(3);
$theme->set_dir("/home/wouter/.fdpowermon/mytheme-icons");
$theme->set_charging($theme->parse_step("0:empty-charging.png, 10:low-charging.png, 100: full-charging.png"));
$theme->set_discharging($theme->parse_step("2:missing.png:low.png, 10:low.png, 100:full.png"));
(注意,作为 perl 主题,这将在 theme.pl 中,而不是 theme.cfg 中;有关可能的信息,请参见上文
perl 主题的位置)
但是,除非你想动态地构建主题,否则这样做是不行的
受到推崇的。 相反,您将从 .cfg 文件构建主题,并可能对其进行修改
来自 perl。 假设您希望添加一个事件以在电源获得时暂停系统
低的; 在这种情况下,你会做这样的事情:
子暂停{
系统(“须藤下午暂停”);
}
我的 $theme = fdpowermon::theme::get_theme("mytheme");
$theme->set_event(0, \&suspend, 'd');
当电池放电并且我们达到最低时,这将调用“暂停”子
步骤(在上面的示例中,那将是电池电量达到 10% 时;您可能想要
稍后再做)。 这个“暂停”子程序简单地调用“pm-suspend”程序,
sudo,挂起系统。
使用 onworks.net 服务在线使用 fdpowermon