外部アプリによって開かれたフォルダーを、ウィンドウではなく新しいファインダータブで開く


13

ファインダーで「新しいウィンドウではなく」「新しいタブでフォルダーを開く」設定をオンにしていますが、これは他のアプリがフォルダー開いたときの動作に影響を与えないようです。起動バーとemacsから実行するシェルスクリプトは、小さなファインダーウィンドウでフォルダーを開きます。外部アプリから開いたフォルダーをすべて1つのタブ付きファインダーウィンドウに表示するにはどうすればよいですか?

編集:コメントのBmikeは、これはおそらくAppleScriptを介して行うことができるということです。このようなもの:

  1. 開くフォルダーのパスを指定するスクリプトがあります。
  2. これを変数としてapplescriptに渡します。
  3. このapplescriptは変数としてパス名を保存します
  4. ファインダーをアクティブにするか、ファインダーで特定のフォルダーを開きます。
  5. キーストロークコマンド+ tを送信して、新しいタブを開きます(または、ファインダーへのコマンドでも同じです)。
  6. キーストロークコマンド+ shift + gをファインダーに送信し、パスxメニュー/ウィンドウでフォルダーへ移動します。
  7. このメニュー/ウィンドウに書き込み(システムイベント)または貼り付け(クリップボードをフォルダーのパスである変数に設定)します。
  8. Enterをクリックします。フォルダが開きます。

3
同じものが欲しい。
iCode

1
:私は、スーパーユーザーに同じ問題が、質問していsuperuser.com/questions/688439/...
ニック・

これは、Finderだけでなく、アプリケーションの設定の下にあるようです。
ラジーブ14年

1
シェルスクリプトまたは起動バーの詳細を共有できますか?AppleScript呼び出しを埋め込み、ファインダに新しいタブを開くように指示することもできます。
bmike

launchbarは単にものを自動的に開きます。シェルスクリプトでは、openコマンドdeveloper.apple.com/librarY/mac/documentation/Darwin/Reference/…を使用して、dircの

回答:


1

私はこれをしました、あなたにそれが答えるかどうかわからない。

Finder設定>一般>「新しいウィンドウの代わりにタブでフォルダを開く」をチェックします


1

アイデアをありがとう。アップルスクリプトが完成しました。

以下をあなた~/.bashrcまたは~/.zshrc

# open the current folder in Finder's tab
function oft() {
    # if no arguments are given, we use the current folder
    oft_absolute_path=$(cd ${1:-.}; pwd)

    # execute the applescirpt
    osascript 2>/dev/null <<EOF

        # Finder returns a path with trailing slash
        # But PWD doesn't have one, so we add one for it
        set new_tab_path to "$oft_absolute_path" & "/"

        tell application "Finder"
            activate

            if not (exists window 1) then
                make new Finder window
            end if

            try
                set finder_path to POSIX path of (target of window 1 as alias)
            on error
                # the finder's window doesn't contain any folders
                set target of front window to (new_tab_path as POSIX file)
                return
            end try
        end tell

        if new_tab_path = finder_path then
            # the finder's tab is already there
            return
        end if

        # open new tab in Finder
        tell application "System Events" to keystroke "t" using command down

        # set the Finder's path
        tell application "Finder"
            set target of front window to (new_tab_path as POSIX file)
        end tell

        return
    EOF
    # clear the tempory veriable
    unset oft_absolute_path
}

ターミナルで、次を入力します

oft .

Finderの新しいタブで現在のフォルダーを開きます。

bashスクリプトは、絶対パスを取得するために使用されますが、appplescriptではこれを行うのが難しいと感じました。

更新

同じフォルダーに対して同じタブを開く、より広範な(そして複雑な)バージョンを作成しました。ここで入手

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.