Created
June 10, 2009 07:32
-
-
Save zarigani/127072 to your computer and use it in GitHub Desktop.
get_URLs、open_URLs、AppleScript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (* | |
| Safari_to_Other.scpt | |
| このスクリプトは、現在Safariで開いている全ページを、指定したブラウザで一気に開きます。 | |
| 利用したいwebブラウザをアクティブにして、Safari_to_Other.scptを実行します。 | |
| 全てのページを一つの新規ウィンドウを開いて表示します。 | |
| 最前面のSafariウィンドウのみに限定することができます。(デフォルト) | |
| このスクリプトを動かすために必要なもの | |
| AppleScriptライブラリ | |
| 依存するAppleScriptライブラリを以下のページからダウンロードしておく必要があります。 | |
| https://github.com/zarigani/AppleScript-bebe-s-Library/tree/master | |
| そして、以下のファイルをユーザースクリプトフォルダ(~/Library/Scripts)にインストールしてください。 | |
| _lib.scpt | |
| _gui.scpt | |
| *) | |
| property GUI : load script file ((path to scripts folder as text) & "_gui.scpt") | |
| property LIB : load script file ((path to scripts folder as text) & "_lib.scpt") | |
| --実行時に最前面のアプリケーションを保存する | |
| set app_name to GUI's frontmost_process() | |
| --Safariで開いているページのリストを取得する | |
| tell application "Safari" | |
| activate | |
| set top_win to window 1 | |
| set tab_names to top_win's tab's name | |
| set tab_names to "◆" & LIB's join(tab_names, "\n◆") | |
| "Safariで表示中のページを、" & app_name & "で開きます。" & return & return & tab_names | |
| display alert result buttons {"キャンセル", "全ウィンドウの全タブを開く", "最前面の上記タブのみ開く"} cancel button 1 default button 3 giving up after 30 | |
| if result's button returned = "最前面の上記タブのみ開く" then | |
| set window_tab_urls to {top_win's tab's URL} | |
| else if result's button returned = "全ウィンドウの全タブを開く" then | |
| set window_tab_urls to windows's tab's URL | |
| else | |
| error number -128 | |
| end if | |
| end tell | |
| --空のリストとTop Siteを除外する | |
| repeat with tab_urls in window_tab_urls | |
| if tab_urls's number > 0 then | |
| set tab_urls's contents to LIB's reject_if(tab_urls, "topsites://") | |
| end if | |
| end repeat | |
| --さらに、Top Siteを除外した結果、空になったリストを除外する | |
| set window_tab_urls to LIB's reject_if(window_tab_urls, {}) | |
| --シングルクォートしたスペース区切りのURLテキストを生成する | |
| set url_options to "'" & LIB's join(window_tab_urls, "' '") & "'" | |
| --中身が存在すれば新規ウィンドウを開いて表示する | |
| if url_options ≠ "''" then | |
| GUI's shortcut(app_name, "command-N") | |
| delay 1 | |
| do shell script ("open -a " & app_name & space & url_options) | |
| end if |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment