Ouvrir des dossiers ouverts par des applications externes dans un nouvel onglet du Finder plutôt que dans une fenêtre


13

Je le paramètre « dossiers ouverts dans de nouveaux onglets » ( au lieu de nouvelles fenêtres) dans le Finder allumé , mais cela ne semble pas influencer ce que mes autres applications font quand ils ouvrent un dossier. La barre de lancement et un script shell que je lance depuis emacs ouvrent toujours des dossiers dans de petites fenêtres de recherche. Comment faire pour que les dossiers ouverts à partir d'applications externes apparaissent tous dans une fenêtre de recherche à onglets?

Edit: Bmike dans le commentaire a raison de dire que cela pourrait probablement être fait via un applescript. Quelque chose comme ça:

  1. Vous avez un script qui vous donne le chemin du dossier que vous souhaitez ouvrir.
  2. Vous passez cela comme une variable à un applescript.
  3. Cet applescript enregistre le chemin d'accès en tant que variable
  4. Il active le Finder ou ouvre un dossier particulier avec le Finder.
  5. Il envoie la commande de frappe + t pour ouvrir un nouvel onglet (ou fait de même avec une commande pour le finder).
  6. Il envoie la commande de frappe + Maj + G au Finder ouvrant le dossier Aller au dossier avec le menu / la fenêtre Chemin x.
  7. Il écrit (événements système) ou le colle (placez le presse-papiers sur la variable qui est le chemin du dossier) dans ce menu / fenêtre.
  8. Cliquez sur entrer. Le dossier est ouvert.

3
Je veux le même.
iCode

1
J'ai le même problème, question sur Super User: superuser.com/questions/688439/…
Nick

Il semble que ce soit sous les paramètres de l'application, pas seulement dans Finder.
Rajiv

1
Pouvez-vous partager le script shell ou les détails de la barre de lancement? Il pourrait être possible d'incorporer un appel AppleScript en eux pour dire au Finder d'ouvrir un nouvel onglet.
bmike

la barre de lancement ouvre simplement les choses automatiquement, dans les scripts shell, j'utilise la commande ouverte developer.apple.com/librarY/mac/documentation/Darwin/Reference/… , pour ouvrir via emacs dans dired J'utilise ce script apple.stackexchange.com/questions/ 106131 /…

Réponses:


1

Je l'ai fait, je ne sais pas si cela vous répondra.

Préférences du Finder> Général> cochez "ouvrir les dossiers dans des onglets au lieu de nouvelles fenêtres"


1

Merci pour l'idée. J'ai fini d'applescript.

Mettez ce qui suit dans votre ~/.bashrcou~/.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
}

Dans le terminal, saisissez

oft .

pour ouvrir le dossier actuel dans le nouvel onglet du Finder.

Le script bash est utilisé pour récupérer le chemin absolu, ce que j'ai trouvé difficile à faire dans appplescript.

MISE À JOUR

J'ai fait une version plus étendue (et compliquée) qui ouvrira le même onglet pour le même dossier. Obtenez-le ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.