iChat est un bel outil, mais si vous le laissez ouvert en permanence, il arrive que votre connexion soit coupée... et c'est à vous de la rétablir manuellement.
J'ai cherché sans succès une solution, alors j'ai développé la mienne, que je vous propose aujourd'hui.
(Il semble que l'utilitaire Chax avait cette fonction, mais ce n'est plus le cas dans la version courante, la 3.0a4)
D'abord un cas simple : vous utilisez un seul service, par exemple votre compte MobileMe (même celui d'essai) ou AIM. Et vous souhaitez que iChat soit automatiquement lancé, si ce n'est pas le cas.
J'ai écris cet AppleScript, nommé par exemple "ReconnexioniChat.scpt"
Vous le stockez où vous voulez, par exemple ici (mon compte utilisateur est "alain") :
/Users/alain/Library/Scripts/ReconnexioniChat.scpt
Ensuite, il faut lancer régulièrement ce script, qui va simplement regarder si vous êtes déconnecté. Et si c'est le cas, il vous reconnecte.
Pour cela, j'ai utilisé l'utilitaire système "launchd". Il est très puissant mais assez technique à paramétrer... sauf si vous utilisez l'utilitaire Lingon.
Téléchargez de préférence la dernière version, la 2.1.1
Lingon sert à créer un ficher de paramètres, et à la placer au bon endroit.
Dans cet outil, avec le +, vous créez un nouveau fichier de paramètres, en choisissant l'option "My Agents" : cela veut dire que ces actions ne se déclencheront que quand le compte courant sera actif (les autres choix affectent le fonctionnement permanent de votre mac, donc à utiliser avec précaution....).
Vous remplissez ensuite les champs proposés :
en 1, vous mettre ce que vous voulez, mais la convention est "com.votrenom.votre fichier".
en 2, vous mettez la commande qui lancera votre script. Avec ce que j'ai décris ci-dessus, cela donne
en 3, vous ne remplissez que la case "run it every...", qui indique à quelle fréquence vous lancez le script. Personellement, j'ai choisi de le lancer toutes les 5 minutes. Inutile de lacer cela toutes les secondes !
(Cf en pièce jointe ce que cela donne chez moi)
Il ne reste plus qu'à sauvegarder, et à redémarrer votre poste.
Pour les cas plus complexes, voici un script plus riche (le reste est strictement identique) :
La première ligne, et la fonction associée, vérifie que iChat est déjà lancé. Sinon, le script ne fait rien. C'est utile si vous ne voulez pas avoir iChat lancé en permanence, ou si vous utilisez la version courante de Chax, sous Snow Leopard.
La suite correspond au cas où vous utilisez plusieurs services de chat en même temps : en ce qui me concerne, j'active MobileMe et Gtalk. Si l'un d'entre se déconnecte, comme l'autre reste actif, iChat se considère comme toujours connecté et le script simple ne sert à rien.
Attention, ce script doit être cohérent avec le nom que vous avez donné à vos comptes dans les préférences d'iChat, dans le champ Description.
J'espère que tout cela sera utile à d'autres ! :zen:
J'ai cherché sans succès une solution, alors j'ai développé la mienne, que je vous propose aujourd'hui.
(Il semble que l'utilitaire Chax avait cette fonction, mais ce n'est plus le cas dans la version courante, la 3.0a4)
D'abord un cas simple : vous utilisez un seul service, par exemple votre compte MobileMe (même celui d'essai) ou AIM. Et vous souhaitez que iChat soit automatiquement lancé, si ce n'est pas le cas.
J'ai écris cet AppleScript, nommé par exemple "ReconnexioniChat.scpt"
Bloc de code:
tell application "iChat"
if status is offline then
log in
end if
end tell
/Users/alain/Library/Scripts/ReconnexioniChat.scpt
Ensuite, il faut lancer régulièrement ce script, qui va simplement regarder si vous êtes déconnecté. Et si c'est le cas, il vous reconnecte.
Pour cela, j'ai utilisé l'utilitaire système "launchd". Il est très puissant mais assez technique à paramétrer... sauf si vous utilisez l'utilitaire Lingon.
Téléchargez de préférence la dernière version, la 2.1.1
Lingon sert à créer un ficher de paramètres, et à la placer au bon endroit.
Dans cet outil, avec le +, vous créez un nouveau fichier de paramètres, en choisissant l'option "My Agents" : cela veut dire que ces actions ne se déclencheront que quand le compte courant sera actif (les autres choix affectent le fonctionnement permanent de votre mac, donc à utiliser avec précaution....).
Vous remplissez ensuite les champs proposés :
en 1, vous mettre ce que vous voulez, mais la convention est "com.votrenom.votre fichier".
en 2, vous mettez la commande qui lancera votre script. Avec ce que j'ai décris ci-dessus, cela donne
Bloc de code:
osascript /Users/alain/Library/Scripts/ReconnexioniChat.scpt
(Cf en pièce jointe ce que cela donne chez moi)
Il ne reste plus qu'à sauvegarder, et à redémarrer votre poste.
Pour les cas plus complexes, voici un script plus riche (le reste est strictement identique) :
Bloc de code:
if appIsRunning("iChat") then
tell application "iChat"
if (status of service "MobileMe" is offline) or (status of service "Gtalk" is offline) then
log in
end if
end tell
end if
on appIsRunning(appName)
tell application "System Events" to (name of processes) contains appName
end appIsRunning
La première ligne, et la fonction associée, vérifie que iChat est déjà lancé. Sinon, le script ne fait rien. C'est utile si vous ne voulez pas avoir iChat lancé en permanence, ou si vous utilisez la version courante de Chax, sous Snow Leopard.
La suite correspond au cas où vous utilisez plusieurs services de chat en même temps : en ce qui me concerne, j'active MobileMe et Gtalk. Si l'un d'entre se déconnecte, comme l'autre reste actif, iChat se considère comme toujours connecté et le script simple ne sert à rien.
Attention, ce script doit être cohérent avec le nom que vous avez donné à vos comptes dans les préférences d'iChat, dans le champ Description.
J'espère que tout cela sera utile à d'autres ! :zen: