Các biểu tượng cho loại tệp được xử lý bởi Launch Services (dịch vụ xác định, trong số những thứ khác, ứng dụng nào xử lý loại tệp). Biểu tượng tệp luôn được cung cấp bởi ứng dụng xử lý mở tệp theo mặc định. Bằng cách này, ví dụ: Preview cung cấp các biểu tượng PDF theo mặc định và các biểu tượng PNG, nhưng nếu bạn thay đổi tất cả các tệp PNG để mở bằng Pixelmator thay vào đó, các tệp này sẽ có biểu tượng kiểu Pixelmator sau đó.
Những gì bạn cần làm là thêm định nghĩa loại tệp của bạn vào ứng dụng mở theo mặc định hoặc tạo ứng dụng "giả" của riêng bạn cho loại tệp .
Ví dụ, hệ thống của tôi chưa biết .scala
và tôi muốn TextMate
xử lý nó.
Trước tiên, tôi Hiện Package Contents của TextMate.app
, điều hướng đến Contents/
và cởi mở Info.plist
, hoặc với một trình soạn thảo văn bản, hoặc Property List Editor
, một phần của công cụ phát triển của Apple.
TextMate sử dụng một định dạng bất thường cho Info.plist
(thường là nhị phân hoặc XML), một đoạn trích trông giống như sau:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
Khóa cha CFBundleDocumentTypes
là những gì chúng ta muốn. Phần tử con đầu tiên của nó, được đặt trong dấu ngoặc nhọn, chứa định nghĩa loại tệp, hoàn chỉnh với tên (cho cột loại tệp trong Finder), phần mở rộng tệp và tên của tệp biểu tượng ( ADA
cho TextMate.app/Contents/Resources/ADA.icns
).
Để hỗ trợ .scala
, chúng ta cần thêm một phần tử anh chị em tương tự như phần tử ở trên, dưới cùng một phần tử cha CFBundleDocumentTypes
:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
Để đơn giản, tôi đang sử dụng cùng một tệp biểu tượng, nhưng chúng ta có thể tự tạo một tệp, sao chép nó vào TextMate.app/Contents/Resources/SCALA.icns
và tham chiếu nó như SCALA
trong Info.plist
.
Bây giờ, hãy đóng TextMate nếu nó đang chạy, di chuyển ứng dụng TextMate.app
sang một thư mục khác và mở lại. Đóng nó và di chuyển nó trở lại, sau đó mở lại. Điều này được thực hiện để Launch Services chọn ra những thay đổi Info.plist
mà chúng tôi vừa thực hiện.
Kết quả trông như thế này (hãy nhớ rằng chúng tôi đã sử dụng lại biểu tượng TextMate Ada cho .scala
):
Nếu bạn không muốn liên kết một ứng dụng để mở .scala
tệp (không thể tưởng tượng được tại sao, nhưng có một cách để làm điều này): Thay đổi các bổ sung cho tệp thành như sau:
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
Bây giờ, ứng dụng khai báo loại tệp, nhưng nói với hệ thống rằng nó không biết cách xử lý (Apple đưa ra ví dụ về Finder khai báo các loại phông chữ, mặc dù nó không thể tự mở chúng).
* Lưu ý rằng bất kỳ sự gán ứng dụng vĩnh viễn nào cho loại tệp sẽ ghi đè biểu tượng, có thể là loại "tài liệu không xác định".
Nếu bạn đã có một ứng dụng được liên kết .scala
và chỉ muốn thay đổi biểu tượng tệp mà không thay đổi ứng dụng được liên kết:
Mở ứng dụng Info.plist
, tìm mục nhập loại tệp CFBundleDocumentTypes
và lấy CFBundleTypeIconFile
. Sửa đổi tệp này .../Contents/Resources/
và nó sẽ được phản ánh trong Finder ngay sau đó.
Thông tin tiền thưởng:
Cách thay đổi biểu tượng của một tài liệu hoặc thư mục thành tệp hình ảnh
Giả sử bạn có một hình ảnh ~/Desktop/test.png
mà bạn muốn sử dụng một biểu tượng (đó là ảnh chụp màn hình được sử dụng ở trên để minh họa cho sự .scala
thay đổi biểu tượng / TextMate / Ada.
Mở /Applications/Utilities/Terminal.app
và nhập:
sips -i ~/Desktop/test.png
Điều này sẽ thay đổi test.png
biểu tượng tập tin thành hình ảnh của nó. Vì tôi thích đệ quy, hãy thử điều này:
Trước đó, png
biểu tượng Xem trước đơn giản (xem trước hình ảnh bị vô hiệu hóa):
Sau đó, tệp hình ảnh chính là bản xem trước của nó:
Bây giờ chúng ta có thể mở hộp thoại Nhận thông tin của tệp , nhấp vào biểu tượng tài liệu tương lai mong muốn ở trên cùng bên trái, Cmd-C
để sao chép, mở hộp thoại Nhận thông tin của tệp tài liệu , nhấp vào biểu tượng tài liệu hiện tại không mong muốn ở trên cùng bên trái và Cmd-V
để dán biểu tượng chúng tôi muốn.
Ngoài ra, bạn có thể mở tệp hình ảnh bạn muốn sử dụng làm biểu tượng trong Bản xem trước, Cmd-A
để chọn tất cả, Cmd-C
để sao chép hình ảnh vào bảng tạm. Sau đó mở hộp thoại Nhận thông tin của tài liệu đích , chọn biểu tượng để thay đổi ở trên cùng bên trái và Cmd-V
để dán hình ảnh lên trên đó.