2 votos

Abrir la última ubicación del Finder (pestaña o ventana) con un atajo de teclado

En el Finder, puedo volver a abrir una pestaña o ventana que acabo de cerrar accidentalmente entrando en el Go > Recent Folders y elija una de las carpetas recientes de la lista.

Me gustaría abrirlo con el acceso directo T en su lugar, pero no estoy seguro de cómo enfocar esto.

  • ¿Puedo vincular una combinación de teclas a un elemento de menú con un nombre variable? Si es así, ¿cómo funciona?
  • Si no es así, ¿hay alguna opción para hacer esto en un comando del shell o con AppleScript?

Gracias.

EDIT: He descubierto que BetterTouchTool permite direccionar los elementos del menú con nombres/etiquetas variables, pero ahora necesito predecir la posición de la última pestaña cerrada en la lista de ubicaciones recientes ordenada de la A a la Z.

Introduzca la ruta del elemento de la barra de menús en el que desea hacer clic, separada por >semicolones. Por ejemplo: "Archivo;Nuevo:Ventana" (¡sin las comillas!) activará la activará el elemento de la barra de menús llamado "Ventana".

También puede activar un elemento de menú por su posición (por ejemplo, si el título >varía). Por ejemplo: "Archivo; (2)" activará el segundo elemento del menú >Archivo. "(2);(2)" activará el segundo elemento del menú Archivo. >Sólo hay que poner siempre la posición entre paréntesis.

Si un elemento puede tener varios nombres en función de su estado (por ejemplo, ocultar >y mostrar), puede utilizar || para alternar uno de ellos. Por ejemplo >Editar;Iniciar Dictado|l Cancelar Dictado iniciará o cancelará el >dictado :-)

Además, puede utilizar un comodín si un elemento de menú tiene partes variables

El Go > Recent Folders menú: no hay manera de saber la posición de la última carpeta cerrada debido a que esta lista está ordenada por nombre:

macos recent folders in Finder

0voto

hjdm Puntos 18

Puedes obtener esas válvulas desde "Finder defaults", está en la primera posición bajo FXRecentFolders clave.

Aquí está el AppleScript (basado en el respuesta de 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

Sólo hay que asignar un atajo de teclado global a ese script.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X