3 votes

Afficher les fichiers cachés sans relancer le Finder

Je suis assez nouveau ici, et j'ai cherché une réponse à cette question. J'ai trouvé quelques réponses, mais aucune ne semblait fonctionner pour moi.

Je veux pouvoir exécuter un applescript qui bascule les fichiers cachés et met immédiatement à jour toutes les fenêtres ouvertes du finder.

En utilisant les scripts dans ces fils :

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

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

https://stackoverflow.com/questions/20469894/how-to-make-a-script-to-show-hide-hidden-files-in-mac-os-x

J'ai trouvé quelque chose qui ressemble à ça :

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

Cependant, à partir de ma version d'OS X (10.11.5), cela ne permet pas de basculer les fichiers cachés. Je dois relancer le finder afin de voir les changements. Je sais comment faire cela dans le script avec : do shell script "killall Finder" mais je ne sais pas comment faire pour que toutes mes fenêtres actuelles soient remises en place et repositionnées là où elles étaient.

TL;DR : Existe-t-il un moyen agréable de forcer les fenêtres du Finder à se rafraîchir sans avoir à relancer le Finder ? Ou s'il n'y en a pas, comment puis-je conserver ma fenêtre après un redémarrage ?

2voto

Tetsujin Points 95239

L'astuce consistant à changer de vue fonctionnait bien dans Yosemite mais plus dans El Capitan.

J'ai dû revenir au simple, mais ennuyeux

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"

Plutôt que la version beaucoup plus agréable qui fonctionnait avant

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

Honnêtement, j'aimerais que cette réponse soit fausse.

BTW, Windows devrait rouvrir exactement là où ils étaient - mais pas si vous les avez répartis sur plus d'un espace ; ce n'est pas possible.

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