I'm pretty new here, and I looked for an answer to this question, and found some answers but none seemed to work for me.
I want to be able to run an applescript that toggles hidden files and immediately updates all the open finder windows.
Using the scripts in these threads:
I've come up with something that looks like this:
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
However, as of my version of OS X (10.11.5), this doesn't actually toggle the hidden files. I need to relaunch finder in order to see the changes. I know how to do this in the script with: do shell script "killall Finder"
, but I don't know how to get all my current windows back and repositioned to where they were.
TL;DR: Is there a nice way to force the Finder windows to refresh without having to relaunch Finder? Or if there isn't, how can I keep my windows after a restart?
Best Answer
The trick of switching views worked well in Yosemite but no longer in El Capitan.
I've had to go back to the simple, yet annoying
Rather than the much nicer version which worked before
Honestly, I'd love this answer to be wrong
BTW, Windows ought to reopen exactly where they were - but not if you have them spread over more than one Space; that's not possible.