Le cartelle aperte da app esterne si aprono in una nuova scheda finder piuttosto che in una finestra

13

Ho l'impostazione "Apri cartelle in nuove schede" (invece di nuove finestre) nel mirino attivato, ma ciò non sembra influenzare quello che fanno le altre mie app quando loro aprono una cartella. La barra di avvio e uno script di shell che eseguo da emacs aprono ancora le cartelle in piccole finestre di ricerca. Come posso fare in modo che le cartelle aperte da app esterne vengano tutte visualizzate in una finestra del cercatore a schede?

Modifica: Bmike nel commento ha ragione che probabilmente questo potrebbe essere fatto tramite un applescript. Qualcosa del genere:

  1. Hai qualche script che ti dà il percorso della cartella che vuoi aprire.
  2. Lo si passa come variabile a un applescript.
  3. Questo applescript salva il percorso come variabile
  4. Attiva il finder o apre una cartella particolare con finder.
  5. Invia il comando di tasto + t per aprire una nuova scheda (o fa lo stesso con un comando per finder).
  6. Invia il comando di tasto + shift + g al finder aprendo la cartella go con il percorso x menu / finestra.
  7. Scrive (systemevents) 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.
posta 23.10.2013 - 03:24
fonte

2 risposte

2

Grazie per l'idea. Ho finito il codice mele.

Inserisci quanto segue in ~/.bashrc o ~/.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, digita

oft .

per aprire la cartella corrente nella nuova scheda del Finder.

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

UPDATE

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

    
risposta data 28.12.2016 - 11:17
fonte
1

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

Preferenze del Finder > Generale > seleziona "apri cartelle in schede invece di nuove finestre"

    
risposta data 28.04.2014 - 03:49
fonte

Leggi altre domande sui tag