Hammerspoon에서 Spoons 사용하는 방법

Hammerspoon은 macOS용 강력한 자동화 도구입니다. 루아 스크립트로 작성되며, 운영체제와 깊숙이 통합되어 있어 애플리케이션, 창(윈도우), 메뉴 막대 등을 프로그래밍 방식으로 제어할 수 있어 필자 본인은 다양한 자동화 도구를 찾고 사용하는 것을 즐겨 현재까지 수많은 도구들을 사용해 왔지만 그 중에서 개인적으로 오래도록 macOS에서 필수적으로 설치하고 사용하는 도구이기도 합니다. Hammerspoon 더 알아보기

Hammerspoon은 기본적으로 Lua 언어를 통해 직접 코드를 구성해서 기능을 구현할 수 있으며 상당히 자유도가 높습니다. 하지만 초보 사용자의 경우 바로 기능을 만드는 것이 쉽지 않은데 이 경우 스푼(Spoon) 시스템을 통해 사전에 제작된 코드를 바로 다운로드하고 활성화하면 쉽게 다양한 기능을 사용할 수 있어 매우 편리합니다. Spoons은 Hammerspoon 커뮤니티에서 공유되는 사용자 제작 확장 기능 모음으로, 코딩 실력이 부족해도 원하는 기능을 가져와 바로 적용할 수 있으며 기본적인 적용 방법은 다음과 같습니다.

아래 설명은 iboxcomein.com 에서 테스트 및 검증 후 작성 된 내용이지만 이것이 본문의 내용의 정확성이나 신뢰성에 대해 보증을 하는 것은 아니니 단순 하게 참고용으로 확인바랍니다.

튜토리얼 환경: macOS Sonoma 14.4.1 (Apple Silicon), Hammerspoon 0.9.100v

Spoon 다운로드

Spoons-페이지
Spoons 페이지

Spoons는 Hammerspoon의 공식 Spoon 저장소에서 상당히 다양한 종류의 Spoon을 제공하고 있으니 여기서 원하는 기능을 찾도록 합니다.

ClipboardTool
ClipboardTool

마음에 드는 기능을 찾았다면 위와 같이 해당 Spoon 링크를 클릭합니다. 예를 들어 ClipboardTool Spoon 파일을 다운로드 하고 싶다면 해당 링크를 클릭합니다.

spoon-파일-다운로드
spoon 파일 다운로드

ClipboardTool 상세 페이지로 이동되고 상단의 링크를 클릭하면 zip으로 압축된 ClipboardTool Spoon파일을 다운로드할 수 있습니다.

Spoon-파일-압축-해제
Spoon 파일 압축 해제

기본 다운로드 경로로 이동 후 압축 파일을 더블 클릭해 압축을 해제하면 .spoon 이라는 확장자의 파일을 확인할 수 있습니다.

맥에서 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기

Spoon 적용 및 로드

.Spoon 파일을 다운로드한 뒤 Spoons 폴더로 이동 후 Hammerspoon에서 해당 추가한 Spoon을 적용하고 로드하는 과정이 필요합니다.

Spoons-폴더로-이동
Spoons 폴더로 이동

위 과정으로 내려받은 .spoon 파일을 ~/.hammerspoon/Spoons/ 디렉토리에 복사해야 합니다. 이때 다운로드한 파일이 zip 파일로 압축된 상태인 경우 Hammerspoon에서 사용하기 위해서는 먼저 압축을 해제해야 합니다. Spoon 파일은 단일 파일처럼 보이지만 실제는 다음과 같은 형식으로 구성되어 있습니다.

ClipboardTool.spoon
├─init.lua
└─docs.json
Spoon-로드-스크립트-추가
Spoon 로드 스크립트 추가

다운로드한 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 실행 상태

show_clipboard에서 지정한 단축키 Cmd + Shift + V를 입력하면 위와 같이 클립보드 패널이 실행되는 것을 볼 수 있습니다.

관련 글

댓글로 남기기 어려운 내용은 Contact Form 에서 개별적으로 문의 할 수 있습니다. 해당 글과 연관 된 내용은 Copy를 이용해 현재 페이지의 주소를 복사 후 문의 폼에 입력시 보다 정확한 답을 얻을 수 있습니다.

Leave a Comment