ch05. 텍스트 트리거 -- Quicklink (gdrive/gcalendar/gmail)
두 글자만 입력하면 Google 서비스가 열린다. 텍스트 트리거와 AppleScript를 활용한 Quicklink 매크로를 만들어본다.
이런 불편함, 겪어보셨나요?
Google Drive를 열려면 브라우저를 열고, 북마크를 클릭하거나 주소창에 URL을 입력해야 한다. Google Calendar도 마찬가지다. Gmail도 마찬가지다.
하루에 이 세 가지 서비스를 몇 번이나 열까. 업무 시간 중이라면 최소 열 번은 넘는다. 매번 새 탭을 열고, 주소창을 클릭하고, URL을 입력하거나 북마크를 찾는다. 키보드에서 손을 떼는 순간 흐름이 끊긴다.
만약 키보드에서 gd만 입력하면 Google Drive가 열린다면 어떨까.
gc를 입력하면 Google Calendar, gm을 입력하면 Gmail이 열린다면.
이것이 텍스트 트리거(TypedString)의 핵심이다.
매크로 분석: Quicklink - Open gdrive
무엇을 하는 매크로인가
어디서든 gd를 입력하면 Google Drive의 중요(Starred) 페이지가 Chrome에서 열린다.
단, 이미 Chrome에서 Google 서비스를 보고 있는 경우에는 현재 탭에서 이동한다.
트리거
| 트리거 타입 | 값 | 설명 |
|---|---|---|
| TypedString | gd | 어떤 앱에서든 gd를 입력하면 실행 |
액션 흐름
그림 5-1. Quicklink(gdrive) 매크로 액션 흐름도
이 매크로는 세 단계로 동작한다.
- AppleScript 실행 -- Chrome의 현재 탭 URL을 가져온다. 이 값은 다음 단계의 조건 판단에 사용된다.
- 조건 분기(IfThenElse) -- 현재 URL이 특정 조건에 맞는지 확인한다. Chrome이 활성 상태이고 Google 서비스 페이지를 보고 있다면 Then 경로로 진행한다.
- URL 열기(OpenURL) -- 조건이 맞으면
https://drive.google.com/drive/starred를 연다.
핵심 기술 해설
TypedString 트리거
TypedString은 키보드로 특정 문자열을 입력했을 때 매크로를 실행하는 트리거다. ch02~ch04에서 사용한 HotKey 트리거와는 성격이 다르다. HotKey는 "키 조합"이다. Command+L처럼 수식키와 일반 키를 동시에 누른다. TypedString은 "문자 입력"이다. 일반 타이핑처럼 글자를 순서대로 입력한다.
TypedString 트리거의 특징은 다음과 같다.
- 수식키가 필요 없다. 일반 타이핑만으로 매크로를 실행할 수 있다.
- 트리거 문자열은 입력 후 자동으로 삭제된다. 화면에
gd가 남지 않는다. - 짧고 기억하기 쉬운 약어를 사용하는 것이 좋다.
gd는 Google Drive,gc는 Google Calendar,gm은 Gmail을 연상시킨다. - 일반 타이핑과 충돌하지 않도록 주의해야 한다.
the같은 흔한 단어를 트리거로 쓰면 문제가 생긴다.
ExecuteAppleScript -- Chrome 탭 URL 가져오기
이 매크로의 AppleScript는 Chrome의 현재 탭 URL을 읽어온다.
tell application "Google Chrome"
set currentTab to active tab of window 1
set currentURL to URL of currentTab
end tell
return currentURL
한 줄씩 살펴보자.
tell application "Google Chrome"-- Chrome에게 명령을 보낸다.active tab of window 1-- 첫 번째 윈도우의 활성 탭을 가져온다.URL of currentTab-- 그 탭의 URL을 가져온다.return currentURL-- URL 값을 KM에 돌려준다.
KM은 이 반환값을 변수에 저장한다. 이후 IfThenElse 액션에서 이 변수를 조건 판단에 사용한다.
AppleScript로 Chrome을 제어하는 것은 macOS 자동화의 기본 패턴이다.
IfThenElse -- 조건에 따라 URL 열기
AppleScript가 반환한 URL을 확인하여, 조건에 맞으면 Google Drive를 연다. Chrome이 열려 있고 Google 서비스 페이지를 보고 있다면, 현재 탭에서 바로 이동하는 것이 자연스럽다. 데이터에 따라 동작을 바꾸는 것은 자동화의 핵심 패턴이다.
OpenURL -- 지정 URL 열기
OpenURL 액션은 지정된 URL을 기본 브라우저에서 연다. KM에서 웹 서비스를 여는 가장 간단한 방법이다.
활용 팁
- Google Drive의 기본 URL을
drive.google.com/drive/starred(중요 표시)로 설정했다. 자주 쓰는 폴더 URL로 변경할 수 있다. - 회사 계정과 개인 계정을 구분하려면 URL에 계정 번호를 포함하면 된다. 예:
/drive/u/0/(기본 계정),/drive/u/1/(두 번째 계정).
나머지 Quicklink 매크로 비교
세 매크로의 구조는 동일하다. 트리거 문자열과 대상 URL만 다르다.
| 매크로 | 트리거 | 대상 URL | 설명 |
|---|---|---|---|
| Quicklink - Open gdrive | gd |
https://drive.google.com/drive/starred |
Google Drive 중요 표시 |
| Quicklink - Open gcalendar | gc |
https://calendar.google.com/calendar/u/0/r |
Google Calendar 기본 뷰 |
| Quicklink - Open gmail | gm |
https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox |
Gmail 받은편지함 |
세 매크로 모두 같은 AppleScript로 현재 탭 URL을 확인하고, 같은 IfThenElse 구조로 조건을 판단한다. 이처럼 "구조는 동일하고 데이터만 다른" 패턴은 매크로를 확장할 때 유리하다. 새로운 Quicklink를 추가하려면 기존 매크로를 복제하고 트리거 문자열과 URL만 바꾸면 된다.
예를 들어 gp(Google Photos), yt(YouTube), gh(GitHub) 등을 추가할 수 있다.
트리거 문자열을 정할 때 일상적으로 자주 입력하는 문자열과 겹치지 않도록 주의한다.
go는 영어 문장에서 흔히 쓰이므로 트리거로 적합하지 않다.
두 글자 조합이 부담스럽다면 ;gd, ;gc처럼 세미콜론 접두사를 붙이면 일반 타이핑과 절대 겹치지 않는다.
직접 만들어보기
gd 매크로를 기준으로 단계별로 만들어보자.
나머지 두 매크로는 이것을 복제해서 트리거와 URL만 바꾸면 된다.
- KM 에디터에서 Chrome 그룹을 선택한다. 없으면 새로 만든다.
- 새 매크로를 만들고 이름을 "Quicklink - Open gdrive"로 설정한다.
- 트리거를 추가한다: Typed String Trigger 를 선택하고, 값에
gd를 입력한다. - 첫 번째 액션을 추가한다: Execute AppleScript 를 선택하고, 다음 코드를 입력한다.
tell application "Google Chrome"
set currentTab to active tab of window 1
set currentURL to URL of currentTab
end tell
return currentURL
- 두 번째 액션을 추가한다: If Then Else 를 선택한다. 조건에서 "The result of the last AppleScript"가 특정 패턴과 일치하는지 설정한다.
- Then 블록 안에 Open URL 액션을 추가한다. URL에
https://drive.google.com/drive/starred를 입력한다.
- 테스트: 아무 앱에서든
gd를 입력한다. Google Drive가 열리는지 확인한다. - 성공하면 매크로를 복제(Duplicate)하여
gc(Calendar),gm(Gmail)용으로 트리거와 URL만 변경한다.
이 챕터에서 배운 것
- TypedString 트리거로 문자열 입력만으로 매크로를 실행하는 방법
- AppleScript로 Chrome의 현재 탭 URL을 가져오는 방법
- 구조가 동일한 매크로를 복제하여 빠르게 확장하는 방법
- Quicklink 패턴을 활용하여 자주 쓰는 웹 서비스에 즉시 접근하는 방법
다음 챕터 예고
ch06에서는 시스템 유틸리티 매크로를 다룬다. 모니터 배치, 마우스 제어, 실행 중인 매크로 전체 취소 등 macOS 시스템을 제어하는 매크로를 만든다.