콘텐츠로 건너뛰기
Home » [팁] PopClip 한글 맞춤법 검사기 확장

[팁] PopClip 한글 맞춤법 검사기 확장

매버릭스 설치 후, 단디를 재설치 하신 분은 본 포스트 하단의 버튼을 클릭해서 다시 받아주세요~
github에 올렸습니다. https://github.com/sooop/HanSpell

ONE님의 포스팅을 보고 이렇게 좋은 기능을 PopClip이랑 결합해서 쓰면 더할 나위 없이 좋겠구나 싶었다.

popclip의 확장을 만들어 보자 (원문 : https://github.com/pilotmoon/PopClip-Extensions#introduction)

0. 확장의 서명

기본적으로 PopClip은 개별적으로 제작된 확장을 설치하려고하면 경고를 표시한다. 개발사에 의해 배포되는 공식 확장은 서명 경고가 뜨지 않는다.

1. 개괄

액션의 종류

PopClip 확장이 수행할 수 있는 액션은 크게 다음 다섯가지로 나뉜다.

  • 서비스 – OSX의 시스템 서비스로 선택된 텍스트를 전달해준다.
  • 애플스크립트 – 선택된 텍스트를 넘겨 애플 스크립트를 수행한다.
  • 쉘 스크립트 – 선택된 텍스트를 환경 변수로 넘겨 쉘 스크립트를 실행한다.
  • URL – 선택된 텍스트를 URL인코딩하여 특정 URL로 전송한다. (구글 번역 등)
  • KeyPress – 키 조합을 에뮬레이트한다.

필터링

선택된 텍스트에 대해 특정 패턴 매칭을 통해 기능의 활성화 여부를 결정해줄 수 있다.

  • 정규식 매칭
  • 특정 앱을 포함하거나 제외함
  • 잘라내기/복사 혹은 붙여넣기가 가능한지 여부
  • 텍스트가 URL이나 메일 주소를 포함하고 있는지에 대한 여부

한계

  • 전달되는 텍스트는 평문(Plain Text)이다. 서식정보는 포함되지 않는다.
  • 확장은 자신에 대한 설정 정보를 별도로 가질 수 없다. 또한 사용자 계정을 필요로 하는 액션은 수행할 수 없다.

2. PopClip 확장의 구조

.popclipextz 파일

확장은 zip으로 압축된 다음 확장자를 .popclipextiz로 바꾼다.

.popclipext 패키지

PopClip 확장은 Config.plist라 불리는 프로퍼티 리스트 파일과 그외에 아이콘이나 스크립트를 포함하며 .popclipext라는 확장자를 가지는 디렉토리로 만들어 진다. 이러한 디렉토리는 OSX에 의해 패키지로 취급된다. (이는 다른 많은 OSX앱과 비슷한 구조다)

이 패키지를 더블클릭하면 PopClip은 이를 설치하려고 시도한다. 설치 위치는 ~/Library/Application Support/PopClip/Extensions/이다.

다음은 “SAY” 확장에 대한 패키지 구조를 보여준다.

Say.popclipext — 포함하는 폴더

_Signature.plist — 서명 (공식 확장만 있음)

Config.plist — 메인 설정 파일

say.sh — 스크립트 파일

speech.png — 아이콘 파일

Config.plist

모든 확장은 이 파일을 포함하고 있다. 이 파일은 XML로 포맷팅 되어있다. 이 파일은 확장의 특성에 대해 기록하며, 수행하는 하나 혹은 그 이상의 액션을 정의한다. .plist 파일은 그냥 텍스트 에디터로도 만들 수 있는데, Xcode를 사용하면 쉽게 만들 수 있다. 물론 이게 너무 무겁다면 pref setter로도 쉽게 만들 수 있다.

아이콘

아이콘은 PNG 포맷의 정사각형(최소 256X256)이며 투명/검은색 픽셀만을 포함한다.

상세 설정

일반

  • 모든 키 이름은 대소문자를 구분한다.
  • 키와 값의 타입을 정확히 맞추어야 한다.

Config.plist 구조

필수 항목에 대해서만 기재함. 전체 테이블은 원문에서 확인할 것.

  • Extension Identifier – 문자열. DNS스타일로 작성함 : com.my-domain-name.my-extension-identifier
  • Extension Name – 문자열 혹은 사전. 사전인 경우 언어별로 다른 이름을 줄 수 있다.
  • Actions – 수행하는 액션. 배열타입이다.

액션 사전의 구조

  • Title – 문자열 혹은 사전타입. 기능의 이름
  • Service Name – 서비스인 경우 필수이며, 실행되는 서비스의 이름
  • AppleScript File – 애플스크립트인 경우 필수
  • Shell Script File – 쉘 스크립트인 경우 필수
  • URL – URL 액션의 경우 필수
  • Key Combo – 키 액션의 경우 필수, 사전 타입

결론

그리하여 아주 간단히 1분만에 PopClip 확장을 만드는데 성공했다. 텍스트를 긁으면 ㄱㄴㄷ이라는 버튼이 표시되며, 클릭 시 ‘단디’를 통해 한글 맞춤법 검사를 수행해준다.

‘단디’ 실행 PopClip 확장 받기