TECH 으로 돌아가기
TECH HACKER NEWS 6분 읽기 24 READS

창문에 뜨개질 테두리를 입히는 맥 앱 '윈도 스웨터'가 흥미로운 이유

창문에 뜨개질 테두리를 입히는 맥 앱 '윈도 스웨터'가 흥미로운 이유
SOURCE IMAGE · HACKER NEWS

맥 데스크톱을 꾸미는 유틸리티는 많지만, '윈도 스웨터(Window Sweaters)'는 접근 방식이 독특하다. 이 앱은 macOS 메뉴 막대에 상주하면서 열려 있는 창의 테두리를 뜨개질한 니트 모양으로 감싼다. 개발자 사라 고르디치가 자신의 맥에서 쓰려고 만든 개인 프로젝트로, GitHub에 GPL-3.0 라이선스로 공개돼 있다. 기능적으로 생산성을 높여 주는 도구라기보다는 데스크톱을 조금 더 아늑하게 만드는 심미적 장식에 가깝지만, 그 구현 방식에는 실무자가 눈여겨볼 만한 지점이 적지 않다.

색을 직접 고르는 방식과 자동으로 뽑는 방식

윈도 스웨터의 핵심은 창마다 입히는 '스웨터'의 색과 패턴이다. 개발자가 손으로 색을 고른 전용 스웨터가 37개 앱에 준비돼 있고, 전체 색 조합은 40종에 가깝다. 여기에 포함되지 않은 앱은 두 가지 방식으로 색을 얻는다. 하나는 앱 아이콘의 색을 로컬에서 백그라운드로 샘플링해 실로 짠 듯한 톤으로 부드럽게 변환하는 것이고, 색을 뽑을 수 없는 아이콘이라면 앱 이름에서 안정적인 색을 결정한다. 색이 준비되는 동안에는 기본 테두리를 보여 주다가 완성되면 교체하는 식이다. 사용자가 apps.conf에서 직접 지정한 색은 항상 자동 추출값보다 우선한다.

모드는 두 가지다. 'By App'은 앱마다 고유한 스웨터를 입히고, 'Zigzag'는 아이콘 색을 바탕으로 하되 크림색 지그재그로 통일감을 준다. 밝은 색 앱에는 지그재그 대신 해당 앱 색의 더 짙은 음영을 쓴다. 메뉴 막대의 실뭉치 아이콘을 누르면 스타일, 패턴, 테두리 두께, 스티치 크기를 바꾸거나 잠시 멈추고 종료할 수 있다. 앱별로 켜고 끄는 설정은 재시작 후에도 유지되며, '모든 앱 끄기' 후 원하는 것만 선택하는 방식도 가능하다. 이후 새로 여는 앱은 기본적으로 꺼진 상태로 시작한다.

사설 API에 의존하는 구조의 양면성

기술적으로 가장 주목할 부분은 이 앱이 macOS의 사설(private) 윈도 API를 사용한다는 점이다. 창의 위치와 포커스를 따라가기 위해서는 접근성(Accessibility) 권한이 필요하고, 시스템 설정에서 직접 허용해 줘야 한다. 사설 API 기반이라는 사실은 곧 안정성의 한계와 직결된다. 개발자 스스로 macOS 업데이트가 동작에 영향을 줄 수 있다고 밝히고 있으며, 창 크기를 조절하는 동안에는 테두리가 숨었다가 끝나면 돌아오는 식의 거친 부분도 남아 있다. 공식 문서화된 API가 아니기 때문에 OS 메이저 업데이트 때마다 깨질 위험을 안고 있는 셈이다.

배포 역시 개인 프로젝트다운 제약이 있다. 이 앱은 아직 애플의 공증(notarization)을 받지 않았기 때문에, 처음 실행할 때 macOS가 차단하면 시스템 설정의 '개인정보 보호 및 보안'에서 '그래도 열기'를 눌러야 한다. 지원 환경은 macOS 13 이상, 애플 실리콘과 인텔 맥이지만, 실제 손으로 검증된 범위는 애플 실리콘·macOS 26에 한정된다. 구형 macOS나 인텔 맥에서의 동작은 보장되지 않는다고 명시하고 있어, 도입하려는 사람은 자신의 환경이 검증 범위 밖일 수 있다는 점을 전제해야 한다.

설치와 커스터마이즈, 그리고 의존성

설치 경로는 세 가지다. 릴리스에서 ZIP을 받아 압축을 풀고 앱을 응용 프로그램 폴더로 끌어다 놓는 수동 방식, 그리고 소스에서 직접 빌드하는 방식이다. 빌드에는 애플의 커맨드라인 도구(xcode-select --install)와 Python 3가 필요하며, 빌드 결과물을 ~/Applications에 설치하면서 기존 설치본은 백업해 둔다. 흥미롭게도 레포지토리를 코딩 에이전트에 그대로 건네 '설치해 달라'고 요청하는 방식도 공식 안내에 포함돼 있는데, 이는 에이전트형 개발 도구의 보급을 전제한 요즘다운 배포 방식이다.

커스터마이즈 여지도 넓다. 설정 파일을 편집한 뒤 앱을 재시작하면 적용되며, 앱 규칙은 이름의 접두어로 매칭되고 대소문자를 무시한 채 가장 긴 일치가 우선한다. charts 폴더에 직접 만든 PNG 차트를 넣어 내장 패턴을 교체할 수도 있고, 시작 시 ~/.config/window-sweaters/sweatersrc 같은 경로의 셸 스크립트를 선택적으로 실행하는 기능도 있다. 제거할 때는 먼저 앱을 종료하고 휴지통으로 옮긴 뒤, macOS가 별도로 기억하는 접근성 권한 항목까지 수동으로 지워 줘야 깔끔하게 정리된다.

윈도 스웨터는 펠릭스 크라츠의 JankyBorders를 토대로 만들어졌다. 업무 효율과는 거리가 먼 장식성 도구지만, 로컬 아이콘 샘플링으로 색을 뽑는 설계, 접두어 기반 규칙 매칭, 설정 파일과 셸 스크립트를 통한 확장성처럼 개인 유틸리티를 설계할 때 참고할 만한 구조를 작은 규모 안에 담고 있다. 다만 사설 API 의존과 미공증 배포, 제한된 검증 범위라는 한계는 실제로 쓰기 전에 분명히 염두에 둘 필요가 있다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/saragordic/window-sweaters
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...