Hacker News 의견들
  • Hammerspoon은 내 Mac을 하나로 묶는 접착제 같은 존재임
    Safari 탭을 Obsidian 문서로 덤프하거나, Hyper 키 조합(Ctrl+Opt+Cmd) 으로 Safari, Finder, Terminal, VS Code, Notes 등 주요 앱을 새 창으로 띄움
    AeroSpace와 연동해 창을 다른 모니터로 옮기거나, 두 창을 나란히 배치하고, 교체하거나, 모든 창을 한 워크스페이스로 모으는 등 다양한 자동화를 설정해둠
    또한 백그라운드 앱이 죽으면 자동으로 재시작하고, 디스크 이미지가 휴지통으로 가면 언마운트하도록 프롬프트를 띄움
    Skim과 연동해 Markdown 링크로 PDF의 특정 섹션으로 점프하는 기능도 있음

    • 나는 두 가지 용도로만 씀 — Teams 창 목록을 확인해 회의 중이면 HomeAssistant에 웹훅을 보내 조명 프리셋을 바꾸고, ical 캘린더를 내려받아 15분 내 회의가 있으면 “pending” 프리셋으로 전환함
      원래 Outlook 공유 링크를 썼지만 인증이 필요해져서 Apple Calendar를 경유함. 다만 일정의 40%만 동기화되는 건 여전히 미스터리임
    • Safari 탭을 Obsidian으로 덤프하는 방법이 궁금함. 간단한 기능인지, 아니면 공유할 만한 스크립트가 있는지 알고 싶음
    • 정말 인상적인 ‘spooning’ 임. 나는 창 관리용으로만 쓰지만, 그 덕분에 macOS가 훨씬 쓸 만해졌음
    • 설정 파일을 공유해줄 수 있는지 궁금함
    • 예시 덕분에 나도 어떻게 활용할지 아이디어가 생겼음
  • 예전엔 tiling window manager를 좋아했지만, Mac에서는 시각적으로 복잡한 앱을 많이 써서 화면 배치가 더 중요해졌음
    메일, IDE, 브라우저, 터미널, 채팅 앱 각각에 맞는 창 크기 프리셋을 만들어 Hammerspoon 단축키로 전환함
    IDE가 빌드 중일 때 브라우저를 띄워도 하단 로그를 볼 수 있고, 모달 단축키로 앱 전환도 빠름
    다단계 모달 개념이 흥미로움

  • Hammerspoon의 메인테이너로서, 현재 Lua에서 JavaScript로 전환하는 v2를 개발 중임

    • Lua를 좋아해서 Hammerspoon이 Lua를 쓸 수 있는 거의 유일한 이유였는데, JS로 바뀌면 아쉽지만 현실적인 선택이라 생각함
    • 오랫동안 써온 사용자로서 Lua 전환 이유가 궁금하지만, 어쨌든 훌륭한 앱이라 감사함
    • “18일 후 출시인가요?”라며 농담 섞인 기대를 표현함
    • v2의 비전과 아키텍처 변경 이유, JS 선택 배경이 궁금함
    • AppleScript의 JavaScript 지원과 시너지가 생길지도 궁금함
  • 내 프로젝트 SpacehammerSpacemacs/Doom에서 영감을 받은 Hammerspoon 모달 툴킷임
    “alt+spc a b”로 브라우저를 열거나, “alt+spc m j/k”로 볼륨 조절, 혹은 어떤 앱의 텍스트든 Emacs에서 편집 가능함
    Fennel로 작성되어 REPL을 통해 실시간 개발 가능하고, Yabai 같은 윈도우 매니저와도 잘 연동됨

    • “볼륨 조절 키가 키보드에 있는데…”라며 농담을 던짐. 다만 Touch Bar Mac 사용자라면 이해함
  • 나는 Hammerspoon으로 가짜 타일링 윈도우 매니저를 구현함
    창을 화면 비율로 재배치하고, 단축키로 모니터 간 이동도 가능함

    • AeroSpace를 추천함. i3 사용자에게 익숙한 방식으로 잘 작동함
    • 나도 비슷하게 쓰지만, 좌·중앙·우 배치까지 추가함. 수학으로 창 크기를 계산하는 게 기괴하지만 멋짐
    • hammerspoon-shiftit을 사용함. 죽은 ShiftIt을 완벽히 재현한 프로젝트임
    • 나도 hyper+화살표로 창을 이동시키고, hyper+enter로 전체화면 전환함. 자연스러운 창 이동감이 마음에 듦
    • miro-windows-manager 플러그인을 좋아함. 반쪽/3분할 배치를 순환시키기 좋음
  • 최근 처음으로 Hammerspoon을 써봤는데, 메뉴바 앱의 옵션에 단축키를 직접 바인딩하려고 ChatGPT가 AppleScript로 스크립트를 짜줬음
    정말 멋지고, 앞으로 더 많은 자동화를 시도해볼 생각임

  • Zoom의 화면 공유 컨트롤을 숨기는 스크립트를 만들어서, ESC를 눌러도 다시 나타나지 않게 함

    • “이것만으로도 설치할 가치가 있다”는 반응을 받음
  • 내 전체 설정은 단 한 줄임
    ctrl + D그리드 인터페이스를 띄워 창을 원하는 위치로 조정함
    다른 윈도우 매니저보다 단순하고 직관적임

    • “이 기능이 있는 줄 몰랐다”며 놀람. hs.grid.setGrid('4x4')로 그리드 크기를 바꾸거나, hs.grid.ui.textSize로 글자 크기를 조정할 수도 있음
    • 나도 비슷한 기능을 쓰지만, 한쪽에서만 리사이즈하는 등 더 유연하게 구성함
    • 여러 기기 간 설정 동기화는 dotfile 지옥이 될 수 있음. 그래도 마우스를 안 쓰고 창을 제어할 수 있는 몇 안 되는 현대적 도구임
    • 터미널에서 Ctrl+D와 충돌하지 않는지 궁금함
  • 나도 Hammerspoon 덕분에 창 전환 스트레스에서 해방됨
    Cmd+1~9로 Chrome 창을 전환하고, Cmd+0으로 선택 다이얼로그를 띄움
    내 설정 파일을 참고하면 창 이름을 기억하고 재시작 후에도 유지됨

  • Hammerspoon은 Mac의 Automator보다 강력함
    Automator가 이제 JavaScriptCore를 지원하듯, Hammerspoon도 Lua 대신 JS를 쓴다면 Node 패키지를 그대로 활용할 수 있을 것임
    Lua로 다시 작성해야 한다면 꽤 고생할 듯함