应用介绍
iRightMenu Pro 是 macOS 上一款灵活、强大的右键菜单工具,不仅内置了各种常用的工具,还能够让用户自定义右键菜单,使用 Shell
脚本实现菜单功能,充分发挥脚本的长处和灵活性,帮你塑造自己的专属右键。
iRightMenu Pro 运行在苹果的 Sandbox
机制之外,突破了苹果的沙盒限制,虽然无法和 iRightMenu
一样上架 App Store
,但是获得了比上架 App Store
的应用更灵活和强大的能力。
iRightMenu Pro 不仅能满足普通用户的使用需求,更适合有技术基础的专业人士。
更新历史
安装方式
下载 .dmg
文件后,直接双击打开,根据提示进行安装。
使用方法
启用拓展
要想右键功能生效,首先必须启用右键拓展:
进入系统偏好设置 -> 拓展 -> Finder 拓展 -> 启用 iRightMenu Pro
拓展。
安装辅助程序
应用会要求安装辅助工具,请输入电脑的开机密码进行安装:
试用和激活
首次打开应用,会弹出激活窗口,可以选择试用 7 天
或输入已经拥有的激活码。
没有激活码?可以在自助商店购买。
iRightMenu Pro - mac 上强大的右键菜单工具,支持脚本[出售]
自定义脚本
支持添加自定义脚本作为右键菜单是iRightMenu Pro
的核心功能之一,本文将详细说明如何使用iRightMenu Pro
自定义脚本功能来拓展功能,满足自己的需求。
添加脚本
1.4.0(25)版本之前
要想使用自定义脚本作为菜单,需要进入自定义脚本
界面,点击左下角的+
号,在弹出的脚本添加界面添加自己的脚本实现,在脚本中使用变量${TARGET_PATH}
表示右键选中的文件或者目录路径。
比如,在右键增加一个执行Shell
脚本的菜单,只针对后缀为sh
的文件显示,脚本代码如下:
# 为选中的文件添加可执行权限,加引号是为了解决路径含有空格的问题
# 从 v1.3.0(19) 开始,变量 $TARGET_PATH 需要替换成 $1
chmod +x "$1"
# 执行选中的文件
sh "$1"
从v1.3.0(19)
版本开始,脚本增强了对同时选中多个文件的支持,为了兼容旧版本,需要将旧版本的变量$TARGET_PATH
替换成$1
。
如果需要在脚本内同时处理多个文件(包括文件和目录),可以参考下面的示例:
# Iterate over all selected files or folders example
for i in "$@"; do
if [ -d "$i" ]; then
echo "$i is a directory"
elif [ -f "$i" ]; then
echo "$i is a file"
else
echo "$i is not file or directory"
fi
done
在sh
后缀的文件上执行右键,如图:
v1.4.0(25)之后
从v1.4.0(25)
版本开始,脚本系统支持使用任意脚本语言编写功能,并且支持将脚本添加到状态栏菜单中使用。
打开iRightMenu Pro
,进入自定义菜单页面,然后点击左下方+号按钮
进入脚本编辑页,可以看到以下几个主要设置项
- 名称:显示在菜单上的文字,即菜单名称
- 描述:菜单上不会显示,用于说明当前脚本的功能、用途等
- Shell:脚本解释器路径,使用什么语言编写脚本,就要使用对应的解释器来执行。可以下拉选择或者直接手动填写自定义的路径
- 脚本:就是功能实现的代码,没什么好说
- 启用条件:指定当前脚本菜单应该在什么情况下才会在右键菜单上面显示,可以选择
通用
、可执行文件
、指定扩展名
、正则表达式
,只有在指定的文件或路径满足启用条件,右键菜单才会显示当前脚本 - 执行用户:指定执行脚本时的用户权限,当有些目录或文件普通用户无权限访问时,可以指定使用
root
权限进行操作 - 显示脚本输出:脚本执行成功后,显示脚本执行的输出,可以方便的复制脚本执行结果
其中,脚本输入框内是默认的shell
脚本,仅仅是作为一个示例,功能是遍历所有传入的路径参数,分别找到文件或目录,然后输出结果。
一般情况下,我们编写脚本是为了操作选择的文件或者目录,在点击右键菜单时,iRightMenu Pro
会将当前Finder
中选中的所有文件或者目录以脚本参数的形式传递到对应的脚本中,所以这里只需要遍历"$@"
并根据自己的需求处理文件或目录即可。
需要注意的是脚本中的$@
必须使用引号包裹,否则无法正确的解析多个参数。
变量使用引号包裹的情况在shell
脚本中很常见,当文件路径中包含空格时,如果没有使用引号包裹,将会提示找不到指定文件。
你也可以直接使用"$1"
、"$2"
来直接获取指定索引的传入参数,搜索和学习shell
脚本的语法后可以尝试编写更多实用的功能。
iRightMenu Pro
的脚本系统非常强大,不仅仅支持shell
脚本,你可以使用python
、perl
、node
、php
等其他脚本语言实现自己的功能,只需要你在脚本解释器输入框内填好目标脚本解释器路径,就能够使用对应的脚本语言来编写。
不同的脚本语言有自己的语法和特点,但总的来说编写思路就是通过解析传入脚本的参数,然后针对目录或文件进行不同的处理,最终实现自己的需求。
需要注意的是,iRightMenu Pro
没有集成脚本解释器,如果需要使用某个语言来实现功能,应该确保电脑上已经安装了对应的脚本解释器,并在Shell:
输入框中正确填写解释器的完整路径。
举个例子,我想要使用python
语言来实现我的右键菜单功能。
首先需要填写名称和描述信息,然后在Shell
输入框中填入系统中已经安装的python
解释器完整路径,如:/usr/local/bin/python
,然后在脚本输入框中使用python
实现自己的功能。
# coding=utf-8
import sys
import os
if __name__ == '__main__':
for i in range(1,len(sys.argv)):
if os.path.isdir(sys.argv[i]):
print("%s is a directory" % sys.argv[i])
elif os.path.isfile(sys.argv[i]):
print("%s is a normal file" % sys.argv[i])
else:
print("%s is a special file" % sys.argv[i])
上面的脚本功能是遍历输入脚本的参数(即所有选择的文件或目录路径),然后判断他们的文件类型并输出结果。
脚本编写完成后,保存,然后在Finder
选一些文件和目录,右键即可在自定义脚本
菜单中找到刚刚添加的脚本菜单。
删除脚本
打开iRightMenu Pro
,进入自定义菜单页面,然后点击左下方-号按钮即可删除脚本。
导出脚本
有时候需要将自己的脚本分享给其他人,就可以使用脚本导出功能。
打开iRightMenu Pro
,进入自定义菜单页面,选择你要导出分享的脚本,然后点击左下方导出按钮,选择导出文件的保存路径,即可导出脚本。
将导出的文件*.rtmenu
发给朋友,对方将其导入自己的iRightMenu Pro
中即可使用。
需要注意的是,对方需要手动安装脚本需要的解释器,目前导出文件里只有脚本相关的数据,不包含需要的脚本解释器环境。
状态栏菜单
iRightMenu Pro
v1.4.0(25) 以后,支持将自定义脚本添加到状态栏菜单中。
要将脚本添加到状态栏并使用,需要满足下面的条件:
- 在自定义脚本中将对应脚本的
状态栏
选项勾选 - 脚本不依赖传入的文件或目录就能正常工作
- 在
偏好设置
中启用状态栏菜单
选项
举个例子,下面是隐藏桌面
的脚本:
defaults write com.apple.finder CreateDesktop -bool false
killall Finder
这个脚本不需要传入选择的文件或目录就能正常运行,将他的状态栏
选项勾上,然后在偏好设置里启用状态栏菜单
。
完成后,即可看到状态栏显示iRightMenu Pro
的菜单,左键点击就能看到对应的菜单项。
常见问题
安装后右键功能不出来
- 打开“系统偏好设置”->“扩展”->“访达扩展”,检查
iRightMenu Pro
扩展是否已经勾选,如果没有,请勾上。 - 执行完上述步骤后,重启访达再次尝试,如果还是不能解决,请重启电脑。
右键菜单不显示自定义脚本
- 检查自定义脚本菜单开关是否已经启用,如果没有启用,请先启用。
- 在自定义脚本标签中检查是否添加了脚本,如果没有,先添加一个。
- 检查脚本是否设置允许在目录或者文件上使用,如果设置了只允许在文件上使用,再检查是否设置了指定的文件后缀。比如,设置后缀为
sh
,则表示该脚本只会在以sh
后缀结尾的文件上右键时才会出现。
脚本内使用某些命令失败
在应用内执行脚本的环境中PATH
值为/usr/bin:/bin:/usr/sbin:/sbin
,不包含当前登录用户自定义的搜索路径。在编写脚本时需要注意可执行程序是否在以上搜索路径中,如果不在,需要使用完整路径。
从v1.2.4(17)
版本开始,可以在偏好设置中自定义PATH
的值,自定义的PATH
值将会覆盖默认值。
从v1.3.0(19)
版本开始,默认的PATH
值调整为/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
,自定义的PATH
值将被添加到默认路径的后面。
怎么开发调试自定义的脚本
几种思路:
- 在可以调试的IDE中编写并调试自己的脚本,然后再将编写好的脚本内容填到自定义脚本输入框中。
- 在脚本关键位置输出日志到某个文件中,然后查看文件排查问题。
- 在脚本内使用
syslog -s -l alert "日志内容"
将日志输出到系统日志,然后使用控制台.app
查看。 v1.2.5(18)
版本开始,在偏好设置中将日志等级设置为DEBUG
,右键执行完脚本后即可在日志文件中看到脚本执行后的回显数据。
怎么迁移应用数据
为了方便用户在各个设备上迁移iRightMenu Pro
的应用数据,从v1.2.3(16)
版本开始,可以在偏好设置中使用iCloud
对数据进行备份还原。
如果发现iCloud
备份还原按钮是灰色的,请确认当前系统已经登录Apple ID
并开启了iCloud
功能。
如何切换多国语言
iRightMenu Pro
目前只支持简体中文和英文两种语言,程序的语言跟随系统。如果需要切换语言,可以改变系统语言设置,打开系统偏好设置->时间与日期->打开语言与地区,将首选语言设置成想要的语言即可。应用不支持的语言默认会以英文显示。
切换语言后,右键菜单的文字语言可能不会改变,此时需要重启Finder。
Finder 侧边栏图标异常
由于苹果系统自身的bug,在外接磁盘上启用右键菜单,会导致外借磁盘的图标显示异常。
v1.2.3(16)
版本以后,在偏好设置中将在外接磁盘上启用
的选项取消勾选,然后重启Finder即可解决。
桌面或文稿目录不显示右键菜单
这个问题,一般是升级macOS到14系统以后出现,只需要在iCloud设置中关闭同步桌面和文稿文件夹
即可解决。
macOS 15 无法启用访达插件
15系统已经没有启用插件的入口了,要启用插件,可以按照下面的方法手动启用:
- 查找插件的UUID
打开终端,执行下面的命令:
pluginkit -m CFBundleIdentifier=net.ymlab.iRightMenu.pro.FinderSync -vv
输出大致如下:
+ net.ymlab.iRightMenu.pro.FinderSync(1.4.7)
Path = /Applications/iRightMenu Pro.app/Contents/PlugIns/iRightMenu Plugin.appex
UUID = 9F7151B5-E77C-49A1-91FD-5BAC3704E85D
Timestamp = 2023-11-04 09:17:07 +0000
SDK = com.apple.FinderSync
Parent Bundle = /Applications/iRightMenu Pro.app
Display Name = iRightMenu Pro
Short Name = iRightMenu Pro
Parent Name = iRightMenu Pro
Platform = macOS
(1 plug-in)
得到 UUID = 9F7151B5-E77C-49A1-91FD-5BAC3704E85D
- 启用插件
在终端输入下面的命令来启用插件:
pluginkit -e "use" -u "9F7151B5-E77C-49A1-91FD-5BAC3704E85D"
-u 后面的参数是刚刚获取到的插件的 UUID
- 禁用插件
如需禁用插件,可在终端输入下面的命令:
pluginkit -e "ignore " -u "9F7151B5-E77C-49A1-91FD-5BAC3704E85D"
macOS 15 打开应用一直出现访问其他应用数据的授权
打开系统设置,找到隐私与安全性
->完全磁盘访问权限
,将iRightMenu Pro
添加进去并启用即可。
本文为原创文章,版权归字节时代所有,欢迎分享本文,转载请保留出处!