Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Programmation _ Mail : relever son courier tte les 10 min ;) [Résolu]

Écrit par : ali_o_kan 18 Sep 2003, 13:22

lu,
Bon depuis que g un compte chez Amen.fr je suis obliger de mettre dans les pref de Mail :"relever le courier toutes les 15min", puisque Amen n'aprecie pas que je releve toutes 5min. :pleur2:
Le problme c'est que ca applique les 15min a toutes mes boites :evil:
Donc g decidé de ne pas me laisser faire.
G fait une petite recherche dans le prologiciel qu'est mail, pour éssayer de relever mon courirer toutes les 6min 8)
G trouvé la ligne où la pref est enregstré,
elle était sur 15 donc moi je la met sur 6, je sauve --> relance Mail --> ouvre les prefs pour voir si ca fonctionne, et patatraf Mail se plante; je réésaille plusieur temps( ccl : si dans les prefs je met pas une des valeurs pré défini, les prefs de Mail plante). J'en suis là actuelement pas moyen de trouvé le fichier valeurs prédéfini. sad.gif
2 petites question :
• les fichiers qui se termine par .nib --> je doit les ouvrir avec quoi( tt le reste s'ouvre ss souci dans BBédit)
• Si quelqu'un a une petite idée du fichier qui comptient ces valeurs :wink:
Pour info :
le fichier qui comptent les prefs du temps est user/bibli/pref/com.apple.mail.plist --> ligne 372/373

QUOTE
<key>PollTime</key>
373  <integer>5</integer>

Merci :wink:

Écrit par : macmagna 18 Sep 2003, 21:19

Les fichiers .nib s'ouvrent normalement avec InterfaceBuilder (IB) qui fait partie des DevTools Apple (outils de dévelopement), je dis normalement parceque dans le cas de Mail (et de surrement quelques autres softs Apple) ça ne fonctionne pas. Il semblerait qu'Apple protège les ressources de ses logiciels fétiches pour qu'on puisse pas les trafiquer à notre guise. C'est contraire à l'esprit d'ouverture et de flexibilité proné par la marque en matière de dévelopement mais apparement quand ça les concerne, ils font ce qu'il veulent...

Pour tes prefs, t'as essayé de remplacer le 5 par un 6 ?

Écrit par : ploute 18 Sep 2003, 21:56

:roll:

QUOTE
lu,
G trouvé la ligne où la pref est enregstré,
elle était sur 15 donc moi je la met sur 6, je sauve --> relance Mail --> ouvre les prefs pour voir si ca fonctionne, et patatraf Mail se plante;


:wink:

Écrit par : macmagna 18 Sep 2003, 22:22

Ouais ok.
J'ai éssayé et pareil pour moi.
T'as essayé de voir si ça marchait qd même (relève toutes les 6mns) sans ouvrir les prefs?
[Edit] Mon avis de programmeur est que lorsqu'on ouvre les prefs, Mail cherche à positioner le menu du temps de relève en fonction de la valeur de "PoolTime" et des tags des éléments de menu. Comme il n'y a aucun élément de menu avec un tag à 6, la fonction renvoie nil, ce qui n'est pas prévu et provoque le plantage sur un autre appel de fonction. Pour éviter cela il faudrait pouvoir ouvrir le fichier .nib des préferences mais comme dis plus haut, Apple veille au grain et nous empèche de modifier son joujou.

Écrit par : Jean-Yves Proux 18 Sep 2003, 22:40

QUOTE
elle était sur 15 donc moi je la met sur 6, je sauve --> relance Mail --> ouvre les prefs pour voir si ca fonctionne, et patatraf Mail se plante;


Ca ne serait pas plus simple de faire un AppleScript qui demande la récupération du courrier à Mail toutes les X minutes ?

Écrit par : macmagna 18 Sep 2003, 22:54

Ouais peut être.
J'ai trouvé comment ouvrir les .nib "lockés" de Mail et effectivement le temps est codé dans le tag de chaque élément du menu mais bizarement toute modif de celui-ci produit aussi un plantage. Il est possible que l'intégrité des .nib de Mail soient vérifiée au chargement par une checksum ou alors (plus probable) que la sauvegarde du .nib modifié perde certaines valeurs.
Pourquoi tu met pas 10 mins dans le temps de relève ? biggrin.gif
[Edit] Désolé :roll: j'avais pas vu que c'était direct 15.
[Edit2] Aprés de multiples tentatives, il semble que la moindre modif (même déplacer un fenetre de quelques pixels et sauver) dans le .nib provoque un plantage ou une non-apparition du panneau de préferences. Tout ceci est bien vérouillé, avis aux hackers... biggrin.gif

Écrit par : Einstein 19 Sep 2003, 00:34

macmagna, essaye en:
1)effaçant les prefs de mail
2)changeant les .nib
3)relançant mail

Sinon, tu as procédé de quel manière pour "délocker" les .nib d'Apple?

Écrit par : macmagna 19 Sep 2003, 08:46

Ca marche pas (j'ai essayé en déplacant les prefs et même le dossier Mail complet).
Pour ouvrir un .nib "vérouillé" (un .nib vérouillé est juste un .nib auquel on a enlevé les fichiers internes "classes.nib" et "info.nib" en ne laissant que "objects.nib"):

1) "Lire les infos" sur ne .nib et supprimer l'extension .nib pour en faire un dossier normal.
2) Créer un .nib vierge avec IB et copier le fichier "classes.nib" interne ("Afficher le contenu du progiciel" sur le nouveau .nib) dans le dossier.
3) Rajouter l'extension .nib au dossier.
4) Ouvrir avec IB.

Cela permet d'ouvrir le .nib mais l'absence du "classes.nib" original provoque peut être une sauvegarde destructrice lorsqu'on change qque chose et qu'on sauve.

Écrit par : ali_o_kan 19 Sep 2003, 08:54

itch ohmy.gif
La je suis largué, je suis juste un petit codeur de site web :wink:
Alors quand on s'attaque au coeur de l'os laugh.gif
Merci les gas, :wink:

Écrit par : Einstein 19 Sep 2003, 12:01

On peut tjs essayé de refaire exactement le même nib que celui d'apple (je sais, ça va être saoulant à faire!!! :-? ) au pixel près puis de juste laisser l'object.nib, non?!
Après changement du .nib d'apple par celui "maison", effacement des prefs et launch de mail. Après, si ça marche pas, je vois pas!!!

Écrit par : Bru 19 Sep 2003, 12:08

Juste une précision :
Les nib qui ne s'ouvrent pas sous IB ne sont pas "lockés", seulement, ils utilisent des objets qui ont été créés par une palette spéciale... Donc pour ouvrir un tel nib sous IB, il faut aussi avoir la palette correspondante.

.

Écrit par : macmagna 19 Sep 2003, 13:27

QUOTE
Juste une précision :
Les nib qui ne s'ouvrent pas sous IB ne sont pas "lockés", seulement, ils utilisent des objets qui ont été créés par une palette spéciale... Donc pour ouvrir un tel nib sous IB, il faut aussi avoir la palette correspondante.
Dans ce cas précis, les .nib ne s'ouvrent pas parcequ'on à retiré les fichiers internes "classes.nib" et "info.nib". Cela n'empèche pas que le .nib peut contenir aussi des objets "customisés" dont on ne possede pas les palettes dans IB. Dans ce cas toutefois il me semble que IB affiche une alerte qd il ne trouve pas la definition d'une classe pour un objet défini avec elle mais ça pourrait expliquer le plantage systématique lorsqu'on veut utiliser un .nib modifié.
[Edit]Ca y est! biggrin.gif
1) Regler le temps de relève à 15 mns.
2) Quitter Mail.
3) Ouvrir Mail.app/Contents/Resources/French.lproj/AccountPreferences.nib/objects.nib avec HexEdit
4) Modifier:
Octet $1970: 35->36
Octet $198B: 05->06
5) Sauver
6) Lancer Mail et régler le temps de relève sur 6 mns.

Écrit par : ali_o_kan 19 Sep 2003, 14:39

Super, tu crois que tu peux m'envoyer ton fichier modifié, car g pas hexedit. :wink:

Écrit par : schlum 19 Sep 2003, 16:33

QUOTE
4) Modifier:
Octet $1970: 35->36
Octet $198B: 05->06

Mhh... 3*16+5=53='5' ...
Très astucieux :wink:

Écrit par : macmagna 19 Sep 2003, 20:40

QUOTE
Mhh... 3*16+5=53='5' ...
Très astucieux
Ouais en fait la première modif concerne le texte affiché dans l'élément de menu et j'ai pas eu à la calculer comme ça puisque dans HexEdit tu peux modifier directement la valeur en ASCII dans la colonne de droite. C'est juste pour le visuel parce que bien sur la vrai modif concerne l'octet $198B qui contient la valeur du tag et donc la valeur en minutes prise en compte par Mail (le fameux "PoolTime" des prefs).

QUOTE
Super, tu crois que tu peux m'envoyer ton fichier modifié, car g pas hexedit.
Comme j'ai tout balancé depuis et que t'as pas indiqué ton email... tu peux trouver HexEdit ici:
http://www.versiontracker.com/dyn/moreinfo/macosx/10658

Écrit par : ali_o_kan 22 Sep 2003, 13:13

Super ca tourne nickel, c'est vraiment géniale, je me demande si ca pourrais pas se retrouver dans le FAQ, car je crois que je n'étais pas le seul a avoir eu se probleme. :wink:

Écrit par : nektarfl 22 Sep 2003, 20:46

QUOTE
Juste une précision :
Les nib qui ne s'ouvrent pas sous IB ne sont pas "lockés", seulement, ils utilisent des objets qui ont été créés par une palette spéciale... Donc pour ouvrir un tel nib sous IB, il faut aussi avoir la palette correspondante.

.

Entièrement d'accord avec toi, mais comme personne n'a relevé, j'en profite pour enfoncer le clou.

Pour leurs applications, ils créent une palette supplémentaire maison qui, si elle n'est pas présente, ne permet pas l'ouverture d'un .nib

Il suffit même parfois d'une palette fantôme pour bloquer l'accès au .nib

Écrit par : manu_t 23 Sep 2003, 22:52

QUOTE
Ca y est! biggrin.gif
1) Regler le temps de relève à 15 mns.
2) Quitter Mail.
3) Ouvrir Mail.app/Contents/Resources/French.lproj/AccountPreferences.nib/objects.nib avec HexEdit
...


On fait comment pour trouver des trucs comme ça ?

A part la magie noire :non: , moi je vois pas d'autre explication.

emmanuel

Écrit par : ali_o_kan 24 Sep 2003, 11:13

Voila le FAQ a été http://forum.macbidouille.com/index.php?showtopic=45044
:wink:

Écrit par : macmagna 24 Sep 2003, 11:33

QUOTE
(astuce faite ?+j pour trouver l'Octet)

C'est quoi?
J'aurais préféré que tu indiques ailleurs (hors de la manip originale) les remarques et variantes que tu as pu trouver la concernant (c'est une pratique courante).

Cela me permet d'éviter de recevoir des messages me demandant ce que j'ai voulu dire par ce passage (auquel je n'ai rien compris) et aussi dégage ma responsabilité (déjà suffisament engagée pour avoir oser un "hack" sur un logiciel Apple) si qqun casse son Mail en appliquant incorrectement ce que tu as voulu dire.

Les manips sont toujours délicates à mettre en oeuvre pour ceux qui ne les ont pas inventées, aussi un maximum de clarté est nécéssaire (surtout quand ça touche à un logiciel aussi important). jap.gif

Écrit par : ali_o_kan 24 Sep 2003, 12:17

pomme+j dans hexEdit ca serre a trouver l'octet
Si tu veux je demande à un modo de retirer cette ligne, si tu veux aussi je de retirer ton nom du post.
C'est comme tu veux :wink:
Désollé je ne voulais pas :wink:

Écrit par : macmagna 24 Sep 2003, 18:43

Non non ça ira, c'est juste pour la prochaine fois biggrin.gif

Écrit par : ali_o_kan 30 Oct 2003, 16:41

Bon avec Panther --> Mise à jour de Mail
Je fut donc de nouveau confronté au pb.
Mais là g trouvé l'octet comme un grand wink.gif
Mail --> ressource --> French.lproj --> GeneralPreferences.nib --> objects.nib
octet : 06BD rempacer 35 par 36 wink.gif

Écrit par : schlum 15 Aug 2006, 22:08

Il semblerait qu'on ne pouvait pas ouvrir les .nib du "French.lproj" car ses sous-fichiers "info.nib" et "classes.nib" n'étaient pas présents...
Il suffit donc de les copier du répertoire "English.lproj", et ensuite on peut ouvrir et éditer sans problème le "GeneralPreferences.nib" et modifier le 5 en 6 ou tout ce qu'on veut (modifier le tag et l'intitulé...) wink.gif

Merci à marc_os qui a mis la puce à l'oreille http://forum.macbidouille.com/index.php?s=&showtopic=182366&view=findpost&p=1830460

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)