mac隐藏dock图标

MacOS隐藏Dock栏中特定App图标的三种方法

来自:出处

有些App在设定中并没有“在Dock中隐藏应用图标”的自定义选项,而我们有时不希望App图标在Dock中常驻,但又希望App能在后台保持运行

在这里总结出三种已知的方法:

  1. cDock (需要关闭SIP,暂不支持M1)
  2. 直接修改Info.plist文件 (通用性差,少数软件支持)
  3. PHP脚本(通用性强,操作步骤较为复杂)

cDock

img

cDock是macEnhance旗下一款可以做到更改图标,间距,阴影甚至添加音乐播放器的强大Dock栏自定义应用。

该软件目前是付费的,可以从mac-torrent网站上下载TNT破解版。此软件需要关闭SIP使用,且目前不支持M1,所以我也没有使用过,放在这里供非M1机型的用户参考,有兴趣的朋友可以去试一试。

目前出了beta版,链接在这里,cDock 5.0.2,是否支持M1尚不明确。

如何恢复原生Dock的主题

参见

删除文件 /Library/Application Support/MacEnhance/Plugins/cDock.bundle,再在cDock的窗口中点击 Restart Dock ,则恢复原生Dock的主题,但cDock中除主题之外的其他设置的也会失效,比如隐藏图标的设置。

卸载cDock前,请进行以上设置,以恢复原生Dock的主题。不然即使是重启操作系统,也不会恢复原生Dock的主题。

image-20231030191233830

修改Info.plist文件

此方法适用于较少数软件,但方法简单,可以先试一试。(重启可能失效)

  • 首先完全退出想要隐藏图标的App
  • 打开访达,进入应用程序文件夹,找到想要隐藏图标的App,右键选择【显示包内容】
  • 双击打开Contents/Info.plist
  • <dict>下方一行插入以下代码,保存
<key>LSUIElement</key> 
<true/>
  • 重启App

img

如果打开提示意外错误,则代表该方法不适用于此App,则重复上述步骤删除代码保存即可恢复。

我测试下来主流软件基本都不支持,要么意外错误,要么Info.plist不给修改…

PHP脚本

该方法几乎适用于所有App(重启不失效),但Mac原生软件不支持

原理是和方法2一样的,只不过好像是使用脚本修改了证书可以强行更改Info.plist文件(不是很懂)。

使用这个方法的缺点是无法更改软件设定(左上角不会出现菜单栏),以及可能重置App的设定。

所以比较适用于一些不怎么需要修改设定,开机打开直接常驻,或者可以使用快捷键呼出的App。

  1. 安装PHP环境(已经有了的话可直接跳过)
  • 最简单可以直接到Homebrew,运行终端,输入网页中的代码回车,等待5-10分钟即可

  • 下载PHP脚本里的hideDockIcon.php脚本,右上角Code-Download ZIP解压就行

  • 首先完全退出想要隐藏图标的App

  • 打开终端,输入“export PATH=/opt/homebrew/bin:$PATH“,回车

  • 输入“sudo php“,敲一下空格,把hideDockIcon.php文件直接拖进终端,回车

    • 如果显示command not found,可以试一下输入“brew install php“重新加载一下PHP环境
  • 输入mac的密码,文字不会显示,输完按回车

  • 显示App name:

img

  • 这里输入想要隐藏图标的App名称,中文不支持。可以右键App-显示包内容-Contents-MacOS里的Unix文件查看对应的英文名。例如微信对应的是WeChat

img

  • 回车后,如出现Finished则代表成功

img

  • 从启动台打开App,App会先在Dock栏跳动加载,加载完后图标自动消失,但App依旧在运行。
  • 微信的话可以直接用设定好的快捷键呼出,菜单栏显示未读数量就行,省下一个Dock位~
  • 我个人还将Rainlendar和iSee Pro这两个软件隐藏了,后台常驻不占用Dock栏保持整洁。

img

接下来说恢复显示的方法:

  • 首先需要退出App,有的朋友就要问了**Dock栏也不显示,菜单栏也没有怎么退出呢?**别急!
  • 咱们打开活动监视器,找到该App,倒数第二列会显示PID编号,如我这里微信的PID是86306

img

  • 打开终端,输入“kill PID号码“,例如“kill 86306”
  • 回车即可退出该App

然后是恢复App在Dock栏显示的步骤

  • 重复以上加载PHP脚本的步骤,一模一样照葫芦画瓢,在输入完App name之后会弹出不一样的指令
  • 在Would you like to show it? (y/n) 后输入y,回车即可
  • 再重新打开软件,Dock栏即可恢复显示!

img

以上方法主要是在这个帖子上查询到并总结的,有兴趣可以看看原帖的讨论。

https://apple.stackexchange.com/questions/207939/how-to-hide-a-specific-active-app-on-os-x-has-to-be-reversible