【免费下载链接】window-sweaters
A macOS menu-bar app that dresses your windows in knitted borders.
Window Sweaters 是一款 macOS 菜单栏应用,能给每个窗口织上针织毛衣边框,让桌面更有温度。除了点击菜单栏图标,它还隐藏了一个强力的sweatersrc启动脚本:一份脚本就能批量设置针织风格、纱线颜色、边框宽度与应用黑白名单,不必再逐项点选菜单。
sweatersrc 启动脚本的工作机制
每次启动时,Window Sweaters 会依次在两个位置寻找启动脚本:
~/.config/window-sweaters/sweatersrc(优先)~/.sweatersrc
找到后即用sh执行,相关实现在 src/misc/helpers.h 中,有三个值得注意的细节:
- 文件没有可执行权限时会自动补上,无需手动
chmod +x; - 脚本运行时长被限制为 60 秒,避免拖慢启动;
- 如果你是用命令行参数启动应用的,脚本会被跳过,调用点在 src/main.c。
一句话概括:sweatersrc 就是你希望每天打开 Window Sweaters 时自动生效的那份"开机设置"。
批量下发参数:命令行与菜单是同一套参数
所有菜单功能在 src/parse.c 中都被解析为key=value参数,比如:
"/Applications/Window Sweaters.app/Contents/MacOS/WindowSweaters" \ width=14 \ active_color=0xffd58561 \ chart=zigzag \ whitelist=Firefox,Slack三个关键行为:
- 已有实例在运行时:新进程会把参数通过内部 Mach 消息转发给运行中的实例然后退出,所以"重复启动"不会出错,运行中的实例会直接重新绘制;
- 没有任何实例时:会带着这些设置直接启动(可执行文件名为
WindowSweaters,见 AppInfo.plist); - 应用已在运行却没传有效参数:会提示
A Window Sweaters instance is already running and no valid arguments were provided。
应用黑白名单:最常用的两个参数
| 参数 | 作用 | 示例 |
|---|---|---|
whitelist= | 只给列出的应用织毛衣 | whitelist=Firefox,Slack |
blacklist= | 只排除列出的应用 | blacklist=Preview |
- 多个应用用英文逗号分隔,按应用进程名匹配;
- 两个参数可同时使用,先判白名单再判黑名单;
- 设置会立即重建所有边框,保存后马上生效。
提示:菜单栏Apps里的勾选和命令行黑白名单是两套独立的过滤,一个窗口必须同时通过两层检查才会被套上毛衣,说明见 CONTRIBUTING.md。
一份完整的 sweatersrc 示例
把下面内容存到~/.config/window-sweaters/sweatersrc,下次打开 Window Sweaters 即自动完成"只给 Firefox 和 Slack 织毛衣、12 点宽边框、非聚焦窗口稍作压暗":
#!/bin/sh SWEATER="/Applications/Window Sweaters.app/Contents/MacOS/WindowSweaters" # 参数会转发给运行中的实例,无需先退出应用 "$SWEATER" \ whitelist=Firefox,Slack \ chart=zigzag \ width=12 \ dim=0.4修改后重启 Window Sweaters 即可应用;也可以不写脚本,在终端里临时执行上面这段参数完成一次性调整。
常用参数速查
内置图案包括by-app、zigzag、picnic、twinkle等,完整毛线样式集可翻阅 docs/COLLECTION.md;你还可以把自制的 PNG 图表放进~/Library/Application Support/Knit Borders/charts/,再用charts=reload加载。
| 参数 | 示例 | 说明 |
|---|---|---|
chart= | chart=by-app | 图案:内置图表或 charts/ 里的图表名 |
yarn= | yarn=rib | 针法:stockinette / rib / garter |
basket= | basket=forest | 毛线配色篮:dopamine / neon / punch / wool / sorbet / forest / mono,见 src/knit.c |
width= | width=14 | 边框宽度(点) |
active_color=/inactive_color= | active_color=0xffd58561 | 聚焦 / 非聚焦窗口的纱线颜色(16 进制) |
dim= | dim=0.4 | 非聚焦窗口的压暗程度(0–1) |
order= | order=a | a = 边框盖在窗口上方,b = 压在下方 |
anchor= | anchor=centre | 图案起针位置:corner / centre |
gauge=/ground=/ambient=/relief=/sheen= | gauge=8 | 针织密度与光影细节 |
knit=on/knit=off | knit=off | 针织纹理总开关 |
hidpi=on/hidpi=off | 高清渲染开关 | |
apps=reload | 重新加载apps.conf自定义配色 | |
charts=reload | 重新加载自定义图表 | |
apply-to= | apply-to=3 | 只应用到某个窗口 |
颜色的最终优先级:
apps.conf里的规则永远优先,例如Claude = #D58561 atelier-claude;规则名按应用名前缀匹配、不区分大小写、最长匹配获胜(见 src/misc/apps.h)。
动手前的 3 个注意事项
- sweatersrc 只在启动时执行一次,且当天未传命令行参数时才会运行,不会在运行中途重放;
- 参数是"推送"模型:编辑脚本后重启应用,或在终端临时下发参数即可,两者都不需要杀掉进程重装;
- 脚本有 60 秒时限,保持脚本轻量,重活留给其它工具。
至此,Window Sweaters 的命令行进阶就这些:一份sweatersrc搞定批量设置,一行whitelist=/blacklist=搞定应用黑白名单,窗口毛衣从此完全由你掌控。 🧶
【免费下载链接】window-sweaters
A macOS menu-bar app that dresses your windows in knitted borders.
相关推荐
如何利用LenovoLegionToolkit命令行脚本实现游戏本设置自动化:完整指南
如何利用LenovoLegionToolkit命令行脚本实现游戏本设置自动化:完整指南 LenovoLegionToolkit是一款轻量级的联想拯救者系列游戏本
桌面应用智能硬件WaveFox图标设置教程:从firefox-csshacks到Lepton图标全攻略
WaveFox图标设置教程:从firefox csshacks到Lepton图标全攻略 WaveFox是一款强大的Firefox CSS主题定制工具,通过简单的
VoxCPM命令行完全指南:单句合成、批量处理与声音克隆一个命令搞定
VoxCPM命令行完全指南:单句合成、批量处理与声音克隆一个命令搞定 VoxCPM 是一款 Tokenizer Free 的开源中英文 TTS 语音合成项目,其
人工智能大模型语音音频微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考