[AppleScript] GmailをChromeで開くアプリを作った MacOS
はじめに
GmailをMacOS純正のメールアプリで使うとタグ付けが不便、端末ごとに設定するのが面倒、...等々の理由から、完全にブラウザベースでメールを処理することを決意しました。
ただ、GoogleChromeを開いて、ブックマークからGmailを開いて...も面倒。
そこで、ドッグにGmailのショートカットがあれば便利!とのことで、初AppleScript挑戦。
通知はChromeの設定で、Chromeを開いている限り受け取ることが可能。
以下手順。
作成手順
エディタの起動
ソースコード
以下を貼り付け (AppleScript初コーディングのため汚いのはご容赦ください。ついでにQiita投稿もこれが初。)
set addr to "https://mail.google.com/mail/" #表示アドレス
tell application "Google Chrome"
activate
set n to 1
repeat with w in windows #すでにGmailを開いていないか確認
set i to 1
repeat with t in (tabs of w)
if (URL of t as string) contains addr then
set active tab index of window n to i
set index of window n to 1
if i > 1 then #タブを固定する
tell application "System Events"
keystroke "x" using {command down, shift down}
end tell
end if
error number -128 #プログラムの終了
end if
set i to i + 1
end repeat
set n to n + 1
end repeat
open location addr #Gmailを新規で開き、タブを固定する
tell application "System Events"
keystroke "x" using {command down, shift down}
end tell
end tell
仕様
- Gmailを重複して開かない。すでに開いている場合は最前面に表示。
- Gmailタブを固定し、一番左に移動する。
保存
そして、メニューからファイル/保存する。
名前:Gmail
場所:アプリケーション
ファイルフォーマット:アプリケーション
これで完成。
あとはドッグにD&Dすれば、ドッグからのワンクリックでChrome経由のGmailが開く。
ただし、アイコンは初期設定のままなのはダサいため、変更する。
おまけ:アイコンの変更
Finder/アプリケーション/Gmailを右クリック →「パッケージの内容を表示」
そこからContents/Resources/applet.icnsを変更することでアイコンを書き換え可能。
ただ、見慣れない拡張子のためフリーでダウンロードが手っ取り早い。
https://www.easyicon.net/language.ja/iconsearch/mac/
Gmailアイコン
ちなみに自分はこれを使用。
ここからicns形式でダウンロードし、applet.icnsの名前に変更、デフォルトアイコンと同じ位置に配置することで完了。
ついでに、アプリの仕様変更は
Contents/Resources/Scripts/main.scptを書き換えると可能。
完成図
役立った資料
AppleScript入門(Introduction)
[Mac][Chrome]Google ChromeをAppleScriptで操作する
追記(2018/10/16)
macOS Mojave (10.14)以降、起動時にアクセシビリティの許可を求められます。
キーボードアクセスのため、許可をすることで使用可能になります。
追記(2020/02/07)
macOS Catalina (10.15)でも当時作ったアプリが問題なく動作することを確認しました。
(アプリの作成は保証していません)
Author And Source
この問題について([AppleScript] GmailをChromeで開くアプリを作った MacOS), 我々は、より多くの情報をここで見つけました https://qiita.com/kzhrz/items/a268e5a6ea37b90da589著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .