Rendi le cartelle aperte da app esterne aperte in una nuova scheda del Finder anziché in una finestra


13

Ho l'impostazione "le cartelle aperte in nuove schede" (al posto di nuove finestre) nel Finder acceso, ma questo non sembra influenzare quello che i miei altre applicazioni fanno quando si apre una cartella. Launchbar e uno script di shell che eseguo da emacs aprono ancora le cartelle in piccole finestre di ricerca. Come posso fare in modo che tutte le cartelle aperte da app esterne vengano visualizzate in una finestra di ricerca a schede?

Modifica: Bmike nel commento ha ragione sul fatto che questo potrebbe probabilmente essere fatto tramite un melo. Qualcosa come questo:

  1. Hai alcuni script che ti danno il percorso della cartella che vuoi aprire.
  2. Lo passi come una variabile a un applecript.
  3. Questo applecript salva il percorso come variabile
  4. Attiva finder o apre una cartella particolare con finder.
  5. Invia il comando + t per aprire una nuova scheda (o fa lo stesso con un comando per trovare).
  6. Invia il comando + MAIUSC + G al Finder aprendo la cartella Vai con percorso x menu / finestra.
  7. Scrive (eventi di sistema) o lo incolla (imposta gli appunti sulla variabile che è il percorso della cartella) in questo menu / finestra.
  8. Fai clic su Invio. La cartella è aperta.

3
Voglio lo stesso.
iCode

1
Ho lo stesso problema, domanda su Super User: superuser.com/questions/688439/…
Nick

Sembra che questo sia nelle impostazioni dell'applicazione, non solo nel Finder.
Rajiv,

1
Puoi condividere lo script della shell o i dettagli della barra di avvio? Potrebbe essere possibile incorporare una chiamata AppleScript in esse per dire al Finder di aprire una nuova scheda.
bmike

launchbar apre automaticamente le cose, negli script della shell utilizzo il comando open developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , per aprire tramite emacs in dired utilizzo questo script apple.stackexchange.com/questions/ 106131 /…

Risposte:


1

L'ho fatto, non sono sicuro che risponderà per te.

Preferenze del Finder> Generale> seleziona "apri le cartelle nelle schede anziché nelle nuove finestre"


1

Grazie per l'idea Ho finito lo script di mele.

Inserisci quanto segue nel tuo ~/.bashrco~/.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
}

Nel terminale, digitare

oft .

per aprire la cartella corrente nella nuova scheda del Finder.

Lo script bash è usato per recuperare il percorso assoluto, che ho trovato difficile da fare in appplescript.

AGGIORNARE

Ho realizzato una versione più ampia (e complicata) che aprirà la stessa scheda per la stessa cartella. Prendilo qui

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.