Well, that's how it was but I found it so annoying, I mean, you had to do a "if [string match [EMAIL PROTECTED] gmail_check else pop3_check" .. and the plugin is named "pop3" while thi is nowhere near being pop3... Also note that many users complain that they don't know what to put in the settings for gmail accounts, and that's simply because when checking gmail it ignores the server hostname, and the port, and other settings like that get completey ignored.. + pop3 plugin allows you to delete your emailswhile you can't with gmail.. my initial idea was to improve pop3 plugin but there were SO many differences that I just thought it was too stupid to have all these if/else, the two plugins are so different that it doesn't make any sense to have them in a single plugin (yes, it does look the same for the user, but for the code, it's SO not the same...). Also note that with gnotify, this is a clean code that is gmail specific, where you can see attachments, see what user labels are set on a mail, see which emails are starred, see if it's a multithreaded conversation, how many threads, who wrote in the conversation, who initiated the thread, from the list of participants who has all his mails read and who has unread mails in the thread list, etc... it would make no sense to add that to pop3 plugin, or it would be a waste to ignore all those useful information just because it's not "pop3" compatible..
KaKaRoTo On Fri, Dec 15, 2006 at 05:54:06PM +0100, Karel Demeyer wrote: > BTW: why isn't the gnotify plugin incorporated in the pop-plugin ? Why > isn't it just 1 "mail plugin" ? gmail could still use it's own > protocol/pixmaps ... ? > > > Karel. > > Op donderdag 14-12-2006 om 10:26 uur [tijdzone +0100], schreef Karel > Demeyer: > > I think this whole protocol is already reverse-engeneerd, or mayeb > > google even publishes it ? THe last might not be true .. but you could > > find a whole lotta information with ... google, no ? > > > > e.g.: > > http://www.johnvey.com/features/gmailapi/ ? > > > > Karel. > > > > > > Op donderdag 14-12-2006 om 01:46 uur [tijdzone -0500], schreef Youness > > Alaoui: > > > Hello, > > > I updated this wiki page with more accurate information about > > > the GData (I named it like that :D) format : > > > http://www.amsn-project.net/wiki/index.php/Gmail > > > If someone is ready to take on the challenge of finding out how the > > > timestamp is written, please do so, it > > > would be nice to have that information ready for when I finish my > > > exams... It's really easy, I just don't have > > > much time for it right now... > > > Also, I'd like to know how you'd like me to implement the 'tell me' > > > functionality of the plugin... should I show > > > a popup window with that information (like the official google notifier), > > > or should I rather show a window with > > > a listbox of all new emails and the user clicks on the email to see more > > > information... > > > I would go with the notify (more userfriendly) but I'm afraid I won't be > > > able to give the full functionality to > > > the users (like seeing who initiated a conversation, what the labels are, > > > attachments, etc... ) easily... > > > I will also need to have a up/down buttons on the notify window so a user > > > can view the mail info one by one.. > > > Any suggestions ? someone wants to implement the notify winodw ? Tom > > > perhaps? I know you love to play with > > > canvas (and I have near zero knowledge of how canvas work...) > > > > > > Thanks, > > > KaKaRoTo > > > > > > ----- Forwarded message from [EMAIL PROTECTED] ----- > > > > > > From: [EMAIL PROTECTED] > > > To: [EMAIL PROTECTED] > > > Subject: [Amsn-commits] SF.net SVN: amsn: [7657] > > > trunk/amsn-extras/plugins/gnotify > > > > > > Revision: 7657 > > > http://svn.sourceforge.net/amsn/?rev=7657&view=rev > > > Author: kakaroto > > > Date: 2006-12-13 22:39:46 -0800 (Wed, 13 Dec 2006) > > > > > > Log Message: > > > ----------- > > > Updated with some comments and taking into account the 'new' and > > > 'initiator' keys of an unread mail author information. > > > Also fixed the timestamp parsing which is two separate keys with values > > > instead of a single 16 bytes header. > > > http://www.amsn-project.net/wiki/index.php/Gmail > > > > > > Modified Paths: > > > -------------- > > > trunk/amsn-extras/plugins/gnotify/gnotify.tcl > > > > > > Property Changed: > > > ---------------- > > > trunk/amsn-extras/plugins/gnotify/ > > > > > > > > > Property changes on: trunk/amsn-extras/plugins/gnotify > > > ___________________________________________________________________ > > > Name: svn:ignore > > > + * > > > > > > > > > Modified: trunk/amsn-extras/plugins/gnotify/gnotify.tcl > > > =================================================================== > > > --- trunk/amsn-extras/plugins/gnotify/gnotify.tcl 2006-12-13 21:17:15 UTC > > > (rev 7656) > > > +++ trunk/amsn-extras/plugins/gnotify/gnotify.tcl 2006-12-14 06:39:46 UTC > > > (rev 7657) > > > @@ -7,6 +7,8 @@ > > > ################################################################### > > > > > > > > > +# For more information on the format and protocol read this article : > > > +# http://www.amsn-project.net/wiki/index.php/Gmail > > > namespace eval ::gnotify { > > > variable config > > > variable configlist > > > @@ -404,13 +406,14 @@ > > > puts "$att " > > > } > > > } > > > - # if {[llength $mail(tags)] > 0 } { > > > - # puts -nonewline "tags : " > > > - # foreach tag $mail(tags) { > > > - # puts -nonewline "$tag, " > > > - # } > > > - # } > > > + if {[llength $mail(tags)] > 0 } { > > > + puts -nonewline "tags : " > > > + foreach tag $mail(tags) { > > > + puts -nonewline "$tag, " > > > + } > > > + } > > > puts "" > > > + #puts "Timestamp : $mail(timestamp)" > > > } > > > } > > > } > > > @@ -634,28 +637,37 @@ > > > > > > set start $data(offset) > > > set end [expr {$start + $size}] > > > - set info(author) [list email "" nick ""] > > > + set info(author) [list errors 0 email "" nick ""] > > > + set info(new) 0 > > > + set info(initiator) 0 > > > set info(errors) 0 > > > > > > while {$data(offset) < $end } { > > > set key [ReadKey data] > > > switch -- $key { > > > 10 { > > > + # 0x0A Author info > > > set size [ReadSize data] > > > set offset $data(offset) > > > set info(author) [GetMailAuthor2 data > > > $size] > > > set data(offset) [expr {$offset + > > > $size}] > > > } > > > - 16 { > > > - # unknown > > > - GetMultiByte $var > > > + 16 { > > > + # 0x10 Has unread mail > > > + # This key specifies whether an email > > > of this author in the thread is unread > > > + if { [GetMultiByte $var] == 1} { > > > + set info(new) 1 > > > + } > > > } > > > 24 { > > > - # unknown > > > - GetMultiByte $var > > > + # 0x18 Thread Initiator > > > + # This key specifies whether this user > > > is the one who started the thread > > > + if { [GetMultiByte $var] == 1} { > > > + set info(initiator) 1 > > > + } > > > } > > > default { > > > - puts "Unknown author key : $key" > > > + puts "Unknown author ($info(author)) > > > key : $key" > > > incr info(errors) > > > } > > > } > > > @@ -678,11 +690,13 @@ > > > set key [ReadKey data] > > > switch -- $key { > > > 10 { > > > + # 0x0A Email > > > set size [ReadSize data] > > > set email [DecodeString [GetBytes data > > > $size]] > > > set info(email) $email > > > } > > > 18 { > > > + # 0x12 Name > > > set size [ReadSize data] > > > set nick [DecodeString [GetBytes data > > > $size]] > > > set info(nick) $nick > > > @@ -702,9 +716,9 @@ > > > > > > set start $data(offset) > > > set end [expr {$start + $size}] > > > - set timestamp_size [GetMultiByte $var] > > > > > > - set info(timestamp) [GetBytes data $timestamp_size] > > > + set info(timestamp) "" > > > + set info(timestamp2) "" > > > set info(attachments) [list] > > > set info(tags) [list] > > > set info(authors) [list] > > > @@ -713,41 +727,59 @@ > > > set info(threads) 1 > > > set info(errors) 0 > > > > > > + > > > + > > > while {$data(offset) < $end } { > > > set key [ReadKey data] > > > switch -- $key { > > > + 16 { > > > + # 0x10 unknown / timestamp > > > + #puts "Unknown mail key 16 has value : > > > [GetMultiByte $var]" > > > + set info(timestamp) [GetMultiByte $var] > > > + } > > > + 24 { > > > + # 0x18 unknown / timestamp > > > + #puts "Unknown mail key 24 has value : > > > [GetMultiByte $var]" > > > + set info(timestamp2) [GetMultiByte > > > $var] > > > + } > > > 130 { > > > + # 0x82 Tag > > > set size [ReadSize data] > > > set tag [GetBytes data $size] > > > lappend info(tags) $tag > > > } > > > 146 { > > > - # from > > > + # 0x92 from > > > set size [ReadSize data] > > > set offset $data(offset) > > > lappend info(authors) [GetMailAuthor > > > data $size] > > > set data(offset) [expr {$offset + > > > $size}] > > > } > > > 152 { > > > - # unknown > > > + # 0x98 unknown > > > + #puts "Unknown mail key 152 has value : > > > [GetMultiByte $var]" > > > GetMultiByte $var > > > } > > > 162 { > > > + # 0xA2 Subject > > > set size [ReadSize data] > > > set subject [DecodeString [GetBytes > > > data $size]] > > > set info(subject) $subject > > > } > > > 170 { > > > + # 0xAA Body preview > > > set size [ReadSize data] > > > set body [DecodeString [GetBytes data > > > $size]] > > > set info(body) $body > > > } > > > 178 { > > > + # 0xB2 Attachment > > > set size [ReadSize data] > > > set attachment [DecodeString [GetBytes > > > data $size]] > > > lappend info(attachments) $attachment > > > } > > > 184 { > > > + # 0xB8 Number of threads > > > set info(threads) [GetMultiByte data] > > > } > > > default { > > > @@ -760,6 +792,8 @@ > > > > > > } > > > > > > + # For more information on the format and protocol read this article : > > > + # http://www.amsn-project.net/wiki/index.php/Gmail > > > proc parseGData { data_bin } { > > > set data(bin) $data_bin > > > set data(len) [string length $data_bin] > > > @@ -774,12 +808,14 @@ > > > set key [ReadKey data] > > > switch -- $key { > > > 10 { > > > + # 0x0A New mail Key > > > set size [ReadSize data] > > > set offset $data(offset) > > > lappend info(mails) [GetNewMail data > > > $size] > > > set data(offset) [expr {$offset + > > > $size}] > > > } > > > 136 { > > > + # 0x88 Number of mails Key > > > set info(nb_mails) [GetMultiByte data] > > > } > > > default { > > > > > > > > > This was sent by the SourceForge.net collaborative development platform, > > > the world's largest Open Source development site. > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share > > > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > Amsn-commits mailing list > > > [EMAIL PROTECTED] > > > https://lists.sourceforge.net/lists/listinfo/amsn-commits > > > > > > ----- End forwarded message ----- > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share > > > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > Amsn-devel mailing list > > > Amsn-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/amsn-devel > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys - and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Amsn-devel mailing list > > Amsn-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/amsn-devel > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Amsn-devel mailing list > Amsn-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/amsn-devel ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Amsn-devel mailing list Amsn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amsn-devel