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 .scala
ve ben de TextMate
bunun ü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.plist
Property 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 CFBundleDocumentTypes
istediğ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 ( ADA
for 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.icns
ve SCALA
içinde olduğu gibi başvurabiliriz Info.plist
.
Şimdi çalışıyorsa, TextMate'i kapatın, uygulamayı TextMate.app
farklı 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.plist
yaptığı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
):
.scala
Dosyaları 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 .scala
ve 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 CFBundleDocumentTypes
ve 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.png
Bir 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.app
ve gir:
sips -i ~/Desktop/test.png
Bu, test.png
dosya simgesini görüntüsüne değiştirecektir. Özyinelemeyi sevdiğim için, şunu deneyelim:
Öncesinde, düz Önizleme png
simgesi (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-C
kopyalamak, belge dosyasının Bilgi Al iletişim kutusunu açabilir, sol üstte istenmeyen, mevcut belge simgesine tıklayabilir Cmd-V
ve İ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-A
aç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-V
ve görüntüyü üzerine yapıştırın.