iOS의 방해금지 모드를 OS X에서 구현해보기. 그리고 자동화 프로그램 소개

2013. 2. 22. 17:26    작성자: ONE™

들어가며

최신 맥 운영체제에 도입된 알림 센터(Notification Center) 덕분에 사용자가 해야 할 일이나 새로 온 이메일, 각종 응용 프로그램의 구동 상태를 시시각각 보고받을 수 있게 되었습니다. 이미 오래전부터 그로울(Grawl)이 이런 부분에서 맥 사용자의 가려움을 긁어주었지만, 맥 운영체제에 자연스럽게 녹아들어 있는 알림 센터가 등장하면서 최근에는 그 인기가 예전만 못한 실정입니다. (관련 글)

하지만 이렇게 유용한 기능일지라도 온종일 쏟아져 들어오는 각종 알림 메시지를 보고 있노라면, 정작 '알 필요도 없는 것', '지금 당장 몰라도 되는 것'에 너무 많은 정신과 시간을 낭비하고 있는 게 아닌가 의문이 들기도 합니다. 특히 일과를 마치고 집에서 느긋하게 휴식을 취하고 있는데 '저에게 신경을 써주세요'하면서 아이폰과 맥의 화면에 나타나는 알림 메시지를 볼 때면 이게 휴식이 맞나 싶습니다.

최신 버전의 iOS에 '방해금지 모드(Do Not Disturb Mode)'가 추가되었고, 또 OS X도 사용자가 원할 때 알림 센터를 비교적 쉽고 끄고 켤 수 있어 애플 개발자들도 이런 부분에 대해 고민을 하고 있다는 것을 엿볼 수 있습니다. 

하지만 아직 OS X에는 iOS의 방해금지 모드가 아직 구현되어 있지 않습니다. 후속 버전에서는 추가될 지 모르겠지만 일단은 사용자가 수동으로만(메뉴 막대의 알림 센터 아이콘을 option 키를 누른 채로 클릭) 알림 센터를 비활성화시켜야 합니다. 혹시 OS X에서도 iOS의 방해금지 모드를 구현해 볼 수 있는 방법이 없을까 검색했는데 TUAW 사이트에 캘린더 알람을 통한 방법이 하나 소개되었습니다. 하지만 실사용하기엔 큰 문제가 있습니다. 

TUAW의 방법... 그리고 문제점

1. TUAW 사이트에서 방해금지 모드를 구현한 방법은 알림 센터를 비활성화, 활성화시키는 애플스크립트를 만들고 캘린더에 등록해 지정한 시간에 작동하도록 하는 방법입니다. 간단히 적용 방법을 소개해 드리면, 응용 프로그램 폴더에서 오토메이터(Automator)를 실행한 후 ▼

2. 캘린더 알람 형식으로 2개의 애플스크립트를 작성합니다. 하나는 알림 센터를 끄는 애플스크립이며, 다른 하나는 알림 센터를 켜는 애플스크립트입니다. ▼


➥ 알림 센터를 다시 활성화 시키는 애플스크립트 소스 코드 보기

3. 이렇게 만들어 준 캘린더 알람을 필요한 적절히 캘린더에 등록해주면 ▼

4. 지정한 시간에 알림 센터가 켜지고 꺼저 iOS의 그것을 OS X에서 구현할 수 있습니다. ▼

하지만…

캘린더 이벤트가 작동해야할 시간에 맥이 잠자기 상태에 있거나, 완전히 꺼져 있는 경우 알림 센터를 활성화/비활성화하는 스크립트가 적용되지 않습니다. 다시 말해, 알림 센터를 끌 때는 맥이 켜져 있어 제대로 적용되었는데, 알림 센터가 다시 켜져야 할 타이밍에 맥이 잠자기/종료 상태이면 하루 종일 알림 센터가 꺼져있게 됩니다... 혹 때려다 혹 하나 더 붙이는 꼴이죠.

그래서 접근 방법을 달리해 봤습니다.

애플스크립트를 이용하되 캘린더에 등록하는 방식이 아니라 독립적으로 실행할 수 있는 일종의 '타이머' 프로그램을 만들어 보았습니다. 프로그램의 이름은 'Rest in DND'인데, 저는 아주 원시적인(?) 애플스크립트 소스 코드만 작성했고, GUI를 비롯한 코코아 포팅은 정상준(닉네임:반도체맨)님이 도맡아주셨습니다 :-) * 참고로 Growl 프로그램의 한국어 지원도 상준님이 진행하신 작업입니다.


Rest in DND (무료)


1. Rest in DND를 실행하면 메뉴 막대에 알파벳 'D' 모양의 아이콘이 등록됩니다. ▲

2. 아이콘을 클릭하면 '15분간 방해금지' 항목과 '방해 금지 설정...' 항목이 나타납니다. ▼

3. '방해 금지 설정...'을 클릭한 후 얼마나 오랫동안 알림 메시지를 받지 않을 지 시간을 분 단위로 입력합니다. 예시를 위해 60분을 입력해 보았습니다. ▼

4. 방금 전까지만해도 15분간 방해금지라고 표시되던 항목이 이제 60분간 방해금지라고 표시됩니다. 해당 항목을 클릭하면  ▼

지정한 시간 동안 알림 센터가 비활성화되며, 타이머가 종료되면서 알림 센터가 자동으로 다시 활성화됩니다. ▼

참고로 타이머가 작동하고 있는 도중이라도 알림센터 아이콘을 option 키를 누른 채로 클릭해 알림센터를 활성화시킬 수 있습니다.

다운로드

* 아직 손 볼 곳이 남아 있지만 아래 링크에서 최신 버전을 내려 받을 수 있습니다.

Download

소스코드 및 당부 사항

Rest in DND의 소스 코드가 다음 링크에 올려져 있습니다. 혹시 Rest in DND를 더욱 강력한 프로그램으로 변모시킬 수 있는 능력자분이 계시면 소스를 포크(fork)하시거나 참조하시면 좋을 것 같습니다. 혹은 제가 정상준님께 전달해 드린 애플스크립트를 참조하셔도 좋습니다. 프로그램 사용에 발생하는 문제나 건의 사항은 Issues 란을 통해 알려주시기 바랍니다.

github

마치며

iOS에도 알림 센터가 먼저 도입된 이후에 방해금지 모드가 추가되었듯이 OS X도 후속 버전에서는 방해 금지 모드가 추가되지 않을까 예상합니다. 아직 개선해야할 부분이 많지만 그 날이 올 때까지는 일단 Rest in DND로 아쉬운 부분을 달래봐야 겠습니다.



참조
TUAW: AppleScripting Notification Center > Scheduling Do Not Disturb
• Parker Falcon :: Grooving on the paper

관련 글
• 마운틴 라이언의 얼굴 마담 알림 센터, 이 5가지만 알면 기능 숙지 완료!
• 알림 배너에 가려 아래있는 버튼을 누를 수 없을 때는 이렇게
• Growl 알림을 OS X 알림 센터로 보내주는 Hiss

    
  1. 헉.. 프로그램이 있군요 ㅎㅎ

    PS. 마운틴라이언 언제 가죠? (3)

  2. Blog Icon
    김상훈

    원님이 만드신 프로그램이니 당장 받아야지....!

  3. Blog Icon
    elfron

    단순히 알림이 보이지 않는것 뿐만 아니라 알림음도 나지않는건가요? 알림&배너보기를 꺼도 통통거리고 소리나는거까지 없에려면 환경설정에서 일일이 꺼줘야해서 귀찮았는데

  4. Blog Icon
    김맥북

    프리젠테이션 시
    메일 제목이나 일정 등 개인적 내용이 표시되는 경우가 있을 수 있는데
    좋은 방법이네요.
    고맙습니다.