Hello everyone here,
I hope it's the right place to send this, I was recommended to do so on the #e irc. So, I already have used the mail module in the past and I remember it used to display the number of new (unread) e-mails of my mailbox, using pop3. This seems quite expected. I would be really surprised if I'm wrong about this. Yesterday I tried it again but this time instead of displaying the number of unread e-mails, it displays the total number of e-mails. Which I find weird (is it really the purpose of the mail module ?). So I checked the source code here : http://trac.enlightenment.org/e/browser … A/mail/src <http://trac.enlightenment.org/e/browser/trunk/E-MODULES-EXTRA/mail/src> and noticed that there is a field called num_new that is used... and because of its name, and because of the way it is used, I think it is intended to get the number of new messages. For instance, in e_mod_main.c : Code: 649 void 650 _mail_set_text (void *data) 651 { 652 Instance *inst = data; 653 Eina_List *l; 654 char buf[1024]; 655 int count = 0; 656 657 if (!inst) 658 return; 659 660 for (l = inst->ci->boxes; l; l = l->next) 661 { 662 Config_Box *cb; 663 664 cb = l->data; 665 if (!cb) 666 continue; 667 count += cb->num_new; 668 } 669 670 if (count > 0) 671 { ... The loop seems to count the sum of all new messages of the different mailboxes. In pop.c : Code: static void 215 _mail_cb_mouse_down (void *data, Evas * e, Evas_Object * obj, 216 void *event_info) 217 { ... 254 snprintf (buf, sizeof (buf), "%s: %d/%d", cb->name, cb->num_new, 255 cb->num_total); ... this seems to be the code what displays the small pop-up with name of the mailbox, plus number of new messages and number of all messages (that can be expected to be usually different). Then here in pop.c : Code: 156 static int 157 _mail_pop_server_data (void *data, int type, void *event) 158 { ... 203 case POP_STATE_STATUS_OK: 204 if (sscanf (in, "+OK %i %i", &num, &total) == 2) 205 { 206 pc->config->num_new = num; 207 pc->config->num_total = num; 208 } Here the data received from the pop3 server are "scanned" and weirdly, both fields num_new and num_total get the same value (num). Then I read the pop3 rfc (http://www.ietf.org/rfc/rfc1939.txt) and unfortunately it seems NOT to be possible to retrieve directly the number of new e-mails from the pop3 server. The sscanf (in, "+OK %i %i", &num, &total) actually gives the total number of e-mails to &num and the size of the mailbox to &total. So num_new gets the total number of e-mails and it's no surprise that the mail module displays this number instead of the number of new messages. So I am a bit confused. I am quite sure it used to work. Is there still a way to bring the mail module to display the number of new e-mails (using pop3) ? Or am I totally wrong and it is not intended to do so ?? I hope I didn't bother you with a scilly question, but I couldn't find an answer to it anywhere else so far. I wish you a nice day, Nicolas Hainaux ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
