요새 udemy 강의를 많이 듣고 있는데, 아무래도 코딩 강의다보니 멈췄다가 다시 실행하는 일이 잦았다. 나는 해피해킹 키보드를 사용중인데, 계속 키보드로 타이핑을 하다가 영상을 멈추고 싶을 때마다 safari로 가서 play/pause를 눌러줘야 하는게 여간 귀찮지 않았다. (아주 사소한 일인데 그놈의 귀차니즘…)
처음에는 맥의 기본 play/pause 버튼이 safari 영상 재생/일시정지에 먹히길래 그걸 Fn + Enter
에 매핑해서 쓰려고 했는데, window focus가 safari에 맞춰져 있을 때에만 작동하여 매번 safari로 활성화된 window를 바꾼 후 Fn + Enter
를 눌러야 되서 매우 귀찮았다.
그러던 중, 얼마 전 터치바를 매핑하기 위해 사용하기 시작한 Better Touch Tool
에 매핑하면 어떨까 하는 아이디어가 생각이 나서 매핑해보았다.
BTT에는 다양한 좋은 기능들이 있지만, 무엇보다도 특정 이벤트(키보드, 트랙패드, 터치바, 마우스 등)에 원하는 AppleScript
를 작성해서 그것을 실행시킬 수 있다는 점이 큰 장점이다.
애플스크립트(AppleScript)는 애플이 만든 스크립트 언어이며, 시스템 7 이후의 매킨토시 운영 체제에 통합되어 있다. 애플스크립트라는 용어는 스크립트 언어 그 자체를 가리키거나, 애플스크립트 언어로 기록한 스크립트를 가리킨다. 애플스크립트는 객체 지향 프로그래밍의 요소도 일부 갖고 있는데, 특히 스크립트 객체 구조와 일부 리스프 계열 자연 언어 처리 환경에서 볼 수 있다. 출처: 위키백과
udemy
의 video를 재생/일시정지하는 applescript이다. (사실은 자바스크립트를 실행하는 애플스크립트이다.)
tell application "Safari"
activate
do JavaScript "var vid = document.getElementsByTagName('video')[0];
var playPause = function() {
if (vid.parentElement.classList.contains('vjs-paused') == true) {
vid.play()
} else {
vid.pause()
}
};
playPause()
" in current tab of window 1
end tell
위 코드를 다른 웹사이트에 사용하려면
- 해당 영상이
video
태그 (html5)를 사용하여야 하고 - 한 페이지에 영상이 한개만 있어야 하고 (만약 여러개인 경우 해당 영상의 class나 id명을 찾아서 지정해주어야한다)
- 재생중/일시정지 상태임을 확인하는 클라스나 id값을 찾아야한다.
- 실행 후 safari로 window를 활성화 시키지 않고 원래 작업중인 윈도우에 focus를 맞추려면
activate
를 지우면 된다.
Tags:
'tools > mac' 카테고리의 다른 글
맥에서 이미지(사진) dpi 확인하기 (0) | 2017.12.30 |
---|---|
맥북 디스크 타입 확인하기 (0) | 2017.12.27 |
맥 사파리에서 브라우저 캐시 지우기 (0) | 2017.12.18 |
맥 스크린샷을 클립보드에 복사하기 (0) | 2017.12.08 |
Mac에서 usb 외부 모니터(AOC) 사용하기 (4) | 2017.12.04 |