फ़ाइल प्रकारों के लिए आइकन लॉन्च सेवाओं (अन्य चीजों के साथ सेवा का निर्धारण, जो एप्लिकेशन एक फ़ाइल प्रकार को संभालता है) द्वारा नियंत्रित किए जाते हैं। फ़ाइल आइकन हमेशा डिफ़ॉल्ट रूप से फ़ाइल खोलने वाले एप्लिकेशन हैंडलिंग द्वारा प्रदान किया जाता है। इस तरह, उदाहरण पूर्वावलोकन डिफ़ॉल्ट रूप से, और PNG आइकन द्वारा पीडीएफ आइकन प्रदान करता है, लेकिन यदि आप Pixelmator का उपयोग करके खोलने के लिए सभी PNG फ़ाइलों को बदलते हैं, तो इन फ़ाइलों को बाद में Pixelmator-style आइकन मिलता है।
आपको जो करने की आवश्यकता है वह आपकी फ़ाइल प्रकार की परिभाषा है जो इसे डिफ़ॉल्ट रूप से खोलता है, या फ़ाइल प्रकार के लिए अपना स्वयं का "डमी" एप्लिकेशन बनाएं ।
एक उदाहरण के रूप में, मेरे सिस्टम के बारे में अभी तक नहीं पता है .scala, और मैं TextMateइसे संभालना चाहता हूं ।
सबसे पहले, मैं शो पैकेज सामग्री के TextMate.appलिए, नेविगेट Contents/और खुले Info.plist, किसी टेक्स्ट संपादक, या के साथ Property List Editorएप्पल के डेवलपर टूल का, हिस्सा।
TextMate इसके लिए एक असामान्य प्रारूप का उपयोग करता है Info.plist(यह आमतौर पर द्विआधारी या XML है), जिसका एक अंश इस तरह दिखता है:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
मूल कुंजी CFBundleDocumentTypesवह है जो हम चाहते हैं। इसका पहला बाल तत्व, घुंघराले ब्रेसिज़ में संलग्न है, जिसमें फ़ाइल प्रकार की परिभाषा है, नाम के साथ पूर्ण (फाइंडर में फ़ाइल प्रकार कॉलम के लिए), फ़ाइल एक्सटेंशन और आइकन फ़ाइल (के ADAलिए TextMate.app/Contents/Resources/ADA.icns) का नाम है।
समर्थन करने के लिए .scala, हमें एक ही मूल तत्व के तहत, ऊपर के समान एक भाई तत्व जोड़ना होगा CFBundleDocumentTypes:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
सादगी के लिए, मैं एक ही आइकन फ़ाइल का उपयोग कर रहा हूं, लेकिन हम स्वयं बना सकते हैं, इसे कॉपी कर सकते हैं TextMate.app/Contents/Resources/SCALA.icnsऔर इसे इसमें संदर्भित कर सकते SCALAहैं Info.plist।
अब, TextMate को बंद करें यदि यह चल रहा है, तो एप्लिकेशन TextMate.appको एक अलग फ़ोल्डर में ले जाएं, और इसे फिर से खोलें। इसे बंद करें, और इसे वापस ले जाएं, फिर इसे फिर से खोलें। यह किया जाता है इसलिए लॉन्च सेवाओं ने हमारे द्वारा किए गए परिवर्तनों को पूरा Info.plistकिया।
परिणाम इस तरह दिखता है (याद रखें, हमने TextMate Ada आइकन का पुन: उपयोग किया है .scala):

यदि आप किसी .scalaफ़ाइल को खोलने के लिए किसी एप्लिकेशन को संबद्ध नहीं करना चाहते हैं (तो इसकी कल्पना नहीं कर सकते, लेकिन ऐसा करने का एक तरीका है): फ़ाइल में परिवर्धन को निम्न में बदलें:
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
अब, एप्लिकेशन फ़ाइल प्रकार की घोषणा करता है, लेकिन सिस्टम को बताता है कि यह नहीं जानता कि इसे कैसे संभालना है (Apple फ़ॉन्ट प्रकार की घोषणा करने वाले फाइंडर का उदाहरण देता है, हालांकि यह उन्हें स्वयं नहीं खोल सकता है)।
* ध्यान दें कि फ़ाइल प्रकार का कोई भी स्थायी अनुप्रयोग कार्य आइकन को ओवरराइड करता है, शायद "अज्ञात दस्तावेज़" प्रकार को।
यदि आपके पास पहले से कोई एप्लिकेशन संबद्ध है .scala, और संबंधित एप्लिकेशन को बदले बिना फ़ाइल आइकन बदलना चाहते हैं:
एप्लिकेशन का खोलें Info.plist, फ़ाइल प्रकार प्रविष्टि के लिए देखें और आवेदन CFBundleDocumentTypesप्राप्त करें CFBundleTypeIconFile। इस फ़ाइल को संशोधित करें .../Contents/Resources/और इसे कुछ ही समय बाद फाइंडर में परिलक्षित होना चाहिए।
बोनस की जानकारी:
किसी एकल दस्तावेज़ या फ़ोल्डर के आइकन को छवि फ़ाइल में कैसे बदलें
मान लें कि आपके पास एक ऐसी छवि है ~/Desktop/test.pngजिसका आप एक आइकन का उपयोग करना चाहते हैं (यह ऊपर दिया गया स्क्रीनशॉट है .scala/ TextMate / AdM icon परिवर्तन का वर्णन करने के लिए ।
खोलें /Applications/Utilities/Terminal.appऔर दर्ज करें:
sips -i ~/Desktop/test.png
यह test.pngफ़ाइल आइकन को उसकी छवि में बदल देगा । चूंकि मुझे पुनरावृत्ति का आनंद मिलता है, इस कोशिश की सुविधा देता है:
इससे पहले, सादा पूर्वावलोकन pngआइकन (छवि पूर्वावलोकन निष्क्रिय है):

बाद में, छवि फ़ाइल ही इसका पूर्वावलोकन है:

अब हम फाइल के गेट इंफो डायलॉग को खोल सकते हैं , ऊपर बाईं ओर वांछित, भविष्य के डॉक्यूमेंट आइकन पर क्लिक करें, Cmd-Cइसे कॉपी करने के लिए, डॉक्यूमेंट फाइल के गेट इंफो डायलॉग को खोलें , शीर्ष बायीं ओर अनसोल्ड, करंट डॉक्यूमेंट आइकन पर क्लिक करें और शीर्ष Cmd-Vपेस्ट करें। आइकन हम चाहते हैं।
वैकल्पिक रूप से, आप उस छवि फ़ाइल को खोल सकते हैं जिसे आप पूर्वावलोकन में आइकन के रूप में उपयोग करना चाहते हैं, Cmd-Aसभी को चुनने के Cmd-Cलिए, छवि को क्लिपबोर्ड पर कॉपी करने के लिए। फिर लक्ष्य दस्तावेज़ के गेट इन्फो डायलॉग को खोलें , ऊपरी बाईं ओर बदलने के लिए आइकन का चयन करें, और Cmd-Vउस पर छवि पेस्ट करें।