Öffnen Sie Ordner, die von externen Apps geöffnet wurden, in einem neuen Finder-Tab und nicht in einem Fenster

Ich habe die Einstellung "Ordner in neuen Tabs öffnen" (anstelle von neuen Fenstern) im Finder aktiviert, aber dies scheint keinen Einfluss darauf zu haben, was meine anderen Apps tun, wenn sie einen Ordner öffnen. Launchbar und ein Shell-Skript, das ich von emacs aus führe, öffnen immer noch Ordner in kleinen Finder-Fenstern. Wie kann ich dafür sorgen, dass Ordner, die von externen Apps geöffnet wurden, alle in einem Finder-Fenster mit Registerkarten angezeigt werden?

Bearbeiten: Bmike im Kommentar hat Recht, dass dies wahrscheinlich über ein Applescript erfolgen könnte. Etwas wie das:

  1. Sie haben ein Skript, das Ihnen den Pfad des Ordners gibt, den Sie öffnen möchten.
  2. Sie übergeben dies als Variable an ein Applescript.
  3. Dieses Applescript speichert den Pfadnamen als Variable
  4. Es aktiviert den Finder oder öffnet einen bestimmten Ordner mit dem Finder.
  5. Es sendet den Tastendruckbefehl + t, um einen neuen Tab zu öffnen (oder macht dasselbe mit einem Befehl an den Finder).
  6. Es sendet den Tastendruckbefehl + Umschalt + g an den Finder und öffnet den Gehe-zu-Ordner mit dem Pfad x Menü/Fenster.
  7. Es schreibt (systemevents) oder fügt es in dieses Menü/Fenster ein (Zwischenablage auf die Variable setzen, die der Pfad des Ordners ist).
  8. Klicken Sie auf Eingabe. Der Ordner wird geöffnet.
Ich möchte das Gleiche.
Ich habe das gleiche Problem, Frage zu Super User: superuser.com/questions/688439/…
Es scheint, als ob dies unter den Einstellungen der Anwendung liegt, nicht nur unter den Einstellungen des Finders.
Können Sie das Shell-Skript oder die Details der Startleiste teilen? Es ist möglicherweise möglich, einen AppleScript-Aufruf darin einzubetten, um dem Finder mitzuteilen, dass er einen neuen Tab öffnen soll.
Launchbar öffnet Dinge einfach automatisch, in Shell-Skripten verwende ich den Open-Befehl developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , um über Emacs in Dired zu öffnen, verwende ich dieses Skript apple.stackexchange.com/questions/ 106131/…
Ich denke, Sie haben Recht, solange Sie den Pfad haben, den Sie über ein Applescript öffnen können, benötigen Sie den Ordnerpfad als Variable und könnten dann den Finder, cmd t, cmnd shift g aktivieren und dann den Ordnerpfad einfügen / schreiben in den angezeigten Befehl Gehe zu Ordner und sende dann Return

Antworten (2)

Ich habe dies getan, bin mir nicht sicher, ob es es für Sie beantworten wird.

Finder-Einstellungen > Allgemein > „Ordner in Tabs statt in neuen Fenstern öffnen“ aktivieren

Danke für die Idee. Ich habe das Applescript fertig.

Geben Sie Folgendes in Ihr ~/.bashrcoder ein~/.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
}

Geben Sie im Terminal ein

oft .

, um den aktuellen Ordner im neuen Tab des Finders zu öffnen.

Das Bash-Skript wird zum Abrufen des absoluten Pfads verwendet, was ich in Applescript als schwierig empfand.

AKTUALISIEREN

Ich habe eine umfangreichere (und kompliziertere) Version erstellt, die dieselbe Registerkarte für denselben Ordner öffnet. Hol es dir hier