Hammerspoon은 macOS용 강력한 자동화 도구입니다. 루아 스크립트로 작성되며, 운영체제와 깊숙이 통합되어 있어 애플리케이션, 창(윈도우), 메뉴 막대 등을 프로그래밍 방식으로 제어할 수 있어 필자 본인은 다양한 자동화 도구를 찾고 사용하는 것을 즐겨 현재까지 수많은 도구들을 사용해 왔지만 그 중에서 개인적으로 오래도록 macOS에서 필수적으로 설치하고 사용하는 도구이기도 합니다. Hammerspoon 더 알아보기
Hammerspoon은 기본적으로 Lua 언어를 통해 직접 코드를 구성해서 기능을 구현할 수 있으며 상당히 자유도가 높습니다. 하지만 초보 사용자의 경우 바로 기능을 만드는 것이 쉽지 않은데 이 경우 스푼(Spoon) 시스템을 통해 사전에 제작된 코드를 바로 다운로드하고 활성화하면 쉽게 다양한 기능을 사용할 수 있어 매우 편리합니다. Spoons은 Hammerspoon 커뮤니티에서 공유되는 사용자 제작 확장 기능 모음으로, 코딩 실력이 부족해도 원하는 기능을 가져와 바로 적용할 수 있으며 기본적인 적용 방법은 다음과 같습니다.
튜토리얼 환경: macOS Sonoma 14.4.1 (Apple Silicon), Hammerspoon 0.9.100v
Spoon 다운로드
![Spoons 페이지 Spoons-페이지](https://iboxcomein.com/wp-content/uploads/2024/05/173738-Spoons-페이지.webp)
Spoons는 Hammerspoon의 공식 Spoon 저장소에서 상당히 다양한 종류의 Spoon을 제공하고 있으니 여기서 원하는 기능을 찾도록 합니다.
![ClipboardTool ClipboardTool](https://iboxcomein.com/wp-content/uploads/2024/05/173805-ClipboardTool.webp)
마음에 드는 기능을 찾았다면 위와 같이 해당 Spoon 링크를 클릭합니다. 예를 들어 ClipboardTool Spoon 파일을 다운로드 하고 싶다면 해당 링크를 클릭합니다.
![spoon 파일 다운로드 spoon-파일-다운로드](https://iboxcomein.com/wp-content/uploads/2024/05/235299-spoon-파일-다운로드.webp)
ClipboardTool 상세 페이지로 이동되고 상단의 링크를 클릭하면 zip으로 압축된 ClipboardTool Spoon파일을 다운로드할 수 있습니다.
![Spoon 파일 압축 해제 Spoon-파일-압축-해제](https://iboxcomein.com/wp-content/uploads/2024/05/135508-Spoon-파일-압축-해제.webp)
기본 다운로드 경로로 이동 후 압축 파일을 더블 클릭해 압축을 해제하면 .spoon 이라는 확장자의 파일을 확인할 수 있습니다.
Spoon 적용 및 로드
.Spoon 파일을 다운로드한 뒤 Spoons 폴더로 이동 후 Hammerspoon에서 해당 추가한 Spoon을 적용하고 로드하는 과정이 필요합니다.
![Spoons 폴더로 이동 Spoons-폴더로-이동](https://iboxcomein.com/wp-content/uploads/2024/05/135530-Spoons-폴더로-이동.webp)
위 과정으로 내려받은 .spoon
파일을 ~/.hammerspoon/Spoons/
디렉토리에 복사해야 합니다. 이때 다운로드한 파일이 zip 파일로 압축된 상태인 경우 Hammerspoon에서 사용하기 위해서는 먼저 압축을 해제해야 합니다. Spoon 파일은 단일 파일처럼 보이지만 실제는 다음과 같은 형식으로 구성되어 있습니다.
ClipboardTool.spoon
├─init.lua
└─docs.json
![Spoon 로드 스크립트 추가 Spoon-로드-스크립트-추가](https://iboxcomein.com/wp-content/uploads/2024/05/135524-Spoon-로드-스크립트-추가.webp)
다운로드한 ClipboardTool.spoon
파일을 Spoons 경로로 이동 한 뒤 해당 Spoon을 사용하기 위해서는 Hammerspoon의 설정 파일인 init.lua 파일을 편집하여 Spoon을 로드하고 설정해야 합니다. init.lua 파일은 보통 ~/.hammerspoon/
디렉토리에 위치합니다. 예를 들어, ClipboardTool이라는 Spoon을 로드하고 싶다면, init.lua 파일에 다음과 같은 코드를 추가합니다. 단축키로 사용할 수 있는데 다음과 같이 바인딩했다면 지정한 단축키로 클립보드 기록 기능을 사용할 수 있습니다.
-- ClipboardTool 스푼 로드
hs.loadSpoon("ClipboardTool")
-- ClipboardTool 스푼 시작
spoon.ClipboardTool:start()
-- 단축키 바인딩 (선택사항, 다른 키로 변경 가능)
spoon.ClipboardTool:bindHotkeys({
show_clipboard = {{"cmd", "shift"}, "v"},
toggle_clipboard = {{"cmd", "alt"}, "v"}
})
위 예시에서 사용된 ClipboardTool이라는 Spoon은 다음과 같이 클립보드 기록을 관리하고 빠르게 접근할 수 있는 다양한 기능을 제공합니다.
- 클립보드에 복사된 텍스트나 이미지 내용을 기록하고 목록으로 유지합니다.
- 클립보드 기록 목록을 호출하여 선택할 수 있는 Chooser를 띄웁니다.
- Chooser에서 항목을 선택하면 해당 내용을 다시 클립보드에 복사할 수 있습니다.
- 클립보드 기록을 모두 지울 수 있습니다.
- 특정 클립보드 데이터 유형을 무시하도록 설정할 수 있습니다.
- 최근 복사 내용을 메뉴바에서 바로 열 수 있습니다.
- 복사시 알림을 표시할지 여부를 설정할 수 있습니다.
- 클립보드 항목 선택시 자동으로 붙여넣기할지 여부를 설정할 수 있습니다.
- 최대 기록 항목 수와 표시 길이 제한을 설정할 수 있습니다.
![ClipboardTool 실행 상태 ClipboardTool-실행-상태](https://iboxcomein.com/wp-content/uploads/2024/05/135682-ClipboardTool-실행-상태.webp)
show_clipboard
에서 지정한 단축키 Cmd + Shift + V를 입력하면 위와 같이 클립보드 패널이 실행되는 것을 볼 수 있습니다.