2 votos

Cambiar los archivos ocultos sin relanzar el buscador

Soy bastante nuevo aquí, y busqué una respuesta a esta pregunta, y encontré algunas respuestas pero ninguna parecía funcionar para mí.

Quiero ser capaz de ejecutar un guión de Apple que conmute los archivos ocultos y actualice inmediatamente todas las ventanas del buscador abierto.

Usando los scripts en estos hilos:

http://stackoverflow.com/questions/29135878/what-is-the-quickest-way-to-toggle-hide-show-hidden-files-on-a-mac-os-x-yosemite

http://stackoverflow.com/questions/21788558/automator-command-to-refresh-all-finder-all-finder-Windows

http://stackoverflow.com/questions/20469894/how-to-make-a-script- para mostrar los archivos ocultos en el Mac-os-x

Se me ha ocurrido algo que se parece a esto:

try
    set state to (do shell script "defaults read com.apple.finder AppleShowAllFiles") as boolean
on error
    set state to false
end try

do shell script "defaults write com.apple.finder AppleShowAllFiles " & (not state)

tell application "Finder"
    set theWindows to every window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view
        end if
        set current view of this_item to theView
    end repeat
end tell

Sin embargo, a partir de mi versión de OS X (10.11.5), esto no cambia los archivos ocultos. Necesito relanzar el buscador para ver los cambios. Sé cómo hacerlo en el script con: do shell script "killall Finder" pero no sé cómo recuperar todas mis ventanas actuales y reposicionarlas donde estaban.

TL;DR : ¿Hay alguna forma agradable de forzar a que se actualice la ventana del Finder sin tener que relanzarlo? O si no la hay, ¿cómo puedo mantener mi Windows después de un reinicio?

2voto

Tetsujin Puntos 23061

El truco de cambiar de opinión funcionó bien en Yosemite pero ya no en El Capitán.

He tenido que volver a la simple, pero molesta

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState & "; killall Finder"

En lugar de la versión mucho más bonita que funcionaba antes

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState    

tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Honestamente, me gustaría que esta respuesta estuviera equivocada.

Por cierto, las ventanas deberían volver a abrirse exactamente donde estaban, pero no si las tienes esparcidas por más de un espacio; eso no es posible.

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