• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Ordner Icons

gonzoid

Boskoop
Registriert
10.10.10
Beiträge
39
Ich nutze gerne "bunte" Ordner im Finder mit Xtrafinder bzw TotalFinder in der Seitenleiste. Ich arbeite viel mit Dropbox (2 Premium Accounts) auf welchen acuh andere (auch Windows) Nutzer zugreifen. Die Ordnersymbole werden hin und wieder mal vergessen, vermutlich wegen irgendeinem Clean-Tool von irgendeinem Windows User könnte ich mir vorstellen.

Meine Frage an die Experten:
Wo wird ein ausgetauschtes Ordnersymbol gespeichert (.DS_Store?) ?

Gibt es eine Möglichkeit dies per z.B. Terminal zuzuweisen oder kennt jemand ein Icon-Programm mit welchem ich ein gespeichertes Ordner-Set zuweisen kann?
 
Wo wird ein ausgetauschtes Ordnersymbol gespeichert
In der unsichtbaren Datei "Icon^R" im betreffenden Ordner.
Genauer gesagt, in deren Resourcefork.
Auf nicht-HFS Volumes gehört also noch die entsprechende Doublette "._Icon^R" mit dazu, die u.a. diesen Resourcefork und damit den eigentlichen Inhalt vorhält.
Um das Icon wirksam werden zu lassen, ist zusätzlich noch das "Custom Icon Flag" auf den Ordner zu setzen (mit--> SetFile).
Anm: ^R ist ein "Control-R", aka ein nicht druckbares Carriage-Return Zeichen
 
  • Like
Reaktionen: gonzoid
Danke. Da ist ja die Icon Datei. Wieso hatte ich die übersehen - egal:)

Hmm ok, hatte gehofft es mit Bordmitteln zumachen. Setfile ist ja ein XCode Bestandteil - Wäre aber ne Variante... mit der ich mich aber auch ausführlicher beschäftigen müsste - bin leider kein Programmierer

Habe gerade selbst was gefunden,... im unteren Drittel der Seite.
"it is a Bash script based primarily on xattr and sips. It allows setting/removing/extracting custom icons for/from files or folders"

hört sich interessant an. Werde das mal probieren und berichten.
 
SetFile (sowie das Gegenstück GetFileInfo) gehören schon länger zum regulären Installationsumfang (ohne Xcode).
(Ebenso das erwähnte Rez und DeRez, das zum Erzeugen der benötigten Resourcen aus anderen Formaten genutzt werden kann.)
 
Wenn ich im Terminal SetFile aufrufe kommt sofort der Vorschlag (im schicken Fenster so wie das hier) Xcode zu laden (4GB)... "Der "SetFile"-Befehl erfordert die Command Line Developer Tools. Möchten Sie diese Software jetzt installieren?"

Ich habe inzwischen o.g. nette Möglichkeit gefunden:

Es funktioniert wie folgt (kurze Anleitung, vielleicht brauchts ja noch jemand):

1. die "Textdatei" fileicon herunterladen
Ein recht aufwendiges Bash-Script, mit dem man auch Icons entfernen und auslesen kann, hier die Optionen:
Zuweisen: fileicon set <fileOrFolder> <imageFile>
Entfernen: fileicon rm <fileOrFolder>
Auslesen: fileicon get [-f] <fileOrFolder> [<iconOutputFile>]
Testen ob ein Custom Icon benutzt wird: fileicon test <fileOrFolder>
-q ... silence status output
Standard options: --help, --man, --version, --home

Mit genügend Motivation könnte man sicher herausfinden, wie der das macht... irgendwann mal.

2. die Datei im Terminal ausführbar machen
Code:
chmod +x PfadZu"fileicon"

3. Die Datei in seinen Path /usr/local/bin kopieren (mit sudo) oder verlinken oder auch direkt starten per bash

4. Hab mir ne "Textdatei" erstellt mit der Endung .command
Code:
#!/bin/sh
#aktuellen Pfad setzen
cd "${0%/*}"

#immer zuerst das icon entfernen, sonst hängt es wenn schon ein anderes custom-icon gesetzt ist
# sind die icons im gleichen Ordner wie fileicon, dann ist  <PfadZumIcon> z.B. ./Symbol25.png
# PfadZumOrdner> lässt sich z.B. kopieren im Finder-rechte Maustaste-Pfad kopieren-Terminal-Pfad

./fileicon  rm   <PfadZumOrdner>  <PfadZumIcon>
./fileicon  set  <PfadZumOrdner>  <PfadZumIcon>
meine "Icons" sind in der Regel quadratische PNG-Dateien mit mittlerer Auflösung (z.B. 512x512)
Ich wollte dass das Terminal Fenster selbst wieder schliesst ohne gleich das Skript in den Automator verfrachten zu müssen, so kann ich schnell(er) mal was ändern.

Versuche mit osascript waren mäßig erfolgreich
Code:
osascript -e 'tell application "Terminal" to close first window' & exit
Funktioniert, schliesst aber nur das Fenster, beendet aber nicht das TerminalProgramm selbst.

Code:
osascript -e 'tell application "Terminal" to if not ((count windows) > 1) then quit
Tut´s leider nicht aus mir unerklärlichen Gründen

Herhalten musste das weniger elegante
Code:
killall Terminal

Ich bin zufrieden... Danke trotzdem für die Hilfe
 
Zuletzt bearbeitet:
osascript -e 'tell application "Opfer" to quit'
Aber wozu beenden? Um es jedes mal neu starten zu müssen? Bringt ... was?
 
Ich brauch das ja nur einmal die Woche oder so - das Terminal ist dann für 10 Sekunden auf und wird sonst nur extrem selten benötigt.

Es werden einfach bei Aufruf (hab mir schon überlegt, ob ich das einfach täglich schedule) in einem Rutsch sämtliche Ordner die in der bash-Datei gelistet sind neu ver-icon-t. Dann darf das Terminal wieder in die Versenkung.

Individuelle Icons bekommen nur "Überordner", die sind ziemlich fix (insgesamt vielleicht 20-30, davon15 in der Seitenleiste im Finder), da ändert sich maximal 1mal pro Jahr was. Es ist nur lästig 52 mal im Jahr 30 Icons wiederherzustellen ... was dazu führt, dass ich nur die wichtigsten mache (unschön). In den Ordnern ist halt mein/unser komplettes privates und berufliches Leben organisiert... da bin ich halt a bissl eitel :)

Nur so als Beispiel... kleiner Ausschnitt Seitenleiste vom Finder: (Link nur temporär)

Wenn man sich da mal dran gewöhnt hat, nervt es tierisch, wenn alles gleich aussieht. Das für mich größte Ärgernis bei Lion damals. Deswegen irgendwelche Helferlein, dann Totalfinder und derzeit Xtrafinder (sogar die SIP von El Capitan deswegen deaktiviert)... evtl. wechsle ich auch (wieder) zu Pathfinder irgendwann.

PS: Ich habe übrigens durchaus mal versucht alle Icons in gleichen dezenten "Style" (schwarz-weiß und grau) zu machen... Ich bin aber einfach schneller, wenn es bunt und verschieden ist. Ob ich die Zeit die ich heute investiert habe jemals "rausholen" werde ist natürlich fraglich... aber mein Fahrrad fährt auch nicht schneller wenns geputzt ist :-)
 
Zuletzt bearbeitet: