Hatena::ブログ(Diary)

ザリガニが見ていた...。 このページをアンテナに追加 RSSフィード

2013-02-07

通知センターを一時的にオフにする非通知タイマー

通知センターはいろいろなことを伝えてくれて便利なのだけど、目の前に集中して作業しておくべきことが山ほどあるのに、頻発する通知の魅力に負けて余計なことばかりしてしまうことって、よくある。結局、肝心の作業がなかなか捗らない...。(そうです、意志の弱い自分が悪いのです)

そんな時は、通知センターをOFFにしてしまう。(メニューバー右端の通知センターのアイコンをoption-クリック)そうすれば、次の日まで通知センターは黙っていてくれる。でも、OFFにしておくのは1、2時間くらいがいい。そのままうっかり次の日までOFFにしてしまうと、貴重なチャンスを逃してしまう気もして、心配になる。(iPhoneもあるから、杞憂かもしれないけど)

というわけで、通知センターを一時的にOFFにしておくタイマーを、お決まりのAppleScriptで作ってみた!

参考ページ

なるほど、plistの設定で通知センターをON OFFできるのである。この仕組みを使わせて頂くのだ!

AppleScript

property countDownMinutes : 60
 global restMinutes
 
 on run
   set restMinutes to countDownMinutes
   notificationcenter_off()
   input()
 end run
 
 on reopen
   input()
 end reopen
 
 on idle
   set restMinutes to restMinutes - 1
   if restMinutes < 0 then quit
   return 60
 end idle
 
 on quit
   notificationcenter_on()
   activate
   display dialog "通知センター ON" buttons "OK" default button 1 giving up after 3
   tell application "System Events" to keystroke tab using {command down} --素早く終了させるため
   continue quit
 end quit
 
 on input()
   activate
   "非通知にしておく時間(分)を入力してください。"
   set res to display dialog result default answer restMinutes giving up after 15
   if res's gave up then return
   set countDownMinutes to res's text returned as number
   set restMinutes to countDownMinutes
 end input
 
 on notificationcenter_off()
   do shell script "
   f=$HOME/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist;
   defaults write $f doNotDisturb -boolean true;
   defaults write $f doNotDisturbDate -date \"`date +'%Y-%m-%d %I:%M:%S +0000'`\";
   killall NotificationCenter;"
 end notificationcenter_off
 
 on notificationcenter_on()
   do shell script "
   f=$HOME/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist;
   defaults write $f doNotDisturb -boolean false;
   defaults delete $f doNotDisturbDate;
   killall NotificationCenter;"
 end notificationcenter_on

インストール

  • 上記コードを以下の形式で保存しておく。
    • ファイルフォーマット:アプリケーション
    • 「ハンドラの実行後に終了しない」チェックあり

f:id:zariganitosh:20130207151445p:image:w450

使い方

  • 非通知タイマー.appを起動したら、タイマーの時間を分単位で入力する。
  • 非通知タイマー.appを実行中は、通知センターがOFFになる。
  • タイマーで設定した時間が経過すると、自動的に終了し、通知センターはONに復帰する。
  • 途中で非通知センター.appを終了しても、通知センターはONに復帰する。
  • Dockの非通知センター.appアイコンをクリックで、タイマーの時間を再設定できる。

f:id:zariganitosh:20130207151446p:image:w368

  • 再設定の時に表示される時間は、タイマーの残り時間。

そこいらのmacユーザーそこいらのmacユーザー 2017/09/30 21:38 ほー
そんな方法があるんですね〜

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/zariganitosh/20130207/notification_off_timer
リンク元