【架空】使用PinkShell自动化管理Pink OS设置

Pink OS与PinkShell高度集成,甚至应用层就是使用PinkShell编写的,因此PinkShell就成为了Pink OS的官方脚本语言

此教程会教你使用PinkShell自动化管理Pink OS设置,例如根据时间自动调整暗色模式、自动屏蔽所有通知、甚至可以制作一个简单的提醒软件。

但在此之前,需要复习一下PinkShell的基础语法:【架空/伪文档】PinkShell编译模式快速入门

Setting API

Setting API就是实现这些需求的利器,而且是内置库,也无需额外下载,目前只支持Pink OS。

查看设置

目前,有两种方法可以查看设置的值。

变量式

语法:

setting_api.<第一大类>.<第二大类>.<...>.<选项名称>

例如,我想要查看显示>HUD>个性化>配色>暗色模式的值,需要这么写:

setting_api.display.hud.personalize.color.dark

但这样还不够,还要套一个输出才能看到文字:

output.echo(setting_api.display.hud.personalize.color.dark);

完整的代码如下:

$ mode compile;
$ import "setting_api";

defined function auto_int main() do
    output.echo(setting_api.display.hud.personalize.color.dark);
end
函数式

语法:

setting_api.<第一大类>.<第二大类>.<...>.<选项名称>()

使用方法与变量式差不多,这里一笔带过:

output.echo(setting_api.display.hud.personalize.color.dark());

修改设置

修改设置的值也有两种方法,对,还是那两个。

变量式

语法:

setting_api.<第一大类>.<第二大类>.<...>.<选项名称> -> <修改后的值>;

例如,我想要修改暗色模式的值为True,需要这么写:

setting_api.display.hud.personalize.color.dark -> True;

完整的代码如下:

$ mode compile;
$ generate "/bin";  //记住这个声明,以后要考
$ import "setting_api";

defined function auto_int main() do
    setting_api.display.hud.personalize.color.dark -> True;
end
函数式

语法:

setting_api.<第一大类>.<第二大类>.<...>.<选项名称>(<修改后的值>);

同样的,我想要修改暗色模式的值为True,需要这么写:

setting_api.display.hud.personalize.color.dark(True);

完整的代码如下:

$ mode compile;
$ generate "/bin";
$ import "setting_api";

defined function auto_int main() do
    setting_api.display.hud.personalize.color.dark(True);
end

实例:自动调整暗色模式

要求

下午6点自动设定暗色模式,上午5点关闭暗色模式。

思路

通过system获取系统时间,然后根据情况使用Setting API进行修改。

实现

$ mode compile;
$ generate "/bin";
$ import "setting_api";
$ import "system";

defined function auto_int main() do
    if (system.time.hour() >= 18 or system.time.hour() <= 4) then
        setting_api.display.hud.personalize.color.dark -> True;
    else then
        setting_api.display.hud.personalize.color.dark -> False;
    end
end

每小时和重启后触发一次。

实例:提醒软件

要求

下午3点弹出窗口,提醒我与Kosu在咖啡厅面谈。

思路

通过system获取系统时间,判断后使用iris弹出窗口。

实现

$ mode compile;
$ generate "/bin";
$ import "setting_api";
$ import "system";
$ import "iris" ;

defined function auto_int main() do
    if (system.time.hour() == 15) then
        iris.add.window(name -> "tip", title -> "clock", location -> "center", height -> 60, width -> 60, units -> "px");
        iris.tip.add.text(content -> "你与Kosu有约,请立即前往咖啡厅!", color -> "#ff0000", size -> 20, units -> "px");
    end
end

每小时和重启后触发一次。

启动你的脚本

想使用你编写的脚本,请先把代码编译为可执行文件,哪怕无法直接运行

然后打开设置>系统>服务>自动控制>创建任务,上传可执行文件。

随后设置触发器,可以根据自己的情况设置,常见的触发器为小时、天、月、年

注意:

不要在脚本里写死循环,否则两分钟后会被系统强制杀死。

在没有特别声明的情况下,内容均为原创,请遵守CC BY-NC-SA 4.0版权协议!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
呼呼
上一篇
下一篇