AppleScript/JavaScript for Automation (JXA)을 사용하여 Mac에 알림
5135 단어 AppleScriptjXA자바스크립트Mac
JXA란?
OSX Yosemite에서 AppleScript를 JavaScript로 대체할 수 있습니다. 이것을 JavaScript for Automation(JXA)라고 합니다만, 해설이 적어서 힘듭니다.
일단 통지 정도 내면 응용이 편리할 것 같아서 써 보았습니다.
Mac 알림 센터에 알림 보내기
응용 프로그램에서 "스크립트 편집기"를 시작하여 다음과 같은 자바 스크립트 파일을 만듭니다.
notify.jsvar app=Application.currentApplication();
app.includeStandardAdditions = true;
app.displayNotification('はろーわーるど', {
withTitle: 'ほげほげ',
subtitle: 'ふがふが',
soundName: 'Glass'
});
[▶] 버튼을 누르거나 Command(⌘)+R로 실행하면 통지가 나옵니다.
(언어 설정을 AppleScript가 아닌 JavaScript로 만드는 것을 잊지 마세요!)
덧붙여서 소리는 システム環境設定 > サウンド > サウンドエフェクト
에 있는 것으로부터 선택할 수 있습니다. 존재하지 않는 경우는 디폴트의 소리가 되는 것 같습니다. 음량도 여기에서 선택할 수 있습니다(통지 음량이 0이 되어 소리가 울리지 않고 빠졌습니다).
애플리케이션과 협력
이것만으로는 지루하지 않기 때문에, iTunes 안에서 랜덤하게 한 곡 가져와 통지하는 샘플을 만들어 보겠습니다.
itunes_notify.jsvar app = Application.currentApplication(),
iTunes = Application('iTunes');
app.includeStandardAdditions = true;
var allTracks = iTunes.playlists[0].tracks();
var randomTrack = allTracks[Math.floor(Math.random() * allTracks.length)];
app.displayNotification(
randomTrack.artist(),
{
withTitle: randomTrack.name(),
subtitle: randomTrack.album()
}
);
다시 [▶] 버튼을 누르거나 Command(⌘)+R로 실행합니다.
불행히도 아이콘의 표시를 변경할 수없는 것 같습니다. 앨범의 아트워크로 할 수 있으면 좋았습니다만.
명령줄에서 실행
명령줄에서 실행할 수도 있습니다. 위의 파일을 itunes_notify.js
로 저장하고 터미널에서 다음을 수행합니다.
$ osascript -l JavaScript itunes_notify.js
단, 커맨드 라인에서 Application.currentApplication()
를 호출하면
warning: failed to get scripting definition from /usr/bin/osascript; it may not be scriptable.
라는 경고가 나옵니다. 지금은 해결 방법을 모르겠습니다.
요약
OSX Yosemite에서 사용할 수있게 된 JavaScript for Automation (JXA)을 사용하여 알림을 보내는 방법을 썼습니다.
문서는 JavaScript for Automation Release Notes을 보거나 스크립트 편집기에서 ファイル > 用語説明を開く > StandardAdditions.osax
에 제공됩니다(모두 영어).
Reference
이 문제에 관하여(AppleScript/JavaScript for Automation (JXA)을 사용하여 Mac에 알림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ytkhs/items/3ffa24fe6078bba3a15b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var app=Application.currentApplication();
app.includeStandardAdditions = true;
app.displayNotification('はろーわーるど', {
withTitle: 'ほげほげ',
subtitle: 'ふがふが',
soundName: 'Glass'
});
var app = Application.currentApplication(),
iTunes = Application('iTunes');
app.includeStandardAdditions = true;
var allTracks = iTunes.playlists[0].tracks();
var randomTrack = allTracks[Math.floor(Math.random() * allTracks.length)];
app.displayNotification(
randomTrack.artist(),
{
withTitle: randomTrack.name(),
subtitle: randomTrack.album()
}
);
$ osascript -l JavaScript itunes_notify.js
warning: failed to get scripting definition from /usr/bin/osascript; it may not be scriptable.
Reference
이 문제에 관하여(AppleScript/JavaScript for Automation (JXA)을 사용하여 Mac에 알림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ytkhs/items/3ffa24fe6078bba3a15b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)