自动化
自动化
ClassIsland 欢迎您参与完善本条目☆Kira~
欢迎正在阅读这个条目的您协助编辑本条目。编辑前请阅读,并查找相关资料。ClassIsland 祝您在本文档度过愉快的时光。
自动化是 ClassIsland 1.6 (Himeko) 的新增功能,旨在提供简单快捷的自动操作。
比如,您可以…
- 在视频展台开启时,自动将主界面移到屏幕右上角,并仅显示当前课程的倒计时;
- 在数学课前,自动打开白板;
- 放学后,自动关闭设备。
如果需要更高级的自动化功能,您还可以搭配专业自动化软件使用,如 zTasker、Power Automate
注意
自动化允许自动修改 ClassIsland 的各项设置,并调用外部程序,可能有一定安全风险。
不当的自动化编写可能对正常教学造成影响,请勿滥用。
概述
自动化
自动化 (Automation),曾称为规则行动组、条件行动对,是一对【触发器】、【规则集】与【行动】的组合。
触发器
触发器 可以定义一些特定事件发生时触发自动化操作。该功能需要在 1.5.4.1 及以上版本中使用。
收到信号时
,是指收到“行动”中相应的“广播信号”的事件。例如,你在其他自动化流程中设置的广播信号:信号1
行动执行时,触发器收到信号时:信号1
将被触发,将会执行该触发器所在的自动化流程。调用uri时
,在收到以下uri时触发:classisland://app/api/automation/run/xxx
;在收到以下uri时“恢复”(需启用恢复
功能):classisland://app/api/automation/revert/xxx
。(参阅,需要启用选项)。cron
,这是一种定时触发的触发器,即时间触发器
。因篇幅所限,此处不再赘述,你可以自行使用搜索引擎查询有关事项和在线的格式转换器。规则集更新时
,在任意规则集更新时,如焦点窗口变化、时间状态变化、主计时器启动等。上课时
、下课时
、课间休息时
和放学时
,即字面意思;当前时间状态变化时
,即前面四种情况任意一种触发时。特定时间点前
,指在上课或课间休息前的指定n秒时间触发。
规则集
规则集 (Ruleset) 可以定义一些行为的触发条件。你也可以在主界面的高级隐藏规则和组件的隐藏规则等地方见到它。
提示
在1.5.4.0及以上版本中,只有设置了触发器,规则集才能生效。
自动化流程的基本逻辑是:触发器触发自动化流程→检测是否满足规则集(如有规则集)→执行行动。不满足规则集时行动不会执行。
部分插件会提供更多规则集选项。
总是为真
,无论在什么情况下,该规则都会返回真。总是为假
,无论在什么情况下,该规则都会返回假。前台窗口类名
,当前“焦点窗口”(也可以理解为正在使用的窗口)的类名满足设定的名称时,该规则返回真。大小写敏感、正则表达式可用。前台窗口标题
,当前焦点窗口的标题满足设定的名称时,该规则返回真。大小写敏感、正则表达式可用。前台窗口状态是
,当前焦点窗口状态满足条件时,该规则返回真。可选值:正常
、最大化
、最小化
、全屏
。前台窗口进程
,当前焦点窗口的进程名满足设定的名称时,该规则返回真。大小写敏感、正则表达式可用。
提示
最新版本的ClassIsland自带窗口规则调试工具
。你可以在设置-更多(右上角三个点)-调试窗口规则打开它。打开后,该工具会将自身置顶,方便查看信息的同时又不会被遮挡;点击想要查询的窗口即可获得窗口句柄、窗口类名、窗口标题、窗口状态和窗口进程名等信息。
你也可以通过Catch_Window_Tool查看某一个窗口的类名或标题。
科目是
、下节课科目是
、上节课科目是
,当前科目满足设定的科目时,该规则返回真。当前时间状态是
,当前时间状态满足给定的时间状态时,该规则返回真。可选值:无 、上课、课间休息 、放学后。当前天气是
,当前天气状态满足给定的天气状态时,该规则返回真。存在气象预警
,当前气象预警的名称满足设定的名称时,该规则返回真。大小写敏感、正则表达式可用。
提示
想实现 存在任意气象预警
的效果,你可以试试勾选正则选项并在后面输入 \*
。
距离降水开始/结束还剩
,当前降水距离结束剩余时间或距离开始剩余时间满足设定的时间时,该规则返回真。单位为min,你可以点击输入框前的那个按钮来设定是距离结束剩余时间还是距离开始剩余时间。默认为距离开始剩余时间。
行动
行动 (Action) 则可以定义一些操作,如更改应用设置、启动指定程序等。
提示
在1.5.4.1及以上版本中,你在中也可以添加【行动】。
部分插件会提供更多行动选项。
广播信号
,参见 触发器-收到信号时,可以发出一个应用内的广播信号,以触发其他自动化流程。显示提醒
,是指弹出应用的,包括遮罩和正文,你可以自定义遮罩的内容和持续时长、正文的内容和持续时长(文本持续时长为0时,会无法正常提醒,若你不想显示正文内容,请把正文提醒文本设为空,正文提醒时长设为任意正数),你也可以选择是否启用遮罩和正文的语音播报(默认启用)。显示天气提醒
,是指弹出应用的天气,你可以选择三天天气预报
(默认)、逐小时天气预报
或气象预警
(若当前没有任何气象预警,“显示气象预警”的行动不会生效)。窗口停靠位置
,可以改变应用的大致显示位置,如左上角、中上角、右下角等。应用主题
,可以改变应用的主题,包括明亮
、黑暗
或跟随系统
。组件配置方案
,可以修改的配置方案(不同的json文件)。(截至1.7.0.0版本及以前,由于设备性能不足,显示遮罩提醒时切换组件配置方案可能引发报错,可以通过在切换前设置一定的等待时长缓解该问题。)等待时长
,用于自定义执行下一操作前的等待时间。
触发与恢复
修改应用内置设置的行动
会创建一个 设置叠层 (SettingsOverlay) ,以对应用设置进行临时更改,以便于多个行动的恢复。不过在临时更改期间,如果您手动修改了某个设置,那么该设置项将遵循手动的修改,不会再被恢复。
“恢复”功能默认启用。您也可以点击自动化设置页面右上角的【触发】和【恢复】来测试行动。当规则集不再满足时,已经执行的行动会自动恢复。比如,已修改的应用设置将被自动改回。
提示
自动化的恢复功能包含一种“锁定”机制,启用“恢复”功能会使自动化流程触发时,该自动化流程无法再次被触发,直到被“恢复”。
注意
若使用“当规则集更新时”作为触发器时,建议您打开恢复功能,因为规则集更新的频率较高,每次焦点窗口变化都会触发自动化流程,这样可能将导致自动化流程中的行动被频繁执行,可能引起电脑出现卡顿等问题,也可能干扰教学活动。
配置方案
和组件一样,您可以为自动化切换多个不同的配置文件,或者随时禁用所有或指定的自动化。
您也可以来 🙌展示台 与大家分享你的自动化方案。
技术性细节
您可以拖动自动化进行排序,它们将会按照从上到下的顺序依次开始执行。行动的删除按钮也可以用鼠标拖拽,以实现对行动的排序。详见:#645
设置叠层会遵循先来后到的顺序依次往上叠加。因此,如果您希望某一行动始终生效,需要对其他自动化的规则集设置排除以进行规避。
在编辑完组件、自动化或档案后,请勿直接关机,这可能导致您的更改丢失。您需要手动关闭应用设置窗口(或手动退出 ClassIsland)以触发这些配置的保存。