Wie kann ich ein Symbol für einige Dateitypen für das gesamte System festlegen ?
Zum Beispiel habe ich Textdateien, die mit der Erweiterung .scala enden, und ich möchte ein Symbol für diese Dateien im gesamten System und für jede neu erstellte Datei mit dieser Erweiterung zuordnen.
Vielen Dank.
macos
mac
osx-snow-leopard
Chiron
quelle
quelle
Antworten:
Symbole für Dateitypen werden von Launch Services verwaltet (der Dienst bestimmt unter anderem, welche Anwendung einen Dateityp verarbeitet). Das Dateisymbol wird immer von der Anwendung bereitgestellt, die standardmäßig eine Datei öffnet. Auf diese Weise werden z. B. in der Vorschau standardmäßig PDF-Symbole und PNG-Symbole angezeigt. Wenn Sie jedoch alle PNG-Dateien so ändern, dass sie stattdessen mit Pixelmator geöffnet werden, erhalten diese Dateien anschließend ein Symbol im Pixelmator-Stil.
Sie müssen der Anwendung, die sie standardmäßig öffnet, Ihre Dateitypdefinition hinzufügen oder eine eigene "Dummy" -Anwendung für den Dateityp erstellen .
Zum Beispiel weiß mein System noch nichts darüber
.scala
und ich möchteTextMate
damit umgehen.Zuerst zeige ich den Paketinhalt von
TextMate.app
, navigiere zuContents/
und öffne ihnInfo.plist
entweder mit einem Texteditor oder einemProperty List Editor
Teil der Entwickler-Tools von Apple.TextMate verwendet ein ungewöhnliches Format für
Info.plist
(normalerweise binär oder XML). Ein Auszug davon sieht folgendermaßen aus:Der Elternschlüssel
CFBundleDocumentTypes
ist das, was wir wollen. Das erste untergeordnete Element in geschweiften Klammern enthält eine Dateitypdefinition mit dem Namen (für die Dateitypspalte im Finder), den Dateierweiterungen und dem Namen der Symboldatei (ADA
fürTextMate.app/Contents/Resources/ADA.icns
).Zur Unterstützung
.scala
müssen wir unter demselben übergeordneten Element ein Geschwisterelement hinzufügen, das dem obigen Element ähneltCFBundleDocumentTypes
:Der Einfachheit halber verwende ich dieselbe Symboldatei, aber wir können eine selbst erstellen, kopieren
TextMate.app/Contents/Resources/SCALA.icns
und darauf verweisen wieSCALA
inInfo.plist
.Schließen Sie jetzt TextMate, falls es ausgeführt wird, verschieben Sie die Anwendung
TextMate.app
in einen anderen Ordner und öffnen Sie sie erneut. Schließen Sie es, und verschieben Sie es zurück, und öffnen Sie es dann erneut. Dies geschieht, damit Launch Services die Änderungen übernimmt, dieInfo.plist
wir gerade durchgeführt haben.Das Ergebnis sieht folgendermaßen aus (denken Sie daran, wir haben das TextMate Ada-Symbol für wiederverwendet
.scala
):Wenn Sie eine Anwendung nicht mit geöffneten
.scala
Dateien verknüpfen möchten (ich kann mir nicht vorstellen, warum, aber es gibt eine Möglichkeit, dies zu tun): Ändern Sie die Ergänzungen der Datei wie folgt:Die Anwendung deklariert nun den Dateityp, teilt dem System jedoch mit, dass sie nicht weiß, wie sie damit umzugehen ist.
* Beachten Sie, dass eine permanente Zuweisung der Anwendung zum Dateityp das Symbol überschreibt, wahrscheinlich zur Art "unbekanntes Dokument".
Wenn Sie bereits eine Anwendung zugeordnet
.scala
haben und nur das Dateisymbol ändern möchten, ohne die zugeordnete Anwendung zu ändern:Öffnen Sie die Anwendung
Info.plist
, suchen Sie nach dem Dateitypeintrag inCFBundleDocumentTypes
und rufen Sie den aufCFBundleTypeIconFile
. Ändern Sie diese Datei in.../Contents/Resources/
und sie sollte kurz danach im Finder angezeigt werden.Bonus Informationen:
So ändern Sie das Symbol eines einzelnen Dokuments oder Ordners in eine Bilddatei
Angenommen, Sie haben ein Bild, für
~/Desktop/test.png
das Sie ein Symbol verwenden möchten (der Screenshot oben zeigt die.scala
Änderung des Symbols / TextMate / Ada.Öffnen
/Applications/Utilities/Terminal.app
und eingeben:Dadurch wird das
test.png
Dateisymbol in das entsprechende Bild geändert . Da ich gerne rekursiv bin, versuchen wir Folgendes:Vorher das einfache Vorschausymbol
png
(Bildvorschau ist deaktiviert):Danach ist die Bilddatei selbst die Vorschau:
Jetzt können wir die Datei öffnen , ist Get Info - Dialog, klicken Sie auf das gewünschte, Dokumentsymbol Zukunft auf dem oben links,
Cmd-C
um es zu kopieren, öffnen für das Dokument Datei Get Info - Dialog, klicken Sie auf das unerwünschte, aktuelle Dokument - Symbol oben links, undCmd-V
die Paste Ikone, die wir wollen.Alternativ können Sie die Bilddatei öffnen, die Sie als Symbol in der Vorschau verwenden möchten,
Cmd-A
um alle auszuwählen undCmd-C
das Bild in die Zwischenablage zu kopieren. Öffnen Sie dann das Dialogfeld " Informationen " des Zieldokuments , wählen Sie das zu ändernde Symbol oben links aus undCmd-V
fügen Sie das Bild darüber ein.quelle
codesign --verify --verbose /Applications/TextMate.app
oder so ähnlich. Wenn dies ungültig ist, tun Sie dies nicht für Anwendungen, die Ausnahmen in der Firewall oder den Schlüsselbund benötigen. Ich bin mir nicht sicher, was sonst noch schlimm werden könnte, wenn ich an der Signatur herumspiele. (+1 für Details!)touch
der Root-Ebene des Bundles sein Änderungsdatum aktualisieren. Deaktivieren Sie dann im Finder die Anwendung / das Paket / das Paket und wählen Sie es erneut aus. Wenn Sie feststellen, dass das Änderungsdatum nach dem Datum der zwischengespeicherten Informationen in der Launch Services-Datenbank liegt, wird es erneut registriert, um Änderungen zu erkennen du hast gemacht.TextMate.app: code object is not signed
und ich möchte das nicht noch einmal durchgehen. Ich vermute, es ist ein echtes Problem, ich habe nicht daran gedacht. Bearbeiten : Zum zweiten werden benutzerdefinierte Tastaturkürzel auch in gespeichertInfo.plist
. Das könnte also eigentlich kein Problem sein, wenn dies nicht der Fall ist. Das einzige Problem ist möglicherweise das Hinzufügen einer zusätzlichen Symboldatei im App-Bundle.Sie müssen die ICNS-Datei innerhalb des Programms ersetzen, das als Standardprogramm für den jeweiligen Dateityp zugewiesen ist.
1 - Erstellen Sie ein Bild für das gewünschte Symbol und speichern Sie es als PNG-Dateityp (PNG unterstützt Transparenz).
2 - Konvertieren Sie die png-Datei in einen icns-Dateityp (FastIcns ist ziemlich gut und kostenlos).
3 - Klicken Sie auf CMD oder klicken Sie mit der rechten Maustaste auf die Anwendung, die als Standardanwendung für den jeweiligen Dateityp festgelegt ist, und wählen Sie dann Paketinhalt anzeigen aus.
4 - Suchen Sie nach der ICNS-Datei, die von der Anwendung als Symbol für den jeweiligen Dateityp festgelegt wurde. Sie befindet sich wahrscheinlich in einem Ordner namens Resources.
5 - Benennen Sie die von Ihnen erstellte icns-Datei genau so, wie Sie sie ersetzen möchten.
6 - Kopieren Sie die neu erstellte icns-Datei, fügen Sie sie ein, oder ziehen Sie sie in den Ordner, in dem sich die zu ersetzende befindet, und wählen Sie Ersetzen, wenn Sie die entsprechende Option haben.
7 - Fertig! Alle Symbole für diesen Dateityp wurden durch das neue gewünschte Symbol ersetzt.
quelle
Ich gehe dabei immer so vor, dass ich eine Datei mit dieser Erweiterung finde, mit der rechten Maustaste auf »Get Info oder Command-i klicke und das Infofenster aufruft. Oben sehen Sie das Symbol, das aktuell für das Bild verwendet wird. Sie können eine Bilddatei auf diese ziehen, um sie zu ändern. Wenn Sie das Bild kopiert haben, können Sie auf das zu ändernde Bild klicken und es durch Einfügen ändern.
quelle