Ruby에서 Mac 알림 센터에서 알림을 받는 쉬운 방법(AppleScript)
6380 단어 AppleScriptMac루비
Ruby로 통보하고 싶었기 때문에 간단한 방법을 조사했습니다.
Ruby라고 할까, 그냥 AppleScript입니다.
AppleScript
Marvericks에서 AppleScript에서 알림 센터에 알릴 수 있습니다.
notification.scptdisplay notification "めっせーじ"
옵션으로 제목, 부제목 및 소리를 지정할 수 있습니다.
그렇지 않으면 변경할 수 없습니다. 아이콘 등.
notification_with_options.scptdisplay notification "めっせーじ" with title "たいとる" subtitle "さぶたいとる" sound name "Purr"
통지 센터에서는 이런 느낌. 삭제는 × 버튼.
클릭하면 AppleScript 편집기가 시작됩니다. (변경 불가)
사용법은 「AppleScript 에디터」의 이하를 참조.
파일 > 용어 설명 열기 > StandardAdditions.osax > User Interaction > display notification]
display notification v : Display a notification. At least one of the body text and the title must be specified.
display notification [text] : the body text of the notification
[with title text] : the title of the notification (default is the name of the calling application).
[subtitle text] : the subtitle of the notification
[sound name text] : the name of the sound to play
루비
그래서 Ruby에서 사용하는 간단한 방법은 쉘에서 osascript
명령을 실행하는 방법이라고 생각합니다.
Ruby처럼 -e
옵션을 사용하면 문자열을 AppleScript로 실행할 수 있습니다.
Terminalosascript -e 'display notification "hello"'
「``」를 사용하면, 그대로의 형태로 Ruby로 실행 가능.
notification_test.rb`osascript -e 'display notification "hello"'`
메소드로 해 보겠습니다.
이쪽은 커멘드의 실행을 「``」가 아니고 system
메소드로 했습니다.
notificationdef notification(message, title:"Ruby", subtitle:"", sound:"")
[message, title, subtitle, sound].each{|arg| arg.gsub!(/"/, '\\\\\"')}
scpt = 'display notification "%s"' % message
scpt << ' with title "%s"' % title
scpt << ' subtitle "%s"' % subtitle unless subtitle.empty?
scpt << ' sound name "%s"' % sound unless sound.empty?
system %|osascript -e "#{scpt.gsub(/"/, '\"')}"|
end
# ダブルクォーテーション、シングルクォーテーションが問題なく使えること確認
notification %q|"I thought what I'd do was, I'd pretend I was one of those deaf-mutes."|, sound:'Glass'
AppleScript 문자열에는 더블 따옴표 만 사용할 수 있습니다.
그러니까 osascript에 건네주는 캐릭터 라인은 싱글로 둘러싸려고 생각했습니다만, 쉘로 싱글을 이스케이프 하는 것이 어쩐지 귀찮게 했으므로 차분히 더블로 했습니다.
(참고: bash와 같은 쉘로 싱글 쿼트를 이스케이프하는 방법 - 나카노 토모후미 )
움직이지 않았을 경우는 코멘트 받을 수 있으면 도움이 됩니다.
사운드 이름 정보
sound name
를 생략하면 소리가 나지 않습니다.
존재하지 않는 소리를 지정하면 디폴트의 소리(트라이트 톤)가 울립니다.
사운드는 시스템 환경설정 > 사운드 > 사운드 효과에 있는 이름을 지정합니다.
다만, 트라이톤은 거기에 없기 때문에, 그 밖에도 지정할 수 있는 소리가 있을지도 모릅니다. (정보 요청)
대신 say "hello"
라든지 말하는 것도 좋을지도 모릅니다.
참고
Mavericks는 알림 센터를 스크립트에서 사용할 수있게되었습니다 | Blog by msyk
Mavericks에서 require 'osx / cocoa'를 할 수 없다 - rcmdnk's blog
Reference
이 문제에 관하여(Ruby에서 Mac 알림 센터에서 알림을 받는 쉬운 방법(AppleScript)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/zakuroishikuro/items/cfba3e7734036e389768
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
display notification "めっせーじ"
display notification "めっせーじ" with title "たいとる" subtitle "さぶたいとる" sound name "Purr"
그래서 Ruby에서 사용하는 간단한 방법은 쉘에서
osascript
명령을 실행하는 방법이라고 생각합니다.Ruby처럼
-e
옵션을 사용하면 문자열을 AppleScript로 실행할 수 있습니다.Terminal
osascript -e 'display notification "hello"'
「``」를 사용하면, 그대로의 형태로 Ruby로 실행 가능.
notification_test.rb
`osascript -e 'display notification "hello"'`
메소드로 해 보겠습니다.
이쪽은 커멘드의 실행을 「``」가 아니고
system
메소드로 했습니다.notification
def notification(message, title:"Ruby", subtitle:"", sound:"")
[message, title, subtitle, sound].each{|arg| arg.gsub!(/"/, '\\\\\"')}
scpt = 'display notification "%s"' % message
scpt << ' with title "%s"' % title
scpt << ' subtitle "%s"' % subtitle unless subtitle.empty?
scpt << ' sound name "%s"' % sound unless sound.empty?
system %|osascript -e "#{scpt.gsub(/"/, '\"')}"|
end
# ダブルクォーテーション、シングルクォーテーションが問題なく使えること確認
notification %q|"I thought what I'd do was, I'd pretend I was one of those deaf-mutes."|, sound:'Glass'
AppleScript 문자열에는 더블 따옴표 만 사용할 수 있습니다.
그러니까 osascript에 건네주는 캐릭터 라인은 싱글로 둘러싸려고 생각했습니다만, 쉘로 싱글을 이스케이프 하는 것이 어쩐지 귀찮게 했으므로 차분히 더블로 했습니다.
(참고: bash와 같은 쉘로 싱글 쿼트를 이스케이프하는 방법 - 나카노 토모후미 )
움직이지 않았을 경우는 코멘트 받을 수 있으면 도움이 됩니다.
사운드 이름 정보
sound name
를 생략하면 소리가 나지 않습니다.존재하지 않는 소리를 지정하면 디폴트의 소리(트라이트 톤)가 울립니다.
사운드는 시스템 환경설정 > 사운드 > 사운드 효과에 있는 이름을 지정합니다.
다만, 트라이톤은 거기에 없기 때문에, 그 밖에도 지정할 수 있는 소리가 있을지도 모릅니다. (정보 요청)
대신
say "hello"
라든지 말하는 것도 좋을지도 모릅니다.참고
Mavericks는 알림 센터를 스크립트에서 사용할 수있게되었습니다 | Blog by msyk
Mavericks에서 require 'osx / cocoa'를 할 수 없다 - rcmdnk's blog
Reference
이 문제에 관하여(Ruby에서 Mac 알림 센터에서 알림을 받는 쉬운 방법(AppleScript)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/zakuroishikuro/items/cfba3e7734036e389768
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Ruby에서 Mac 알림 센터에서 알림을 받는 쉬운 방법(AppleScript)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zakuroishikuro/items/cfba3e7734036e389768텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)