release · CatClock · first
v1.0.0 · 2026.05.20
맥용 고양이 플로팅 타이머 위젯 최초 출시. 스토어를 거치지 않고 DMG 한 파일로 끝나는 단순한 배포. "퇴근까지 얼마", "이 작업 몇 분째" 를 작업 방해 없이 곁눈질로.
Added
- 플로팅 위젯 — 테두리 없는 투명 NSPanel, 드래그로 이동, 위치 기억, 화면 밖이면 자동으로 안쪽으로 회수
- 표시 모드 두 가지 — 최상단 고정(.floating) ↔ 데스크탑 전용(desktop window level), 메뉴바에서 즉시 전환
- 작업 타이머 — 분 단위 직접 설정, 시작 / 일시정지 / 리셋, 진행 막대, 종료 비프
- 퇴근 타이머 — 목표 시각까지 카운트다운, 지난 시각이면 자동으로 다음 날
- 근무시간(N시간) 모드 — 출근 시점부터 N시간 카운트다운
- 고양이 스킨 6종 — 치즈냥 / 까만냥 / 삼색냥 / 턱시도냥 등, 설정에서 미리보기 선택
- 상태별 표정 — 대기 / 진행 중 / 종료 — SF Symbols 합성으로 표현
- 내 고양이 사진 — 사용자가 직접 올린 사진을 스킨으로, 시간은 테두리 글씨로 사진 위에 겹침
- 끄기 전까지 반복 알림 — 종료 시 4초마다 비프 + 위젯 자동 등장 + 빨강 깜빡 + "끄기" 버튼
- 로그인 자동 실행 — ~/Library/LaunchAgents 에 LaunchAgent 등록, 실행 시 타이머 자동 시작 옵션
- 메뉴바 상주 — 독 아이콘 없이 메뉴바에만, 상태 / 카운트다운 / 시작·일시정지·리셋·끄기 한 클릭
Tech
- Swift 6 (strict concurrency) + SwiftUI + AppKit
- NSPanel + .nonactivatingPanel, 콘텐츠는 NSHostingView 로 SwiftUI 탑재
- 타이머 — 목표 시각 기준 계산으로 백그라운드에서도 정확
- 저장 — UserDefaults (위치 / 모드 / 마지막 설정), 사용자 사진은 앱 지원 폴더
- 배포 — Swift Package Manager 빌드 + 스크립트 한 줄로 .app 번들화 → DMG 직접 다운로드
- 지원 환경 — macOS 26 이상 (개발 환경 Xcode 26.2)