在Mac OS X中修改窗口按钮颜色

9
如何修改Mac OS X中用于关闭/最小化/放大窗口的红色/黄色/绿色按钮?必须有可编辑的资源或plist文件。这些是我所说的按钮:Mac stoplight buttons.对于红绿色盲的人来说,这些颜色可能会令人发狂。我希望他们选择实际用于交通信号灯的蓝绿色调,而不是那种草地绿色。那种草绿色无法与红色区分开来。将主题更改为石墨色是一个较差的替代方案,因此任何其他方法都更受欢迎。
3个回答

13

好的,在漫长而似乎无尽的研究周期之后,我已经找到了窗口按钮存储的位置。它们在一个名为ArtFile.bin的文件中,位于/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/

此外,一个名叫Alex Zielenski的人,以及Indragie Karunaratne的帮助下,创建了一个实用程序,名为artFileTool,用于获取其内容。第二个链接是该实用程序的代码库。

以下是MacThemes论坛上用户toutheme描述的提取和重建资源的过程

对于ArtFile.bin - Lion

准备工作

  • 创建一个新文件夹:TheFolder
  • 将Lion ArtFile.bin (/System/Library/PrivateFrameworks/CoreUI.framework/Resources)和artFileTool复制到TheFolder中。

终端操作

  • 打开终端,输入“cd”+“空格”+(将TheFolder拖到终端窗口上)。按回车键。

解码

要解码ArtFile.bin并编译一个名为ResourcesDisconnectedClassified的文件夹:

  • ./artFileTool -d ArtFile.bin ResourcesDisconnectedClassified

    -- 或 --

要解码ArtFile.bin并编译一个名为NamedConnectedImages的文件夹:

  • ./artFileTool -d -c ArtFile.bin NamedConnectedImages

编辑

使用PhotoShop编辑您的文件,例如...

编码

要重新编码ResourcesDisconnectedClassified:

  • ./artFileTool -e ResourcesDisconnectedClassified ArtFile.bin ArtFile.new.bin

    -- 或 --

要重新编码NamedConnectedImages:

  • ./artFileTool -e -c NamedConnectedImages ArtFile.bin ArtFile.new.bin

对于ArtFile.bin - Snow Leopard:

  • ./artFileTool -d -l ArtFile.bin ResourcesDisconnectedClassified
  • ./artFileTool -d -l -c ArtFile.bin NamedConnectedImages
  • ./artFileTool -e -l ResourcesDisconnectedClassified ArtFile.bin ArtFile.new.bin
  • ./artFileTool -e -l -c NamedConnectedImages ArtFile.bin ArtFile.new.bin

对于ArtFile200.bin(仅限Lion):

  • 创建一个新文件夹:TheFolder
  • 将Lion ArtFile200.bin (/System/Library/PrivateFrameworks/CoreUI.framework/Resources)和artFileTool复制到TheFolder中。
  • 打开终端,输入“cd”+“空格”+(将TheFolder拖到终端窗口上)。按回车键。

解码

  • ./artFileTool -d ArtFile200.bin ResourcesDisconnectedClassified
  • ./artFileTool -d -c ArtFile200.bin NamedConnectedImages

编码

  • ./artFileTool -e ResourcesDisconnectedClassified ArtFile200.bin ArtFile200.new.bin
  • ./artFileTool -e -c NamedConnectedImages ArtFile200.bin ArtFile200.new.bin

  • 确保检查新创建文件的大小。(4.0-5.2 mb)

  • 将ArtFile.new.bin重命名为ArtFile.bin,并替换CoreUI.framework目录中的一个位置。
  • 注销

我希望这能对任何一位像我一样因为在探索OS X的内部工作原理时遇到了困难的人有所帮助。


2
是的,从 Lion 开始,视网膜资源被保存在 ArtFile200.bin 中。此外,GitHub 页面上有关于 ArtFile.bin 和 SArtFile.bin 的整个文件格式规范供任何感兴趣的人使用。对于您的考虑,存储库中的代码可在 Cocoa 应用程序中重复使用,因此您完全可以创建一个程序来更改标题栏控件。 - Alex Zielenski

1
在MacOSX 10.11 El Capitan中修改按钮也可以使用Alex Zielenski的工具“ThemeEngine”来完成,该工具可以在github.com上找到HERE。 您需要编辑/System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources中的“.car”文件的副本。 每个这些.car文件都包含“WindowFrame_WindowControlButtons”,它本身包含240个项目(!)。 我用“Size”和“Scale”对它们进行了分组(=应用窗口中的按钮)。 更高分辨率的"...@x2.psd"项目用于Retina显示器,“小”的项目用于应用内窗口,例如TextEdit中的颜色调色板。 在ThemeEngine中,图形项目(*.psd!)被选择并发送/接收到/从兼容的编辑器(例如:Photoshop)中,但也可以单独拖动到任何文件夹中,通过其他应用程序(甚至是“预览”)进行更改或替换,并重新拖动到ThemeEngine中的任何.car文件窗口。
通常在El Capitan中,您需要先停用SIP,但我发现将我的“旧”Maverick USB驱动器选择为启动磁盘,并手动将SystemAppearance.car拖回到SystemAppearance.bundle中,然后重新启动更容易(请参见“AccessibilityDarkAppearance.car”)。
我发现新的令人讨厌的2D图标真的很业余,有点“缩水”,所以我用从旧的MacOSX复制的一组类似于Maverick的图标替换了它们。作为妥协,我应用了El-Capitan中使用的“负”白色加号/减号符号。
(顺便说一句:我没有使用Alex提到的artFileTool来获得Aqua按钮,而是简单地制作了一系列屏幕截图并剪切了各种状态的圆形Aqua按钮。)
如果有人感兴趣,我可以在这里发布我的“SystemAppearance.car”文件...

1
我对在我的Mac上获取Windows XP / 7的窗口控制按钮很感兴趣。使用上述工具是否可能?如果有人展示如何在本地运行主题应用程序,我可以尝试一下。 - Harish
我认为这其实很简单——理论上来说……问题是,ThemeEngine的作者即将开发一个适用于MacOS 10.11+的版本——这意味着如果你使用的是El-Capitan或更低版本:请下载旧版本(“此处”)。如果你使用的是(High)Sierra甚至Mojave,你要么等待v.2的发布,要么使用旧系统启动你的Mac。接下来,对你的按钮进行截图,使用ThemeEngine加载SystemAppearance.car,在首选项中选择编辑器,选择菜单“Renditions > Send to editor”,将截图的相关部分粘贴到*.psd文件中,然后返回ThemeEngine。 - clemsam lang
我再次阅读了上面的帖子,确认“原始”的方法仍然有效,即将按钮图形拖到Finder文件夹中并通过外部应用程序进行编辑!因此,请从“此处”下载应用程序,打开*.car文件并将所需文件“拖出”。打开并替换内容,将其拖回到原来(确切的!)位置,保存并退出。如前所述,您可能无法编辑原始的car文件:在副本中进行更改,并将其替换为系统中的副本,如上所述。 - clemsam lang
这里的“HERE”是什么?你是指ThemeEngine吗? - Harish
请抽出时间仔细阅读我在“我们”的评论之上的文章。您将在第二行找到您的答案:>>“ThemeEngine”,可以在github.com上找到…<<(我只是不知道如何在评论中放置URL)。 - clemsam lang

-1

提醒一下,在Snow Leopard及更早版本中,石墨外观会将窗口按钮变为灰色。我很惊讶并不满意的是,在Mountain Lion中,即使在石墨主题中,这些按钮仍然是彩色的。(因为我只用过Lion很短时间,所以忘记了它的表现。)这是我的电脑,我想要改变它。颜色比我想象的更加突出,分散注意力。它看起来也不专业。事实上,我曾经使用Unsanity的Mighty Mouse将愚蠢的彩色等待图标变成灰色。


1
这怎么是一个容易修改按钮颜色的答案呢? - Tony
我对在Mountain Lion中这些按钮保持有色感到非常惊讶和不满。虽然我同意你的观点,但这个说法绝对是错误的。Graphite主题在所有版本的OS X上都得到了完全支持,至少在Yosemite版本之前,它确实会将“交通灯”按钮变成灰色。我一直在使用它。 - Cody Gray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接