folderify
以原生风格生成像素级完美的 macOS 文件夹图标。
- 自动包含从
16x16
到512x512@2x
的所有图标尺寸。 - 支持浅色或深色模式(默认自动选择)。
正在使用 folderify
? 告诉我或告诉我,我很乐意展示一些真实世界的使用案例!
安装
使用 Homebrew 安装 folderify
:
brew install folderify
推荐使用 Homebrew 安装,它会自动为你的 shell 安装 folderify
参数补全功能。
其他安装选项请参见下文。
使用方法
使用蒙版为文件夹分配图标:
folderify mask.png /path/to/folder
生成 mask.icns
和 mask.iconset
文件:
folderify mask.png
默认情况下,folderify
使用你系统当前的浅色/深色模式。使用 --color-scheme
可以覆盖此设置:
folderify --color-scheme dark mask.png
注意:
- 目前没有简单的方法可以设置一个图标,使其在整个操作系统切换时自动在浅色和深色之间切换。你只能为文件夹分配一个版本的图标。
提示
为获得最佳效果:
- 使用
.png
格式的蒙版。 - 在透明背景上使用纯黑色设计。
- 确保蒙版图像的角落像素是透明的。它们用于空白边距。
- 传递
--no-trim
标志并使用以下蒙版:- 高度为 384px,
- 宽度是 128px 的倍数(最大 768px),
- 使用 16px 网格。
- 每个 64x64 的图块将在最小图标尺寸下精确对齐到 1 个像素。
OS X(macOS 10)
自 v3 版本起,folderify
不再支持 OS X / macOS 10 的文件夹样式:
- Leopard 风格(OS X 10.5 到 OS X 10.9)
- Yosemite 风格(OS X 10.10 到 macOS 10.15)
要生成这些样式,请使用 folderify
v2 版本。例如:
pip3 install folderify
python3 -m folderify --macOS 10.5 path/to/icon.png
其他安装选项
如果你没有 Homebrew,但系统中已经安装了 ImageMagick(magick
二进制文件),你可以使用以下方法:
使用 Rust 安装
cargo install folderify
从源代码安装
或直接下载代码:
git clone https://github.com/lgarron/folderify && cd folderify
# 直接运行
cargo run -- --reveal examples/src/folder_outline.png .
# 安装(假设 `cargo` 的 bin 目录在你的路径中)
cargo install --path .
folderify --reveal examples/src/folder_outline.png .
现在仓库文件夹应该有了一个自定义图标。
for file in examples/src/*.png; do cargo run -- $file; done
open examples/src/
你应该能看到一堆新生成的 .iconset
文件夹和 .icns
文件,它们是从 .png
蒙版自动生成的。
依赖项
- ImageMagick - 用于图像处理(您应该能够在命令行中运行
magick
和identify
)。 - macOS 自带:
iconutil
- 可选:
fileicon
sips
、DeRez
、Rez
、SetFile
(对于其中一些,您需要 Xcode 命令行工具。)
完整选项
从蒙版文件生成原生风格的 macOS 文件夹图标。
用法:folderify [选项] [蒙版] [目标]
参数:
[蒙版]
蒙版图像文件。为获得最佳效果:
- 使用 .png 蒙版。
- 使用透明背景上的纯黑设计。
- 确保蒙版图像的角落像素是透明的。它们用于留白。
- 确保非透明像素的高度为 384px,使用 16px 网格。
如果高度为 384px,宽度是 128px 的倍数,则每个 64x64 的瓷砖在最小文件夹大小时将与 1 个像素精确对齐。
[目标]
目标文件或文件夹。如果指定了目标,生成的图标将应用于目标文件/文件夹。
否则(除非指定了 --output-icns 或 --output-iconset),将在蒙版所在的
文件夹中创建 .iconset 文件夹和 .icns 文件(您可以在访达中使用"显示简介"
从 .icns 文件复制图标)。
选项:
--output-icns <ICNS_文件>
将 `.icns` 文件写入指定路径。
(即使也指定了目标,也会写入。)
--output-iconset <ICONSET_文件夹>
将 `.iconset` 文件夹写入指定路径。
(即使也指定了目标,也会写入。)
-r, --reveal
在访达中显示目标、`.icns` 或 `.iconset`(按此优先顺序)
--macOS <MACOS_版本>
macOS 文件夹图标的版本,例如 "14.2.1"。默认为当前运行的版本
--color-scheme <颜色方案>
颜色方案 — auto 匹配当前系统值
[默认:auto]
[可能的值:auto, light, dark]
--no-trim
不要修剪蒙版的边距。
默认情况下(即没有此标志),会修剪四边的透明边距。
--no-progress
不显示进度条
--badge <徽章>
为图标添加徽章。目前仅支持一次添加一个徽章
[可能的值:alias, locked]
-v, --verbose
详细输出。同时设置 `--no-progress`
--completions <SHELL>
打印给定 shell 的补全(而不是生成任何图标)。
这些可以永久加载/存储(例如使用 Homebrew 时),但也可以直接源引用,例如:
folderify --completions fish | source # fish
source <(folderify --completions zsh) # zsh
[可能的值:bash, elvish, fish, powershell, zsh]
-h, --help
打印帮助(使用 '-h' 查看摘要)
-V, --version
打印版本
示例
从苹果标志生成的示例: