Dosya türleri için simgeler Başlatma Hizmetleri tarafından yönetilir (diğerlerinin yanı sıra hangi uygulamanın bir dosya türünü işlediğini belirleyen hizmet). Dosya simgesi her zaman varsayılan olarak bir dosyayı açma uygulama işleme tarafından sağlanır. Bu şekilde, örneğin Önizleme varsayılan olarak PDF simgeleri ve PNG simgeleri sağlar, ancak tüm PNG dosyalarını Pixelmator kullanarak açacak şekilde değiştirirseniz, bu dosyalar daha sonra Pixelmator tarzı bir simge alır.
Yapmanız gereken , dosya türü tanımınızı varsayılan olarak onu açan uygulamaya eklemek veya dosya türü için kendi "boş" uygulamanızı oluşturmaktır .
Örnek olarak, sistemim henüz bilmiyor .scalave ben de TextMatebunun üstesinden gelmek istiyorum .
Öncelikle, bir metin editörüyle veya Apple'ın geliştirici araçlarının bir parçası olan Paket İçeriğini gösterir TextMate.app, Contents/açılır veya açılır .Info.plistProperty List Editor
TextMate Info.plist, bir alıntıya benzeyen olağandışı bir biçim (genellikle ikili veya XML) kullanır :
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
Ana anahtar CFBundleDocumentTypesistediğimiz şey. Kıvrımlı parantez içine alınan ilk alt öğe, adla (Finder'da dosya türü sütunu için), dosya uzantılarını ve simge dosyasının ( ADAfor TextMate.app/Contents/Resources/ADA.icns) adını içeren bir dosya türü tanımı içerir .
Desteklemek için .scala, aynı ana öğenin altına, yukarıdakine benzer bir kardeş öğe eklememiz gerekir CFBundleDocumentTypes:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
Sadelik uğruna, aynı simge dosyasını kullanıyorum, ancak kendimiz oluşturabilir, kopyalayabilir TextMate.app/Contents/Resources/SCALA.icnsve SCALAiçinde olduğu gibi başvurabiliriz Info.plist.
Şimdi çalışıyorsa, TextMate'i kapatın, uygulamayı TextMate.appfarklı bir klasöre taşıyın ve tekrar açın. Kapatın ve geri alın, sonra tekrar açın. Bu, Launch Services'ın yeni Info.plistyaptığımız değişiklikleri toplaması için yapılır.
Sonuç şöyle görünür (unutmayın, TextMate Ada simgesini yeniden kullandık .scala):

.scalaDosyaları açmak için bir uygulamayı ilişkilendirmek istemiyorsanız (nedenini hayal edemiyorum, ancak bunu yapmanın bir yolu var): Dosyaya yapılan eklemeleri aşağıdaki gibi değiştirin:
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
Şimdi, uygulama dosya türünü bildirir, ancak sisteme nasıl işleneceğini bilmediğini söyler (Apple, kendisini açmasa da, font türlerini bildiren Finder örneğini verir).
* Dosya türüne yapılan kalıcı bir uygulama atamasının, muhtemelen "bilinmeyen belge" türündeki simgeyi geçersiz kıldığını unutmayın.
Zaten ilişkili bir uygulamanız varsa .scalave ilişkili uygulamayı değiştirmeden sadece dosya simgesini değiştirmek istiyorsanız:
Uygulamanın içinden açın Info.plist, dosya türü girişini arayın CFBundleDocumentTypesve onu alın CFBundleTypeIconFile. Bu dosyayı değiştirin .../Contents/Resources/ve kısa süre sonra Finder'a yansıtılmalıdır.
Bonus bilgisi:
Tek bir belgenin veya klasörün simgesini bir görüntü dosyasına nasıl değiştirebilirim?
~/Desktop/test.pngBir simge kullanmak istediğiniz bir görüntünüz olduğunu varsayalım (yukarıda .scala/ TextMate / Ada simgesi değişimini göstermek için kullanılan ekran görüntüsüdür) .
Aç /Applications/Utilities/Terminal.appve gir:
sips -i ~/Desktop/test.png
Bu, test.pngdosya simgesini görüntüsüne değiştirecektir. Özyinelemeyi sevdiğim için, şunu deneyelim:
Öncesinde, düz Önizleme pngsimgesi (görüntü önizleme devre dışı bırakılır):

Sonra görüntü dosyasının kendisi önizlemesidir:

Şimdi, dosyanın Bilgi Al iletişim kutusunu açabilir, sol üstte istediğiniz, gelecekteki belge simgesini tıklayabilir, Cmd-Ckopyalamak, belge dosyasının Bilgi Al iletişim kutusunu açabilir, sol üstte istenmeyen, mevcut belge simgesine tıklayabilir Cmd-Vve İstediğimiz simge.
Alternatif olarak, görüntüyü panoya kopyalamak için Önizleme'de simge olarak kullanmak istediğiniz görüntü dosyasını Cmd-Aaçarak hepsini seçin Cmd-C. Ardından, hedef belgenin Bilgi Al iletişim kutusunu açın, üst soldaki değiştirilecek simgeyi seçin Cmd-Vve görüntüyü üzerine yapıştırın.