Anchor 专业版手册
0 条评论本文为Anchor专业版的使用手册。专业版需要一定的代码基础,通过阅读本篇文档你将会学到使用Anchor,在状态栏、通知中心、Widget中,添加你想看到的内容、你需要的操作的一键按钮。
正如在展示视频中看到的那样,专业版提供了完全自定义的命令和完全自定义的界面。
另外,非常感谢你对于Anchor的认可与支持!
添加一个自定义控件
路径:单击状态栏Anchor图标 -> 新增 -> 添加自定义组件。
组件可以设定四种自动运行模式,分别是:
运行模式 | 含义 |
---|---|
手动运行 | 将不会自动运行,需要通过点击”开始”运行 |
开启视窗时运行 | 将在点开状态栏、划出通知中心时运行 |
程序启动时运行 | 将会在主程序启动时自动运行一次 |
固定间隔自动运行 | 将根据间隔不断自动运行 |
正如你所看到的,自定义组件的程序与代码都可以自定义。
这里做一个最简单的测试,将程序更改为:
1 | python |
将代码更改为:
1 | print("Greeting from Anchor") |
你就会获得一个”结果”固定的组件,这里建议使用左侧彩蛋第二位的测试窗口,测试窗口提供了一个简单方便的测试环境。
自定义界面
自定义状态栏按钮
状态栏除了默认的启动、隐藏、设置等,还支持添加其他的按钮。
支持的按钮有以下几类,添加多个按钮以”;”(英文分号)分隔:
种类 | 设定值 | 返回值 |
---|---|---|
目前结果值 | $文本一 | 结果值 |
固定值 | 文本二 | 文本二 |
输入值 | @文本三 | 输入值 |
那么以番茄钟为例,如果需要三个自定义按钮,分别为:30、目前剩余的时间、自定义时间。
那么”状态栏自定义按钮”就设定为:
1 | 30;$目前剩余时间;@自定义时间 |
这里可以添加一个自定义任务进行尝试,测试代码使用/bin/bash
的情况下可以使用:
1 | echo $1 |
建议将结果拖入状态栏内容,这样可以方便的在状态栏看到按钮点击的结果。
自定义视窗界面
视窗界面将根据程序运行的结果自动生成,目前支持四种自定义视窗以及四种视窗的任意组合。
四种视窗分别为:终端富文本、HTML、控件以及文件。
首先介绍一下运行结果的控制。程序重新运行后运行结果将重新产生,或者通过清屏的控制字符也可以清空已有的运行结果,例如下面的bash
程序演示了如何控制运行结果。
1 | echo -e "first line" |
终端富文本
终端通过控制字符可以生成富文本,Anchor支持相关的大部分控制字符,但不支持光标移动类的控制字符。
所有正常输出内容将默认作为终端富文本处理。
例如下面的bash
程序演示了生成一个字符日历:
1 | cal | head -n 1; cal -h | tail -n +2 | grep --before-context 6 --after-context 6 --color=always -e " $(date +%e)" -e "^$(date +%e)" |
可以看到当日的日期如终端中一样进行了标红。
HTML
Anchor支持HTML,要求的输出格式为:
1 | { "type": "html", "data": "<div>body</div>" } |
由于自动计算高度的问题,HTML要求去除最外层的<html>
标签,直接使用<head>
/ <body>
标签。
例如下面的bash
程序演示了一个简单的HTML视窗:
1 | echo '{ |
控件
Anchor提供四种视窗中可以使用的控件:
种类 | 关键词 |
---|---|
滑块 | slider |
文本输入 | textfield |
开关 | toggle |
文本显示 | text |
与HTML类似,使用控件的关键词为tools
,数据栏需要填入的内容为:
1 | [ |
例如下面的bash
程序展示了一个简单的控件视窗:
1 | echo '{ |
操作控件后,控件的属性将作为程序的参数传给程序并再次运行。
文件
文件视窗提供一个接收文件拖曳的窗口,Json格式为:
1 | { "type": "file", "data": "" } |
收到文件拖曳后,文件名将作为参数传给程序并再次运行。
多个视窗组合
组合视窗的关键词为multi
,所以Json格式为:
1 | { "type": "multi", "data": [] } |
例如下面的bash
程序演示了一个简单的组合视窗:
1 | echo '{ |
自定义程序
添加文件访问权限
由于Apple的沙盒策略,Anchor所有访问的文件都需要用户明确授权。
你可以在设置页添加可访问的文件夹,这里给出建议的操作:
- 创建
~/.anchor
文件夹,并将需要访问的资源加入该文件夹 - 将该文件夹在设置页中添加可访问
- 在测试页通过测试代码
ls /Users/name/.anchor
确认可以访问
更改使用的程序
这里以Python为例演示使用其他程序。
在程序栏,更改为python
在代码栏,输入如下代码:
1 | import sys |
将显示Python的系统信息。
这里另外演示通过osascript
进行弹窗的操作。
在程序栏,更改为bash
在代码栏,输入如下代码:
1 | osascript -e 'display notification "hello world!" with title "Greeting" subtitle "More text" sound name "Submarine"' |
调用其他可执行文件
由于沙盒策略,软件即使可以访问也无法运行系统自带以外的可执行文件。
所以需要通过一个代理完成可执行文件的访问,也就是Anchor访问代理软件,代理软件运行可执行文件。
通过代理软件的中转,Anchor就可以完成可执行文件的调用。
按照我的使用习惯(虽然我也可以使用本地的非沙盒版本),我会将代理软件与Anchor设置开机自动运行。
代理软件非常简单,只需要一个本地的HTTP服务器以及一些调用可执行文件的命令,如果你想要使用我已经写好的软件,可以直接到我的Github中进行下载。
FAQ
Q: 后续是否会支持Widget以及桌面小组件。
A: 在Big Sur正式更新后就会更新Widget,后续也将增加桌面小组件的功能。这些功能都将在普通版中提供,专业版与普通版的区别将保持仅有自定义界面与自定义代码。
Q: 通知中心的内容没有更新。
A: 只有在主程序启动的情况下组件的任务才会运行,所以请检查主程序是否已经运行。
Q: 是否有一些常用的功能组件提供?
A: 目前这些内容都放在Github上,后续如果用户量需要一个专门的网站了,届时会更新独立的网站。根据用户反馈非常常用的功能,将会更新到预定义组件里。当然有一些例如“显示隐藏文件”等系统已经有非常便捷的解决方案的功能(快捷键为:Command+Shift+.)将不会更新。