PDA

View Full Version : Finder refresh: question


Joost
Sep 24, 2002, 09:00 AM
One of the few things I really miss about OS 9 and its forerunners is the instant feedback you'd get from the Finder when manipulating files, etc... There was never any need for a Windows Explorer-style "refresh view" option -- the Finder always reflected changes on the fly.

There seem to be occasional inconsistencies in OS X. In list view, for example, there are times you have to click on an item that's being downloaded to get an update on how much has been saved since the last time you looked. In other words, the file size doesn't update on the fly. Another example: save to the desktop a web-page JPEG in Omniweb and then do the same in Netscape. From Omniweb, the saved file shows up on the desktop instantly; from Netscape, the file doesn't show until the desktop is clicked.

Is this the Finder being flaky, Netscape not being up to snuff, or some Carbon/Cocoa app anomaly? And is this the reason the OS X version of IE doesn't use the "updating, state-of-play" icons that are used for file downloads in the OS 9 version (at least I don't think it does -- haven't used IE for the longest time...)

macmike42
Sep 24, 2002, 10:37 AM
In both Cocoa and Carbon, there is a specific method/function which you can call to let the Finder know that a part of the file system has changed. In Cocoa it is [[NSWorkspace sharedWorkspace] noteFileSystemChanged: @"/path/to/changed/file"]. This is what causes the Finder to update immediately.

In OS 9, there was really only one API accessing the file system, and only one actual "thread" running, so it wasn't hard to have the "kernel" tell the Finder that something was updated. In OS X, you have to account for many different UNIX, Carbon, Cocoa, Java, and network methods which might change files, therefore it would take a fairly large amount of "polling" and therefore CPU power to recreate the same behaviour.

Be happy that there still isn't need for a "refresh" button...

dfiler
Sep 24, 2002, 01:39 PM
I agree, the OS X file-sytem/finder is still flakey about keeping window contents current.

The silver lining: At least there is no refresh button. A refresh button means the developers have given up and users must remember to update things manually. The mere existance of a refresh button would be bad... almost as bad as 'print preview'.

There is no 'refresh' function in properly implemented direct-manipulation interfaces. Down with refresh! :cool:

Joost
Sep 24, 2002, 05:35 PM
Originally posted by macmike42:
In both Cocoa and Carbon, there is a specific method/function which you can call to let the Finder know that a part of the file system has changed. In Cocoa it is [[NSWorkspace sharedWorkspace] noteFileSystemChanged: @"/path/to/changed/file"]. This is what causes the Finder to update immediately.

In OS 9, there was really only one API accessing the file system, and only one actual "thread" running, so it wasn't hard to have the "kernel" tell the Finder that something was updated. In OS X, you have to account for many different UNIX, Carbon, Cocoa, Java, and network methods which might change files, therefore it would take a fairly large amount of "polling" and therefore CPU power to recreate the same behaviour.

Be happy that there still isn't need for a "refresh" button...

I'm happy about that.

Thanks for the answer.