I really like the look of the Silicon Graphics desktop icons. However, they're a total pain in the ass to make. It's understandable why they charge so damded much for these computers given all the labor it takes to make them as spiffy as they are. So, when I decided to actually start making some icons of my own, there was no doubt in my mind that it was a "bad idea." And you know what? I was right. It is quite a pain. Once you get the hang of it it's pretty easy, you just have to realize that you're creating little 3D images and not just plain old boring 2D icons.
A little bit of info about how the SGI desktop icon system works in case you're wondering; the icons consist of several different files. First, you've got the .ftr (file-type rule) files that define all sorts of behaviors about how the program reacts when it is used from its iconified form. It's really pretty impressive just how customizeable this sytem is. Take a look at the ftr(1) man page and see. Next, you've got the .fti (that may mean file-type image, but I can't find an actual definition anywhere) which is the actual graphical icon that you see on your desktop. These are generally constructed with iconsmith(1), which isn't a very developed tool but at least it works. Put the two together (well, usually more than two, since you can make a whole bunch of icons for one item and have them appear for different reasons) and you've got yourself an icon.
"That's great," you say, "but how do I install them?" Once you've downloaded the icon package you want, un-gzip and un-tar it and you should have a directory that contains an .ftr file, and a subdirectory named iconlib containing at least two .fti files. Copy the .ftr file (as root) to /usr/lib/filetype/local and copy the .fti files to /usr/lib/filetype/local/iconlib and they should be installed. Next, in the directory /usr/lib/filetype and as root, run make -u and it should update the necessary files so that your machine will respond to the new icons. Last, you need to tag the files in question so that the machine knows which icons belong to which executables. The way to find out the correct tag is to look in the .ftr file for that specific icon. It's just a plain old text file so you can view it with your favorite text editor. Find the line that starts with the word MATCH and look for the tag entry on that line. It'll be a hexadecimal value (like 0x00FF17A0). From there, as root, you use the tag command to tag the executable. Find the executable you want to tag, and execute a command like this:
tag <the value you saw on the MATCH line> <the path to the executable you want to tag>
For example, with the zircon icon below, you'd do this:
tag 0x00FF17A0 /usr/local/bin/zircon
Restart the window manager (i.e. log out and log back in, or do a tellwm restart) and your icons should show up just fine. If not, let me know, because it means my instructions suck and I need to rewrite them. Better yet, for more info, read the following man pages:
ftr(1)
tag(1)
iconsmith(1)
IMD(1G)
A note about the tag numbers I use; wherever I can, I use tag numbers that are appropriate for the item in question. For example, with my Adobe FrameMaker icon, I have tagged them with the number Adobe uses for all their other products. But with most icons, there's no correct number to be using so I'm kind of winging it. I have a block of tag numbers assigned to me by SGI that I use so I shouldn't be overlapping with other people's products, but I think it should be mentioned that the overall method to my madness isn't very calculated.
I don't know how often I'll make icons, but as I'm getting better at
it I might make more. I'll just keep adding more to this page as
I create them.
|
This is the icon I made for use with Adobe
FrameMaker.
Truthfully, you could use it as just a generic Adobe icon, but I really
don't think there's any Adobe software for the SGI other than FrameMaker
that doesn't already include an icon.
Click here to retrieve the icon package. |
![]() |
Being a recovering IRC addict, I have my personal preference for IRC clients. The one I found that I liked best for a whole host of reasons is Zircon. And being that IRC is a true couch potato kind of activity, who wants to open up a shell and have to type zircon just to get your client up and running? Not me, that's for sure. So, here's an icon package for the Zircon X11 IRC client. |
| I figure that most people who play Quake and Quake II on their SGIs just run it from a shell, but personally I figure if the world had Quake icons they could drag the things onto their desktops and use Quake to be more unproductive with less effort. So here you go, an icon package for Quake I and II. They burst into flame when you double-click them. |