Concentrating是一个基于脚本的自律软件,可以使用lua脚本来实现不同的功能,配合自启动和任务表
可以做到把一天安排地明明白白。
脚本系统是本软件的核心功能,可以通过运行脚本来控制鼠标、键盘或者发送消息,弹出对话框等。
运行脚本有两种方法,一种是在脚本界面点击“运行脚本”,另一种是在任务表中添加一个关于这个脚本的任务。有关任务表的内容会在之后的部分讲解。同一时间可以运行多个不同的脚本。
脚本在运行时可能会输出一些信息,这些信息可以在日志界面中看到。同样的,若脚本在运行时发生错误(例如语法错误或者运行时错误),错误信息也将在日志界面中显示。
Lua API参见 Lua API
软件中的所有设置都保存在一个类似Json的树中。脚本和用户都可以对此进行读写,用户可以在设置界面的"脚本"页面中编辑。
对于脚本而言,只能通过Concentrating.setting.read/write方法来读取设置,但要注意的是,参数key实际上是一个路径,如有类似以下Json的设置:
{
"a":{
"b":{
"c":{
"d":true
}
}
}
}以下脚本将返回true:
Concen.setting.read("a.b.c.d")设置项“system”内保存了软件的相关设置。
Concentrating可以配置密码,方法是在设置->一般->访问 中开启 “需要密码”,并在下方输入密码。
开启密码后,关闭及显示Concentrating主窗口都将需要密码。
Concentrating内置了一个基于chromium的浏览器,但由于Qt官方在编译时没有开启某些编码库的编译选项,故可能无法播放某些视频。
内置浏览器有一个白名单,只有在白名单内的网站才能被访问。白名单中保存了域名的Host部分,这样可以方便地将整个网站放行。白名单支持通配符。
e.g:*.acwing.com 将允许a.acwing.com,b.acwing.com/12345,但不允许acwing.com(通配符)
任务表系统可以配置定时任务,配置的方法是在设置界面的任务表界面中添加一个任务并启用。
任务的时间项类似Linux下的crontab,由六个项组成,从左到右分别表示:
- 秒
- 分
- 时
- 天(相对于月)
- 月
- 星期几
项与项之间由空格隔开,每个项由一个字符串组成。
每个项可以用以下方式指定其值:
- 数字。例如,"0 0 7 1 1 1"可以表示在一月一日星期一(如果是的话)执行。
- 星号,表示所有值。例如,"* * * * * *"会每隔一秒执行一次。
- 范围,格式为“%-%",其中%代表一个数字。例如,"0 0 7-13 * * *"将在每天的7点到13点,每隔一个小时执行一次
- 逗号,可以连接多个值。例如,“1,2,3,4,5 * * * * *"将在每分钟的前5秒每秒执行一次
- 间隔。通过在范围表达式的末尾添加一个"/%",可以实现指定范围的间隔。例如,"1-13/2"可以表示1,3,5,7,9,11,13几个数



