0 votes

Ouvrez l'emplacement Finder le plus récemment fermé (onglet ou fenêtre) avec un raccourci clavier

Dans Finder, je peux rouvrir un onglet ou une fenêtre que j'ai accidentellement fermé en allant dans le menu Aller > Dossiers récents et en choisissant l'un des dossiers récents de la liste.

J'aimerais l'ouvrir avec le raccourci T à la place, mais je ne sais pas comment m'y prendre.

  • Puis-je lier une combinaison de touches à un élément de menu avec un nom de variable? Si oui, comment est-ce que cela fonctionne?
  • Si non, y a-t-il des options pour le faire avec une commande shell ou avec AppleScript?

Merci !

EDIT: J'ai découvert que BetterTouchTool permet d'adresser des éléments de menu avec des noms/étiquettes de variables, mais maintenant je dois prédire la position du dernier onglet fermé dans la liste triée A-Z des emplacements récents.

Entrez le chemin de l'élément de la barre de menus que vous voulez cliquer, séparé par des points-virgules. Par exemple : "Fichier;Nouveau:Fenêtre" (sans les guillemets !) déclenchera l'élément de menu nommé "Fenêtre".

Vous pouvez également déclencher un élément de menu par sa position (par exemple si le titre varie). Par exemple : "Fichier; (2)" déclenchera le deuxième élément dans le menu Fichier. "(2);(2)" déclenchera le deuxième élément dans le menu Fichier. Mettez simplement la position entre parenthèses.

Si un élément peut avoir plusieurs noms en fonction de son état (par exemple cacher et montrer), vous pouvez utiliser || pour basculer entre l'un d'eux. Par exemple Édition;Démarrer la dictée|Annuler la dictée démarrera ou annulera la dictée :-)

De plus, vous pouvez utiliser un joker si un élément de menu comporte des parties variables

Le menu Aller > Dossiers récents : impossible de connaître la position du dernier dossier fermé en raison de cette liste étant triée par nom:

Dossiers récents sur macOS dans Finder

0voto

Mateusz Szlosek Points 21762

Vous pouvez obtenir ces vannes à partir des "Fichiers récents de FX", c'est en première position sous la clé FXRecentFolders.

Voici l'AppleScript (basé sur la réponse d'Oliver Joseph Ash):

on findPathSeparator(theData, theFile)
    set pathSeparator to {0, 0, 0, 1, 1, 0, 0}
    set bytesFound to 0
    set bytesSearched to 0

    try
        read theFile from 0 for 0

        set numIterations to 0

        repeat (get eof theFile) times
            set theId to id of (read theFile from bytesSearched for 1)

            if theId is item (bytesFound + 1) of pathSeparator then
                set bytesFound to bytesFound + 1
            else
                set bytesFound to 0
            end if

            if bytesFound is (count of pathSeparator) then exit repeat

            set bytesSearched to bytesSearched + 1
        end repeat
    on error msg
        msg
    end try

    return bytesSearched - (count of pathSeparator)
end findPathSeparator

on getPathFromData(theData)
    set pathSeparator to {0, 0, 0, 1, 1, 0, 0}

    set theFile to (open for access POSIX file ("/tmp/get_recent_folders") with write permission)

    set eof theFile to 0

    write contents of theData to theFile

    set startPosition to findPathSeparator(theData, theFile)

    try
        read theFile from startPosition for 0

        set thePath to ""

        repeat
            set idList to id of (read theFile for 8)

            if (idList does not end with pathSeparator) then exit repeat

            set theLength to item 1 of idList

            set thePath to thePath & ("/" & (read theFile for theLength as «class utf8»))

            read theFile for (4 - theLength mod 4) mod 4
        end repeat
    on error msg
        msg
    end try

    close access theFile

    return thePath
end getPathFromData

tell application "System Events"
    tell property list file "~/Library/Preferences/com.apple.finder.plist"
        set dataItems to property list item "FXRecentFolders"'s property list items's property list item "file-bookmark"'s value
        set itemNames to property list item "FXRecentFolders"'s property list items's property list item "name"'s value
    end tell
end tell

set lastPath to getPathFromData(item 1 of dataItems)
do shell script "open " & lastPath

Il suffit d'assigner un raccourci clavier global à ce script.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X