프로젝트 소개

MacWatcher는 시스템 이벤트에 반응해 명령을 실행하는 macOS용 Hammerspoon Spoon입니다. 이미 Hammerspoon을 사용 중이며 머신 상태가 바뀔 때 셸 스크립트나 바이너리를 자동으로 실행하고 싶은 사용자를 대상으로 합니다. README에 설명된 지원 트리거: - 잠자기에서 깨어나거나 잠금 해제 시(whenResume), 명령 실행 전 선택적 지연을 둘 수 있습니다. - 잠자기 진입 또는 잠금 시(whenSuspend), 이벤트 직전에 실행할 수 있습니다. - WiFi 네트워크 변경 시(onWifiChange); SSID가 명령의 인수로 추가됩니다. - 라이트/다크 모드 변경 시(onThemeChange), 머신이 잠든 동안 발생한 변경도 포함되며 "light" 또는 "dark" 값이 인수로 추가됩니다. - stop() 호출 시 실행되는 동기 teardown 훅(whenStop). 구성 옵션에는 쿨다운 기간(훅 실행 사이의 최소 초)과 명령 실행을 위한 작업 타임아웃이 포함됩니다. 명령은 타임아웃과 함께 비동기적으로 실행되며, 각 훅은 지연 매개변수를 받습니다. README에서 다루는 설치 경로: 릴리스 zip을 다운로드해 MacWatcher.spoon 폴더를 ~/.hammerspoon/Spoons/에 배치하거나, 릴리스 zip URL에서 SpoonInstall로 설치하거나, 개발을 위해 저장소를 Spoons 디렉터리에 직접 클론하는 방법입니다. 설치 후 Hammerspoon을 다시 로드해야 합니다. 사용법은 Lua 구성입니다: hs.loadSpoon("MacWatcher")로 Spoon을 로드하고, 선택적으로 cooldown과 taskTimeout을 설정한 뒤, 위에 표시된 체이닝 메서드로 훅을 등록하고 start()를 호출합니다. 전체 API 참조는 GitHub Pages에 게시되어 있습니다. 이 프로젝트는 MIT 라이선스입니다.