Changing Icon while app is running

Can you change the icon of your app while it is running? I would like to do something that shows the status of the app in the dock by changing the icon.

Terry

Greetings. I have a feeling that this is something beyond the scope of just applescript. It certainly can be done, though. The world book app that comes with (some/all?) macs actually has an icon that changes, and also is animated when it’s “working” (it’s a bit clunky the way they do it, but it’s still cool). 8)

So the answer is yes, you can do it…but I think you’ll have to go beyond applescript. If it’s really that important there are definitely solutions to your problem, you may just have to look a lot harder to find them. You’ll probably have to use cocoa or some other resource/language to get the job done. There may be a few people here who have the cocoa knowledge to help you out, but I am certainly NOT one of them. :wink:

Hopefully someone here knows a way to do this, because I’d be interested in it too.
Good Luck…
j

You can always use the “call method” approach to incorporate (additional) Cocoa functionality into your AppleScript Studio app. That said, I have no clue (yet) about what method you’d want do use. Try looking around in the Developer documentation like the Human Interface Guidelines and see what methods they recommend for changing the status of the dock icon.

Oh, and they recently released an updated version of the HIG available at http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html

Hope this helps…

Hey I found this and thought it might be a possibility.
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGHowEnvAffects/chapter_7_section_3.html
It says what functions can be used in Carbon and Cocoa to change the dock icon. I’m not sure if it is just how to add a badge (smaller icon) in the corner, or change the whole icon. The example it gives is the Mail application which displays the number of new messages in the icon.
I kind of answered my own question but you guys gave me the idea of searching the Apple website and using “call method”

Hope this helps,
Terry