自动化
自动化
ClassIsland 欢迎您参与完善本条目☆Kira~
欢迎正在阅读这个条目的您协助编辑本条目。编辑前请阅读条目编辑规范,并查找相关资料。ClassIsland 祝您在本文档度过愉快的时光。
自动化是 ClassIsland 1.6 (Himeko) 的新增功能,旨在提供简单快捷的自动操作。
比如,您可以…
- 在视频展台开启时,自动将主界面移到屏幕右上角,并仅显示当前课程的倒计时;
- 在数学课前,自动打开白板;
- 放学后,自动关闭设备。
如果需要更高级的自动化功能,您还可以搭配专业自动化软件使用,如 zTasker、Power Automate
注意
自动化允许自动修改 ClassIsland 的各项设置,并调用外部程序,可能有一定安全风险。
不当的自动化编写可能对正常教学造成影响,请勿滥用。
重要
自动化目前正在早期开发中,不建议用于生产环境。此功能在未来可能会产生较大的变动,并且可能无法保证配置文件完全向下兼容。欢迎在 ClassIsland/ClassIsland#119 讨论此功能。
概述
自动化
自动化 (Automation),曾称为规则行动组、条件行动对,即一对【规则集】与【行动】的组合。

触发器
触发器 可以定义一些特定事件发生时触发自动化操作。该功能需要在1.5.4.1及以上版本中使用。

收到信号时
,是指收到“行动”中相应的“广播信号”的事件。例如,你在其他自动化流程中设置的广播信号:信号1
行动执行时,触发器收到信号时:信号1
将被触发,将会执行该触发器所在的自动化流程。调用uri时
,在收到以下两种uri时触发:classisland://app/api/automation/run/xxx
或classisland://app/api/automation/revert/xxx
。(参阅Uri导航,需要启用【注册Url协议】选项)。规则集更新时
,在满足规则集设定时触发。上课时
、下课时
、课间休息时
和 放学时
,字面意思;当前时间状态变化时
,即前面四种情况任意一种触发时。
规则集
规则集 (Ruleset) 可以定义一些行为的触发条件。你也可以在主界面的高级隐藏规则和组件的隐藏规则等地方见到它。
提示
在1.5.4.0及以上版本中,只有设置了规则集更新时
触发器,规则集才能生效。

规则集中的【前台窗口类名】、【前台窗口标题】,是指当前“焦点窗口”(也可以理解为正在使用的窗口)的类名或标题。你可以通过Catch_Window_Tool工具查看某一个窗口的类名或标题。而【前台窗口进程】,则是指当前“焦点窗口”的进程名。
行动
行动 (Action) 则可以定义一些操作,如更改应用设置、启动指定程序等。
提示
在1.5.4.1及以上版本中,你在【编辑档案】-【时间表】中也可以添加【行动】。

广播信号
,参见 触发器-收到信号时,可以发出一个应用内的广播信号,以触发其他自动化流程。显示提醒
,是指弹出应用主界面的提醒,包括遮罩和正文,你可以自定义遮罩的内容和持续时长、正文的内容和持续时长(目前文本持续时长为0时,会无法正常提醒),你也可以选择是否启用遮罩和正文的语音播报(默认启用)。显示天气提醒
,是指弹出应用主界面的天气提醒,你可以选择三天天气预报
(默认)、逐小时天气预报
或气象预警
(无预警时不会生效该项行动)。窗口停靠位置
,可以改变应用主界面的大致显示位置,如左上角、中上角、右下角等。应用主题
,可以改变应用主界面的主题,包括明亮
、黑暗
或跟随系统
。组件配置方案
,可以修改组件的配置方案(不同的json文件)。
当规则集被满足时,其对应的行动会自动触发。您也可以添加【等待时长】行动来自定义执行的等待时间。
当规则集不再满足时,已经执行的行动会自动恢复。比如,已修改的应用设置将被自动改回。

您也可以点击自动化设置页面右上角的【触发】和【恢复】来测试行动。
配置方案
和组件一样,您可以为自动化切换多个不同的配置文件,或者随时禁用所有或指定的自动化。

您也可以来 🙌展示台 与大家分享你的自动化方案。
技术性细节
- 您可以拖动自动化进行排序,它们将会按照从上到下的顺序依次开始执行。

行动会创建一个 设置叠层 (SettingsOverlay) 对应用设置进行临时更改,以便于多个行动的恢复。不过在临时更改期间,如果您手动修改了某个设置,那么该设置项将遵循手动的修改,不会再被恢复。
设置叠层会遵循先来后到的顺序依次往上叠加。因此,如果您希望某一行动始终生效,需要对其他自动化的规则集设置排除以进行规避。
在编辑完组件、自动化或档案后,请勿直接关机,这可能导致您的更改丢失。您需要手动关闭应用设置窗口(或手动退出 ClassIsland)以触发这些配置的保存。