Install this INIT in your extensions folder and restart to be able to view your desktop by small icon, name, kind, or type. It is not entirely practical, however, since System 7 forces the desktop to be viewed by Icon on startup. This may cause your icons to be relocated to places you don't want them to be. Also, this is a quick hack. It has not been tested much (i.e. not for more than five minutes, and only on a single Mac), so use it at your own risk.
This hack may be freely distributed as long as this documentation file and the source are also included. Specifically it may be included on CD ROMS such as the InfoMac CD, BBS in a Box, Apprentice.
Background information:
The idea for this hack is fairly old. About a year ago I had a half-crash of my Mac which amazingly caused the view menu to be available for the Desktop, and it sort of worked. A quick check in MacsBug ("atba DisableItem ';sw pc A939;g'") learned me that it was fairly easy to implement this behaviour. It also learned me that there were severe problems to maintain the desktop's view, so it never got into a real product. Since I have read that some people want to have View by small Icon on their Desktops I decided to write a prototype to show others a way to do it. Making it really useful will involve some extra hacking, though (you will have to find the place where the Finder special cases the Desktop Folder, so that the view will be remembered across reboots).
Although I have read that System 7.5 does a much smarter relocation of icons on the desktop when monitor resolution is changed, it is not smart enough to do so when using SmallDesk. SmallDesk does work under System 7.5, but it is still impractical to use it. Also, it is impossible to use AppleScript to restore the desktop view since the Finder does not allow the desktop view to be changed by Apple Events.
Version history:
0.0.1 July 8, 1994 Original Release
0.0.2 November 9, 1994 Documentation updated for System 7.5. Also added some comments to the code.
International support:
The program contains a hard-coded name for the View menu. It therefore works only under systems where the Finder has only one menu whose name is four characters long and starts with 'Vie'. The name of the Finder is not hard-coded, so localized names for the Finder are allowed. Unfortunately, the name of the Finder is less likely to change than the name of the 'View' menu. In practice, I think this patch works only when using an American or British system. There even might be international versions of the System where the Finder has a four-letter menu title starting with 'Vie' which is not the 'View' menu. In that case the patch would target the wrong menu.
Programmers information:
The program works by patching out DisableItem. The patch checks whether the currently disabled item is part of the View menu. If this is true EnableItem is called instead; if it is not the case the old DisableItem is called. For speed reasons SmallDesk obtains the address of EnableItem at INIT time. This is potentially a problem since this may circumvent later patches to EnableItem. Another potential problem is that I use some concocted ways to check for the View menu. If your application is called Finder and calls DisableItem for a item of a menu with a four-letter title, the first three of which are Vie, and this call is done before the real Finder gets a chance to do such a call, your application gets targeted, and not the real Finder. BTW: it is amazing how often the Finder does call DisableItem during its normal operation. For further information: see the accompanying source code.