Window Sweaters — небольшое macOS-приложение Сары Гордич, которое добавляет окнам декоративные вязаные рамки. Проект основан на JankyBorders Феликса Кратца и распространяется под GPL-3.0. Назначение чисто эстетическое: сделать рабочий стол уютнее, сохранив возможность управлять стилем каждого приложения.
В меню bar появляется значок пряжи, через который меняются стиль, узор, ширина рамки и размер стежка. Там же можно временно приостановить эффект. Отдельные программы отключаются в списке Apps, и этот выбор сохраняется после перезапуска. Если рамки нужны только нескольким приложениям, можно сначала выключить эффект для всех, а затем отметить нужные; новые программы по умолчанию останутся без оформления.
Режим By App назначает каждой программе собственный sweater. Для 37 приложений автор вручную подобрал цвета и узоры, среди них Finder, Safari, Terminal, Notion, Slack, VS Code, Cursor, Claude, Figma, Word, Spotify, Telegram и Discord. Остальные получают смягчённые цвета собственной иконки и стабильный узор zigzag, picnic или twinkle. Если подходящего цвета в иконке нет, fallback выбирается по имени приложения.
Режим Zigzag использует цвета иконок уже для всех приложений, включая 37 ручных вариантов, и добавляет кремовый узор. Анализ иконок выполняется локально в фоновом режиме. Пользовательские значения в apps.conf имеют приоритет, а собственные PNG charts могут заменить встроенные узоры.
У проекта есть заметные ограничения. Во время resize рамки исчезают и возвращаются после завершения изменения размера. Используются private macOS window APIs, поэтому системные обновления способны нарушить работу. Заявлены macOS 13 и новее, Apple Silicon и Intel, но практическое тестирование проводилось на Apple Silicon с macOS 26. Для отслеживания активного окна требуется Accessibility permission.
Установка возможна через Homebrew или ZIP из Releases. Пока приложение не нотаризовано Apple, поэтому при блокировке macOS может потребоваться Open Anyway в Privacy & Security. Исходники можно собрать с Python 3 и Apple Command Line Tools. Репозиторий также содержит команды для тестов, каталога и benchmark рендерера.