텍스트 선택 → 컨텍스트 메뉴에서 알림에 등록

리마인더 사용하고 계십니까? 필요로 하여 충분히 느끼고 iOS 와 동기 잡을 수 있고 상당히 사용할 수 있지요.

그건 그렇고, 나는 글을 글머리 기호로 쓰고 이메일로 교환하는 경우가 많습니다. 이것은 알림에 등록해야 하지만 한 번에 등록할 방법이 없습니다. 사실, 텍스트를 선택하고 컨텍스트 메뉴 [공유] → [리마인더]로 등록할 수 있습니다만, 여러 줄 있어도 한 항목에 밀어 넣어 버립니다. 내가하고 싶은 것은 한 줄에 한 항목으로하고 싶습니다.

Automator나 AppleScript를 사용하면 할 수 있을 것 같았기 때문에 조금 조사해 보면 할 수 있었습니다.

만들기



먼저 Automator를 시작합니다.
"서비스"를 더블 클릭하십시오.

라이브러리에서 셸 스크립트 실행, AppleScript 실행을 차례로 두 번 클릭합니다.
이런 느낌의 화면이 됩니다.

쉘 스크립트 실행은 쉘을 /usr/bin/ruby로 설정하고 다음을 입력합니다.
# coding: utf-8
STDIN.read.force_encoding("UTF-8").split(/[\n\r]+/).each do |f|
    line = f.sub(/^[*・]\s*/, '')
    next if line.empty?
    puts line
end

이것은 각 줄의 머리에서 "*"와 "·"를 제거합니다. 일반 텍스트로 글머리 기호를 할 때는 이러한 문자를 줄 머리에 붙이는 경우가 많습니다만, 리마인더에 등록할 때는 방해이기 때문입니다.

그리고 "AppleScript 실행"에는 다음과 같이 입력합니다.
on run {input, parameters}
    set ListName to "Import"
    set entries to input
    tell application "Reminders"
        if (not (list ListName exists)) then
            make new list with properties {name:ListName}
        end if
        set mylist to list ListName
        tell mylist
            repeat with i in entries
                make new reminder with properties {name:i}
            end repeat
        end tell
    end tell
    return input
end run

그리고 저장하십시오. 이름은 「리마인더에 import」라든가라도 해 주세요.

사용



적당히 텍스트를 선택해 컨텍스트 메뉴를 표시(오른쪽 클릭이나 두 손가락 클릭) 하면 「리마인더에 import」가 있을 것입니다. 그것을 선택하십시오.

알림을 열면 'Import'라는 목록이 있어야 합니다. 거기에 앞서 선택한 텍스트가 한 줄 한 항목으로 등록되어 있어야합니다. 나머지는 적절한 목록으로 나눕니다.

우선 텍스트를 선택해 리마인더에 등록, 그 후 리마인더상에서 정리라고 하는 워크플로우를 상정하고 있습니다.

이전에는 한 줄씩 리마인더에 복사하고 있던 작업이 매우 편해졌습니다.

Automator 정보



여러가지 편리합니다만 각 행마다 루프해 처리라든지 복잡한 것은 할 수 없습니다. 하지만 서비스나 어플리케이션이나 간단하게 만들어 쉘 스크립트와의 전달을 해 주기 때문에, 이것에 외측의 처리를 맡기면 osx 의 GUI 를 사용한 편리한 기능을 비교적 간단하게 실현할 수 있습니다.

이번에는 어플리케이션의 조작이 있었으므로 AppleScript를 사용했습니다만, 여러가지 버릇이 있는 문법으로 힘들었습니다. 30년 가까이 전에 HyperTalk를 괴롭히고 있었기 때문에 낙승이라고 생각하고 있었다면 그런 일이 없었습니다 w 그런가 HyperCard 의 충격으로부터 이제 30년 가까이 지났어…

좋은 웹페이지 즐겨찾기