Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

changer l'incone, par prog, d'une image disk ???

9 réponses
Avatar
pere.noel
je cherche un moyen de changer l'icone d'une image disk dmg par
programme shell.

d'une manière générale où se trouve l'icône d'un dossier dont on a
changé l'icône par défaut ?

par exemple, dans mon dossier "Documents j'ai un dossier "home" dont
j'ai personnalisé l'icône et si je fais un ls -al sur ce dossier je n'ai
que deux fichiers commençant par un "." :
-rw-r--r-- 1 yvon yvon 6148 Jan 11 21:56 .DS_Store
-rw-r--r-- 1 yvon yvon 612 Dec 3 2003 .PBSyncDB

ce serait .DS_Store qui au moins pointerait sur l'icône sinon la
contiendrait ?

c'est ce qu'on me dit sur :

<http://www.westwind.com/reference/OS-X/invisibles.html>

This file in created by the Finder to keep track of folder view options,
icon positions, and other visual information about folders. A separate
.DS_Store file is created in each directory to store information about
that directory, so you'll find them appearing all over the directory
tree, in pretty much every folder you've visited with the OS X Finder.

donc je suppose que sur macos x, dans les outils de dev il y a un moyen
de manipuler ce fichier .DS_Store ?

le connaitriez-vous ?
--
une bévue

9 réponses

Avatar
Saïd
Une bévue :

je cherche un moyen de changer l'icone d'une image disk dmg par
programme shell.

d'une manière générale où se trouve l'icône d'un dossier dont on a
changé l'icône par défaut ?

par exemple, dans mon dossier "Documents j'ai un dossier "home" dont
j'ai personnalisé l'icône et si je fais un ls -al sur ce dossier je n'ai
que deux fichiers commençant par un "." :
-rw-r--r-- 1 yvon yvon 6148 Jan 11 21:56 .DS_Store
-rw-r--r-- 1 yvon yvon 612 Dec 3 2003 .PBSyncDB

ce serait .DS_Store qui au moins pointerait sur l'icône sinon la
contiendrait ?

c'est ce qu'on me dit sur :

<http://www.westwind.com/reference/OS-X/invisibles.html&gt;

This file in created by the Finder to keep track of folder view options,
icon positions, and other visual information about folders. A separate
.DS_Store file is created in each directory to store information about
that directory, so you'll find them appearing all over the directory
tree, in pretty much every folder you've visited with the OS X Finder.



Les icones dont parle ce paragraphe sont celles des fichiers contenus dans
le repertoire. Dans le .DS_Store, on trouve la position a laquelle sont
affichees les icones des differents fichiers. En tout cas c'est ce que dit
le paragraphe.

Les fichiers, sous mac OS X, ont un "resource fork". Il s'agit d'un fichier
cache qui contient des informations concernant le fichier auquel il
appartient.

Le shell y accede par l'intermediaire de:
NOM_DU_FICHIER/rsrc

Par contre le format de rsrc n'est pas tres simple, et il faut utiliser des
bibliotheques pour y acceder proprement. En particulier, il ne suffit pas de
faire:

cp image.jpg NOM_DU_FICHIER/rsrc

pour attribuer l'icone image.jpg au fichier en question.

Je pense aussi que le mieux serait de passer par Applescript, (un shell peut
appeler de l'AS en utilisant la commande "osascript".



--
Saïd.
"Bless this, O Lord, that with it thou mayst blow thine enemies to tiny
bits, in thy mercy."
In the Book of Armaments, Chapter 4. (The Holy Hand Grenade)

Avatar
pere.noel
Saïd wrote:


Par contre le format de rsrc n'est pas tres simple, et il faut utiliser des
bibliotheques pour y acceder proprement. En particulier, il ne suffit pas de
faire:

cp image.jpg NOM_DU_FICHIER/rsrc


Apple = Shadock :
pourquoi faire simple quand on peut compliquer )))


pour attribuer l'icone image.jpg au fichier en question.

Je pense aussi que le mieux serait de passer par Applescript, (un shell peut
appeler de l'AS en utilisant la commande "osascript".


bon ben tant pis, j'en passerai par AS, j'ai déjà un bout d'AS dans mon
code zsh...

j'adore ce genre de mélange ))

un jour j'ai utilisé une java.class depuis AS... (do shell script)
--
une bévue

Avatar
pere.noel
José Campos <jose.campos+ wrote:


As-tu jeté un ½il à AppleScript? Dans le dictionnaire du Finder, il
y a une classe "Icon family", peut-être un début de piste?


ouais, merci, même si je préfère une solution shell à toute solution
AS...
--
une bévue

Avatar
Patrick Stadelmann
In article <1hcam3z.17nq2ne10jllegN%,
(Une bévue) wrote:

José Campos <jose.campos+ wrote:


As-tu jeté un ½il à AppleScript? Dans le dictionnaire du Finder, il
y a une classe "Icon family", peut-être un début de piste?


ouais, merci, même si je préfère une solution shell à toute solution
AS...


Je remets la solution que j'ai proposé dans alt.comp.lang.applescript :

Créer un fichier "VolumeIcon.icns" au root du volume et activer le bit
"Custom icon" sur le volume via SetFile :

cp myIcon.icns /Volumes/MyDiskImage/.VolumeIcon.icns

/Developer/Tools/SetFile -a C /Volumes/MyDiskImage/

L'icône apparaît après démontage / remontage de l'image disque.

Patrick
--
Patrick Stadelmann


Avatar
Patrick Stadelmann
In article <1hcaj1t.16ma41gyufjn0N%jose.campos+,
jose.campos+ (José Campos) wrote:

As-tu jeté un ½il à AppleScript? Dans le dictionnaire du Finder, il
y a une classe "Icon family", peut-être un début de piste?


Pas encore fonctionnelle sous Mac OS X...

Patrick
--
Patrick Stadelmann

Avatar
Patrick Stadelmann
In article ,
Saïd wrote:

Les fichiers, sous mac OS X, ont un "resource fork". Il s'agit d'un fichier
cache qui contient des informations concernant le fichier auquel il
appartient.


Pas uniquement, on peut imaginer un traitement de texte par exemple qui
stockerait l'intégralité des documents dans la partie ressource (ça
existait sous Mac OS 9). Le truc c'est que la partie ressource est
structurée et gérée par le système (comme un petit filesystem) ce qui
permet au Finder (au autre) de manipuler certaines parties sans déranger
les applications qui exploitent ce fichier.

Pour les icônes personnalisée, c'est en effet une ou plusieurs
ressources de type "icônes" (icns, icl8, ...) qui sont ajoutées, avec
une ID de -16455. De plus, le bit "Use custom icon" est activé dans les
flags du fichiers pour indiquer qu'il y a un icône personnalisée.

Pour les dossier, c'est presque la même chose : un fichier invisible
"Iconr" est créé pour contenir les ressources.

Pour les volumes, c'était comme pour les dossiers mais Mac OS X utilise
maintenant une autre technique (voir mon autre message dans ce fil).

Patrick
--
Patrick Stadelmann

Avatar
Patrick Stadelmann
In article <1hcam73.1jf23gt87uclbN%,
(Une bévue) wrote:

Saïd wrote:


Par contre le format de rsrc n'est pas tres simple, et il faut utiliser
des
bibliotheques pour y acceder proprement. En particulier, il ne suffit pas
de
faire:

cp image.jpg NOM_DU_FICHIER/rsrc


Apple = Shadock :
pourquoi faire simple quand on peut compliquer )))


Simplement parce que la partie ressource ne sert pas qu'à ça !!!

bon ben tant pis, j'en passerai par AS, j'ai déjà un bout d'AS dans mon
code zsh...


Via une OSAX alors, parce que la manipulation des icônes n'est pas
(encore ?) scriptable...

Patrick
--
Patrick Stadelmann


Avatar
pere.noel
Patrick Stadelmann wrote:


Je remets la solution que j'ai proposé dans alt.comp.lang.applescript :

Créer un fichier "VolumeIcon.icns" au root du volume et activer le bit
"Custom icon" sur le volume via SetFile :

cp myIcon.icns /Volumes/MyDiskImage/.VolumeIcon.icns

/Developer/Tools/SetFile -a C /Volumes/MyDiskImage/

L'icône apparaît après démontage / remontage de l'image disque.


ouais, in french, that time ;-)

thanks again anyway )))

j'ai fait le cp dans mon script "package" shello-rubyesco-applescript
mais pas le "démonte remonte", c'est l'astuce, merci encore !
--
une bévue

Avatar
pere.noel
Patrick Stadelmann wrote:

Via une OSAX alors, parce que la manipulation des icônes n'est pas
(encore ?) scriptable...


oui, j'ai vu que ça existait en osax, mais bon, ton autre solution
'démonter remonter' me suffit.
--
une bévue