Show Icon For Program On Mac

Active7 years, 2 months ago

On the Mac, the equivalent location is the Applications folder, also found in the root directory of the Mac's startup drive (loosely equivalent to the Windows C: drive). Unlike the Program Files directory, the Applications folder is a simple place from which to access and launch applications.

How to set an icon for some file types thought the whole system?

For example, I have text files that ends with .scala extension and I want to associate an icon for that files through the whole system and for any newly created file of this extension.

Thanks.

Chiron
ChironChiron
4533 gold badges9 silver badges18 bronze badges

3 Answers

Icons for file types are handled by Launch Services (the service determining, among other things, which application handles a file type). The file icon is always provided by the application handling opening a file by default. This way, e.g. Preview provides PDF icons by default, and PNG icons, but if you change all PNG files to open using Pixelmator instead, these files get a Pixelmator-style icon afterwards.

What you need to do is add your file type definition to the application that opens it by default, or create your own 'dummy' application for the file type.

As an example, my system does not yet know about .scala, and I want TextMate to handle it.

First, I Show Package Contents of TextMate.app, navigate to Contents/ and open Info.plist, either with a text editor, or Property List Editor, part of Apple's developer tools.

TextMate uses an unusual format for Info.plist (it's usually binary or XML), an excerpt of which looks like this:

The parent key CFBundleDocumentTypes is what we want. The first child element of it, enclosed in curly braces, contains a file type definition, complete with name (for file type column in Finder), file extensions, and the name of the icon file (ADA for TextMate.app/Contents/Resources/ADA.icns).

To support .scala, we need to add a sibling element similar to the one above, under the same parent element CFBundleDocumentTypes:

For simplicity's sake, I'm using the same icon file, but we can create one ourselves, copy it to TextMate.app/Contents/Resources/SCALA.icns and refer to it as SCALA in Info.plist.

Now, close TextMate if it's running, move the application TextMate.app to a different folder, and open it again. Close it, and move it back, then open it yet again. This is done so Launch Services picks up the changes to Info.plist we just performed.

The result looks like this (remember, we reused the TextMate Ada icon for .scala):

If you don't want to associate an application to open .scala files (can't imagine why, but there's a way to do this): Change the additions to the file to the following:

Now, the application declares the file type, but tells the system that it does not know how to handle it (Apple gives the example of Finder declaring font types, although it cannot open them itself).

*Note that any permanent application assignment to the file type overrides the icon, probably to the 'unknown document' kind.

If you already have an application associated with .scala, and just want to change the file icon without changing the associated application:

Open of the application's Info.plist, look for the file type entry in CFBundleDocumentTypes, and get the CFBundleTypeIconFile. Modify this file in .../Contents/Resources/ and it should be reflected in Finder shortly afterwards.

Bonus information:

How to change a single document's or folder's icon to an image file

Suppose you have an image ~/Desktop/test.png which you want to use an an icon (it's the screenshot used above to illustrate the .scala/TextMate/Ada icon change.

Open /Applications/Utilities/Terminal.app and enter:

This will change the test.png file icon to its image. Since I enjoy recursion, lets try this:

Before, the plain Preview png icon (image preview is deactivated):

After, the image file itself is its preview:

Now we can open the file's Get Info dialog, click the desired, future document icon on the top left, Cmd-C to copy it, open the document file's Get Info dialog, click the undesired, current document icon on the top left, and Cmd-V to paste the icon we want.

Alternatively, you can open the image file you want to use as icon in Preview, Cmd-A to select all, Cmd-C to copy the image to clipboard. Then open the target document's Get Info dialog, select the icon to change in the top left, and Cmd-V to paste the image over it.

Daniel BeckDaniel Beck
95.4k12 gold badges241 silver badges292 bronze badges

You need to replace the ICNS file inside the program that is assigned as the default program for the specific file type.

1 - Create an image for the desired icon, then save as a png filetype (png supports transparency).

2 - Convert the png file to an icns filetype (FastIcns is pretty great and it's free).

3 - CMD click or right click the application that is set as the default app for the specific filetype, then select show package contents.

4 - Look for the icns file that the application is designating as the icon for the specific file type, it will probably be in a folder called Resources.

5 - Name the icns file you created, the exact same file name as the one you want to replace.

6 - Copy and paste, or drag and drop the new icns file you created into the folder where the one you want to replace is located, and choose replace when given the option.

7 - You're done! All of the icons for that file type have been replaced with the new desired icon.

daporterfizzledaporterfizzle

The way I always go about this is to find a file with that extension, right click » Get Info, or Command-i, and that will pull up the Info Panel. At the top your see the icon that is currently used for the image. You can drag an image file onto that one to change it, or if you copied the image, you can click on the image you want to change and do a paste to change it.

Arjan
27.4k11 gold badges66 silver badges107 bronze badges

Change Icon On Mac

jakehschwartzjakehschwartz

Not the answer you're looking for? Browse other questions tagged macosmacosx-snow-leopard or ask your own question.

Active6 years, 3 months ago

I am using a MacBook Pro running Mac OS X 10.5. I am new to this development environment, and previously worked on Windows.

How can I create a shortcut for applications or documents on the desktop? Just like the 'Show on desktop' feature from Windows?

GaffShow Icon For Program On Mac
16.3k11 gold badges50 silver badges65 bronze badges
George2George2
2,11910 gold badges30 silver badges30 bronze badges

1 Answer

The shortcut in Windows is called Alias in MacOS.

Creating an alias

Show Icon For Program On Mac Desktop

From http://kb.iu.edu/data/achy.html

You have several options for creating an alias:

  • Drag and drop: Click the item you wish to alias and hold down the mouse button. Then, while holding down the Command and Option keys, drag the item to where you want the alias to appear. Instead of moving the original item, this will create an alias at the new location.

  • Contextual menus: Hold down the Ctrl key and click the item you wish to alias. From the contextual menu, select Make Alias. The new alias will appear next to the original.

  • Keystroke: Select the item you wish to alias, and press Command-l (the lowercase L). The new alias will appear next to its original.

  • File menu: Select the item, and then from the File menu, select Make Alias. A new alias icon will appear next to the original.

Free Icons For Mac

Once you've created an alias, you can move it to a more convenient location, and then rename it or give it a new icon as you wish.

Show Desktop Icons On Mac

kartikmohtakartikmohta

Show Icon For Program On Macro Wow

Not the answer you're looking for? Browse other questions tagged macmacbook or ask your own question.