Produit : 4D 2004
Plateforme : Mac OS X ♪
Vous voulez ajouter l'icône de votre application dans le Dock de Mac OS X par programmation et faire en sorte que son nom s'affiche quand l'utilisateur passe la souris sur l'icône.
Nous allons utiliser les commandes UNIX avec la commande 4D LANCER PROCESS EXTERNE :
` ---------------------------------------------------
` Méthode de Jeremy Sullivan
` Créée le 13 mars 2006
` Modifiée par ST le 11 décembre 2006
` ---------------------------------------------------
` Description: ajoute une icône d'une application dans le Dock de Mac OS X
` ---------------------------------------------------
` Paramètres :
` $1 TEXTE - nom de l'application telle qu'elle apparaîtra dans le Dock
` $2 TEXTE - chemin Posix vers l'application .app
` ---------------------------------------------------
`méthode d'appel :
`m_AjoutDock ("Ma Super Application";"/Applications/SuperApp.app")
C_TEXTE
(
$1
;
$2
;
$applicationName_t
;
$applicationPath_t
)
C_TEXTE
(
$command_t
;
$inputStream_t
;
$outputStream_t
;
$errorStream_t
)
$applicationName_t
:=
$1
` nom de mon application dans le Dock
$applicationPath_t
:=
$2
` chemin posix
$command_t
:=
"defaults write com.apple.dock persistent-apps -array-add "
$command_t
:=
$command_t
+
"'<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key"
+
"><string>"
$command_t
:=
$command_t
+
$applicationPath_t
$command_t
:=
$command_t
+
"</string><key>_CFURLStringType</key><integer>0"
+
"</integer></dict>"
$command_t
:=
$command_t
+
"<key>file-label</key><string>"
+
$applicationName_t
+
"</string>"
$command_t
:=
$command_t
+
"<key>file-type</key><integer>41</integer></dict>"
$command_t
:=
$command_t
+
"<key>tile-type</key><string>file-tile</string></dict>'"
LANCER PROCESS EXTERNE
(
$command_t
;
$inputStream_t
;
$outputStream_t
;
$errorStream_t
)
Si
(
$errorStream_t
=
""
)
`pas d'erreur
` relancer le Dock
LANCER PROCESS EXTERNE
(
"killall -HUP Dock"
;
$inputStream_t
;
$outputStream_t
;
$errorStream_t
)
Sinon
ALERTE
(
"Erreur : "
+
$errorStream_t
)
Fin de si
Voir la documentation de la commande 4D LANCER PROCESS EXTERNE
Voir aussi : Add applications to the Dock (via Apple Remote Desktop)