Jak ustawić ikonę dla niektórych typów plików, pomyślał cały system?
Na przykład mam pliki tekstowe, które kończą się rozszerzeniem .scala i chcę skojarzyć ikonę dla tych plików przez cały system i dla każdego nowo utworzonego pliku tego rozszerzenia.
Dzięki.
macos
mac
osx-snow-leopard
Chiron
źródło
źródło
Odpowiedzi:
Ikony typów plików są obsługiwane przez usługi uruchamiania (usługa określająca między innymi, która aplikacja obsługuje typ pliku). Ikona pliku jest zawsze dostarczana przez obsługę aplikacji domyślnie otwierającą plik. W ten sposób np. Preview udostępnia domyślnie ikony PDF i ikony PNG, ale jeśli zmienisz wszystkie pliki PNG, aby otworzyć je za pomocą Pixelmator, pliki te otrzymają później ikonę w stylu Pixelmator.
To, co musisz zrobić, to dodać definicję typu pliku do aplikacji, która ją domyślnie otwiera, lub utworzyć własną „obojętną” aplikację dla tego typu pliku .
Na przykład mój system jeszcze nie wie
.scala
i chcęTextMate
sobie z tym poradzić.Najpierw Pokaż Zawartość opakowania z
TextMate.app
przejdź doContents/
i otwarteInfo.plist
, albo za pomocą edytora tekstu, lubProperty List Editor
, część narzędzi Apple'a deweloperskich.TextMate używa nietypowego formatu
Info.plist
(zazwyczaj binarnego lub XML), którego fragment wygląda następująco:Klucz nadrzędny
CFBundleDocumentTypes
jest tym, czego chcemy. Pierwszy element potomny, zawarty w nawiasach klamrowych, zawiera definicję typu pliku wraz z nazwą (dla kolumny typu pliku w Finderze), rozszerzeniami plików i nazwą pliku ikony (ADA
dlaTextMate.app/Contents/Resources/ADA.icns
).Aby wesprzeć
.scala
, musimy dodać element siostrzany podobny do powyższego, w ramach tego samego elementu nadrzędnegoCFBundleDocumentTypes
:Dla uproszczenia używam tego samego pliku ikon, ale możemy go sami stworzyć, skopiować go
TextMate.app/Contents/Resources/SCALA.icns
i odwołać się do niego jakSCALA
wInfo.plist
.Teraz zamknij TextMate, jeśli jest uruchomiony, przenieś aplikację
TextMate.app
do innego folderu i otwórz go ponownie. Zamknij i przesuń z powrotem, a następnie otwórz ponownie. Dokonuje się tego, więc usługi uruchamiania wychwytują zmiany,Info.plist
które właśnie wykonaliśmy.Wynik wygląda następująco (pamiętaj, że ponownie użyliśmy ikony TextMate Ada
.scala
):Jeśli nie chcesz kojarzyć aplikacji z otwartymi
.scala
plikami (nie wyobrażasz sobie, dlaczego, ale jest na to sposób): Zmień dodatki do pliku na następujące:Teraz aplikacja deklaruje typ pliku, ale informuje system, że nie wie, jak sobie z tym poradzić (Apple podaje przykład Findera deklarującego typy czcionek, chociaż sam nie może ich otworzyć).
* Uwaga: każde trwałe przypisanie aplikacji do typu pliku zastępuje ikonę, prawdopodobnie do rodzaju „nieznanego dokumentu”.
Jeśli masz już powiązaną aplikację
.scala
i po prostu chcesz zmienić ikonę pliku bez zmiany powiązanej aplikacji:Otwórz aplikację
Info.plist
, poszukaj wpisu typu plikuCFBundleDocumentTypes
i pobierzCFBundleTypeIconFile
. Zmodyfikuj ten plik,.../Contents/Resources/
a wkrótce potem powinien zostać odzwierciedlony w Finderze.Informacje o bonusie:
Jak zmienić ikonę pojedynczego dokumentu lub folderu na plik obrazu
Załóżmy, że masz obraz,
~/Desktop/test.png
którego chcesz użyć ikony (to zrzut ekranu użyty powyżej, aby zilustrować.scala
zmianę ikony / TextMate / Ada.Otwórz
/Applications/Utilities/Terminal.app
i wprowadź:Spowoduje to zmianę
test.png
ikony pliku na obraz. Ponieważ lubię rekurencję, spróbujmy tego:Wcześniej zwykła
png
ikona podglądu (podgląd obrazu jest wyłączony):Następnie sam plik obrazu jest jego podglądem:
Teraz możemy otworzyć okno dialogowe Pobierz informacje o pliku , kliknąć żądaną ikonę przyszłego dokumentu w lewym górnym rogu,
Cmd-C
aby ją skopiować, otworzyć okno dialogowe Pobierz informacje o pliku , kliknąć niepożądaną, bieżącą ikonę dokumentu w lewym górnym rogu iCmd-V
wkleić ikona, którą chcemy.Alternatywnie możesz otworzyć plik obrazu, którego chcesz użyć jako ikony w Podglądzie,
Cmd-A
aby wybrać wszystko,Cmd-C
aby skopiować obraz do schowka. Następnie otwórz okno dialogowe Uzyskaj informacje w dokumencie docelowym , wybierz ikonę, którą chcesz zmienić w lewym górnym rogu, iCmd-V
wklej nad nią obraz.źródło
codesign --verify --verbose /Applications/TextMate.app
lub coś podobnego. W przypadku unieważnienia nie rób tego w przypadku aplikacji, które wymagają wyjątków w zaporze ogniowej lub potrzebują pęku kluczy. Nie jestem pewien, co jeszcze może pójść nie tak, jeśli zadzieramy z podpisem. (+1 za szczegół!)touch
poziomu głównego pakietu, aby zaktualizować datę modyfikacji. Następnie w Finderze usuń zaznaczenie i ponownie wybierz aplikację / pakiet / pakiet, a gdy zauważy, że data modyfikacji jest późniejsza niż data pamięci podręcznej w bazie danych Launch Services, ponownie ją zarejestruje, rozpoznając w ten sposób wszelkie zmiany zrobiłeś.TextMate.app: code object is not signed
i nie chcę przez to przechodzić ponownie. Podejrzewam, że to prawdziwy problem, nie myślałem o tym. Edycja : Z drugiej strony przechowywane są również niestandardowe skróty klawiaturoweInfo.plist
. Więc to może nie być problem, jeśli tak nie jest. Jedynym problemem może być dodanie dodatkowego pliku ikony w pakiecie aplikacji.Musisz zastąpić plik ICNS w programie, który jest przypisany jako program domyślny dla określonego typu pliku.
1 - Utwórz obraz dla żądanej ikony, a następnie zapisz jako typ pliku png (png obsługuje przezroczystość).
2 - Konwertuj plik png na typ pliku icns (FastIcns jest całkiem świetny i darmowy).
3 - Kliknij CMD lub kliknij prawym przyciskiem aplikację, która jest ustawiona jako domyślna aplikacja dla określonego rodzaju pliku, a następnie wybierz opcję pokaż zawartość pakietu.
4 - Poszukaj pliku icns, który aplikacja określa jako ikonę określonego typu pliku, prawdopodobnie znajdzie się on w folderze o nazwie Zasoby.
5 - Nazwij utworzony plik icns, dokładnie taką samą nazwę, jak plik, który chcesz zastąpić.
6 - Skopiuj i wklej lub przeciągnij i upuść nowy plik icns, który utworzyłeś, do folderu, w którym znajduje się ten, który chcesz zastąpić, i wybierz opcję zamień, gdy pojawi się opcja.
7 - Gotowe! Wszystkie ikony dla tego typu plików zostały zastąpione nową, pożądaną ikoną.
źródło
Zawsze podchodzę do tego, szukając pliku z tym rozszerzeniem, klikając prawym przyciskiem myszy »Uzyskaj informacje lub Command-i, a to wyświetli Panel informacyjny. U góry widoczna jest ikona aktualnie używana dla obrazu. Możesz przeciągnąć plik obrazu na ten, aby go zmienić, lub jeśli skopiowałeś obraz, możesz kliknąć obraz, który chcesz zmienić, i wkleić, aby go zmienić.
źródło