Re: [Evolution-hackers] evolution's UI, consistency and codebase
Le jeudi 31 mai 2007 à 07:19 +, Srinivasa Ragavan a écrit : Last point is, why is the mail view headers fixed (like not look like buttons) in 2.10 and not the other views as well (memos, calendars, contacts) In few themes, Ive seen that it looks like a table header, but not in all themes. If you have seen this 2.10, may be with a right theme. Im sure that this should be fixable in widgets/table. I don't think it would right to fix all the other themes for this. Well, speaking with my theme writer hat on, I'm forced to do some matching on ETable class name and so on to get a consistent rendering, compared to TreeView. -- Frederic Crozat [EMAIL PROTECTED] Mandriva ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
Le jeudi 31 mai 2007 à 07:19 +, Srinivasa Ragavan a écrit : On Thu, 2007-05-31 at 00:17 +0200, Gilles Dartiguelongue wrote: First thing that hit me was that it didn't use GtkTreeView and that it doesn't understand _ markup. I think that can be moved to GtkTreeView and shouldn't have a issue. Patches are welcome :). I'll fill a bug and work on a patch. It is not that, it doesn't understand markup. The '_' is there to provide key accelerator in visible UI items, and it isn't stripped of at those places. I don't think that '_' makes any sense in the table/row. Yep, that's what I meant I know evolution has its own ETable widget and that it does thing that evolution needs and gtk+ doesn't provide but why use this widget here ? It is that, we have moved to GtkTreeView to in lots of places and we have list of places where we want to move and don't want to move. Message list is a place where we don't want to move. The why was refering to the Customize View dialog, not the message view. But see next point. The second thing is the Edit button. It is not the same as everywhere I looked in the preferences window, this is bad. This can be fixed. Will fill a bug an provide a patch unless somebody is quicker than me :) Last point is, why is the mail view headers fixed (like not look like buttons) in 2.10 and not the other views as well (memos, calendars, contacts) In few themes, Ive seen that it looks like a table header, but not in all themes. If you have seen this 2.10, may be with a right theme. Im sure that this should be fixable in widgets/table. I don't think it would right to fix all the other themes for this. I've seen that too, but the point was more: Why are the message view headers looking different than every other ETable I can see in evolution ?. I've looked at different themes and it was always different. I'm not an expert in GtkWidget hacking but can't we inherit some properties from regular list headers ? -- Gilles Dartiguelongue [EMAIL PROTECTED] ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
On Thu, 2007-05-31 at 10:24 +0200, Frederic Crozat wrote: Le jeudi 31 mai 2007 à 07:19 +, Srinivasa Ragavan a écrit : Last point is, why is the mail view headers fixed (like not look like buttons) in 2.10 and not the other views as well (memos, calendars, contacts) In few themes, Ive seen that it looks like a table header, but not in all themes. If you have seen this 2.10, may be with a right theme. Im sure that this should be fixable in widgets/table. I don't think it would right to fix all the other themes for this. Well, speaking with my theme writer hat on, I'm forced to do some matching on ETable class name and so on to get a consistent rendering, compared to TreeView. Right. IIRC the New button too had some similar issues, but that was resolved in 2.8.x. -Srini ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
Le jeudi 31 mai 2007 à 08:38 +, Srinivasa Ragavan a écrit : On Thu, 2007-05-31 at 10:24 +0200, Frederic Crozat wrote: Le jeudi 31 mai 2007 à 07:19 +, Srinivasa Ragavan a écrit : Last point is, why is the mail view headers fixed (like not look like buttons) in 2.10 and not the other views as well (memos, calendars, contacts) In few themes, Ive seen that it looks like a table header, but not in all themes. If you have seen this 2.10, may be with a right theme. Im sure that this should be fixable in widgets/table. I don't think it would right to fix all the other themes for this. Well, speaking with my theme writer hat on, I'm forced to do some matching on ETable class name and so on to get a consistent rendering, compared to TreeView. Right. IIRC the New button too had some similar issues, but that was resolved in 2.8.x. Not entirely : EComboButton still need to be treated differently for themes with rounded edges for buttons (like Ia Ora or Galaxy) otherwise the separations between both part of the button looks strange.. -- Frederic Crozat [EMAIL PROTECTED] Mandriva ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
On Thu, 2007-05-31 at 10:36 +0200, Gilles Dartiguelongue wrote: Le jeudi 31 mai 2007 à 07:19 +, Srinivasa Ragavan a écrit : On Thu, 2007-05-31 at 00:17 +0200, Gilles Dartiguelongue wrote: First thing that hit me was that it didn't use GtkTreeView and that it doesn't understand _ markup. I think that can be moved to GtkTreeView and shouldn't have a issue. Patches are welcome :). I'll fill a bug and work on a patch. Cool :-) It is not that, it doesn't understand markup. The '_' is there to provide key accelerator in visible UI items, and it isn't stripped of at those places. I don't think that '_' makes any sense in the table/row. Yep, that's what I meant I know evolution has its own ETable widget and that it does thing that evolution needs and gtk+ doesn't provide but why use this widget here ? It is that, we have moved to GtkTreeView to in lots of places and we have list of places where we want to move and don't want to move. Message list is a place where we don't want to move. The why was refering to the Customize View dialog, not the message view. But see next point. The second thing is the Edit button. It is not the same as everywhere I looked in the preferences window, this is bad. This can be fixed. Will fill a bug an provide a patch unless somebody is quicker than me :) Last point is, why is the mail view headers fixed (like not look like buttons) in 2.10 and not the other views as well (memos, calendars, contacts) In few themes, Ive seen that it looks like a table header, but not in all themes. If you have seen this 2.10, may be with a right theme. Im sure that this should be fixable in widgets/table. I don't think it would right to fix all the other themes for this. I've seen that too, but the point was more: Why are the message view headers looking different than every other ETable I can see in evolution ?. I've looked at different themes and it was always different. I'm not an expert in GtkWidget hacking but can't we inherit some properties from regular list headers ? Different in what sense? I see that message-list is not consistent with GtkTreeview but so as is the other memo/task list. Im sorry, I'm not getting it. -Srini ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
On Thu, 2007-05-31 at 11:19 +0200, Gilles Dartiguelongue wrote: Le jeudi 31 mai 2007 à 08:59 +, Srinivasa Ragavan a écrit : On Thu, 2007-05-31 at 10:36 +0200, Gilles Dartiguelongue wrote: I've seen that too, but the point was more: Why are the message view headers looking different than every other ETable I can see in evolution ?. I've looked at different themes and it was always different. I'm not an expert in GtkWidget hacking but can't we inherit some properties from regular list headers ? Different in what sense? I see that message-list is not consistent with GtkTreeview but so as is the other memo/task list. Im sorry, I'm not getting it. See attachements: - in mail view, even if it's not perfect it looks like a GtkTreeView header - in memo view, the header looks like a button This is even more flagrant with the Glossy theme. Frankly, for me with Industrial, it looks the same in both places. -Srini. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
[Evolution-hackers] Calendar Maintainership
Hi friends, It is with immense pleasure I announce that Christian Kellner joins Chenthill as Calendar Maintainer. He is popularly known as gicmo on IRC. Gicmo is already the maintainer of gnome-vfs. He is the author and the maintainer of evolution-scalix and the CalDAV provider for Evolution. Welcome on board Gicmo !!! -Srini. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Calendar Maintainership
On Thu, 2007-05-31 at 10:32 +, Srinivasa Ragavan wrote: Hi friends, It is with immense pleasure I announce that Christian Kellner joins Chenthill as Calendar Maintainer. He is popularly known as gicmo on IRC. Gicmo is already the maintainer of gnome-vfs. He is the author and the maintainer of evolution-scalix and the CalDAV provider for Evolution. Welcome on board Gicmo !!! Welcome Gicmo !!! I am happy to share my responsibilities with you. Let us discuss and capture our future plans in go-evolution.org. - Chenthill. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] XML APIs in evolution
On Wed, 2007-05-30 at 17:55 +0300, Ross Burton wrote: The need for a cast is part of the (IMHO wrong) design of libxml2, the policy is that the libxml2 API requires UTF-8 strings, so they typedef xmlChar to unsigned char*. Application writers are then meant to run all strings through UTF-8 conversion, or use xmlChar* if they know the string is UTF-8. Ah, I had always wondered what the rationale was for that. Since much (maybe all?) of the XML we're parsing is small configuration files generated by Evolution itself, if we're feeling ambitious it might be worth porting at least some of the parsing bits to the GMarkup API in GLib. GMarkup has more of a SAX interface, where you specify a set of callbacks to be invoked while GLib walks the XML tree for you. The callbacks are for things like encountering the start of an element, the end of an element, character data, etc. Looks like it also has a few functions to help you *generate* XML data as well by properly escaping outgoing character data. And it uses gchar pointers. Matthew Barnes ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
[Evolution-hackers] Introduction and Questions
Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. I know I can attach to the second process, but I think the stuff I need to see happens at startup. So how can I get a debugger on the startup process of the real evolution? I tried to search the archive, but the search function seems broken: it searches everything, even though it says search this list only. Also, evolution seems to have two presences on the web: a web site and a wiki. The developer stuff on the web site is old, and has no pointers to the newer stuff that I could find. It would be good if it did. I have some broader questions too, if anyone has any comments on them. What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). Mission Impossible? Am I likely to get anywhere without spending lots of time? I'm a professional software developer, but I'm not familiar with GNOME, and this is clearly a complex application. Mission Advisable? If I get past the setup hurdles, is evolution likely to be able to handle the mail store I described? How do I find out which of the imap store's code I'm actually using? Thanks. Ross Boylan ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] evolution's UI, consistency and codebase
On Thu, 2007-05-31 at 15:00 +0530, Srinivasa Ragavan wrote: On Thu, 2007-05-31 at 11:19 +0200, Gilles Dartiguelongue wrote: Le jeudi 31 mai 2007 à 08:59 +, Srinivasa Ragavan a écrit : On Thu, 2007-05-31 at 10:36 +0200, Gilles Dartiguelongue wrote: I've seen that too, but the point was more: Why are the message view headers looking different than every other ETable I can see in evolution ?. I've looked at different themes and it was always different. I'm not an expert in GtkWidget hacking but can't we inherit some properties from regular list headers ? Different in what sense? I see that message-list is not consistent with GtkTreeview but so as is the other memo/task list. Im sorry, I'm not getting it. See attachements: - in mail view, even if it's not perfect it looks like a GtkTreeView header - in memo view, the header looks like a button This is even more flagrant with the Glossy theme. Frankly, for me with Industrial, it looks the same in both places. For me, it looks like Gilles. I have a clearlooks-based theme. I'd guess it's engine related? Daniel ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
Hi, On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. Hmm, doesn't it give you a point to do 'bt' to get the traces? I know I can attach to the second process, but I think the stuff I need to see happens at startup. So how can I get a debugger on the startup process of the real evolution? I tried to search the archive, but the search function seems broken: it searches everything, even though it says search this list only. Also, evolution seems to have two presences on the web: a web site and a wiki. The developer stuff on the web site is old, and has no pointers to the newer stuff that I could find. It would be good if it did. We are in the process of revamping the wiki with more relevant in information. We would also rebuild the site with latest informations. But that would take a while. I have some broader questions too, if anyone has any comments on them. What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). I would prefer, if you can try it with Evolution 2.10.2. It is the most recent stable release. -Srini. Mission Impossible? Am I likely to get anywhere without spending lots of time? I'm a professional software developer, but I'm not familiar with GNOME, and this is clearly a complex application. Mission Advisable? If I get past the setup hurdles, is evolution likely to be able to handle the mail store I described? How do I find out which of the imap store's code I'm actually using? Thanks. Ross Boylan ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). the largest INBOX I've ever used was about ~100,000 messages, so you may get to have some fun :) None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. are they in different namespaces? Current evo IMAP provider doesn't handle multiple namespaces :( My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. sounds like you already had an instance of Evolution running (on another virtual desktop perhaps?) Evolution only allows one instance of itself to be running for the same user account... if you try to start a second instance, it signals the original instance to open a new window and then exits. I know I can attach to the second process, but I think the stuff I need to see happens at startup. So how can I get a debugger on the startup process of the real evolution? should just be able to do gdb evolution (Note: I haven't debugged evolution in over a year since I've moved onto other projects, but that's how I always debugged it) I tried to search the archive, but the search function seems broken: it searches everything, even though it says search this list only. Also, evolution seems to have two presences on the web: a web site and a wiki. The developer stuff on the web site is old, and has no pointers to the newer stuff that I could find. It would be good if it did. I have some broader questions too, if anyone has any comments on them. What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). probably best to start with 2.10(.2) (or svn if you are brave) so as to avoid spending time fixing things that have already been fixed. Mission Impossible? Am I likely to get anywhere without spending lots of time? I guess the answer to this is all relative... :) I'm a professional software developer, but I'm not familiar with GNOME, and this is clearly a complex application. Mission Advisable? If I get past the setup hurdles, is evolution likely to be able to handle the mail store I described? I think it'll be possible, there's lots of improvement that can be made to the current imap code :) How do I find out which of the imap store's code I'm actually using? you are probably using the provider in evolution-data-server/camel/providers/imap - imap4 is a project I started to replace the current imap provider and works fairly ok, but isn't quite complete (I forget all what it is missing since it's been a few years since I actively hacked on it - I think the main thing is cached search results?). This provider, like the current imap backend, suffers from being synchronous, but it is far better designed and much cleaner code to read. This backend also supports multiplenamespaces (tho it'd be better if the Camel API included multiple-namespace support, the way it works in imap4 is because all folders are listed from a toplevel namespace rather than from individual namespaces like it should). - imapp is an old attempt at making a pipelined imap provider, tho it is basically a dead-end at this point. - imapx is yet another attempt at replacing the current imap backend but depends on a lot of unfinished stuff in a development branch that has been abandoned for about 2 years now I think (the guy that had been working on that quit) Jeff ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 23:14 +0530, Srinivasa Ragavan wrote: Hi, On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. Hmm, doesn't it give you a point to do 'bt' to get the traces? I don't think there's anything to trace, since the action is happening in another process. When I begin I am at the gdb command line. I was able to insert a breakpoint at what seemed like a good spot (this was a future breakpoint, since the relevant library hadn't loaded). Then when I did 'run' the GUI came up, and the program I was debugging exited. There was no error, and I didn't hit the breakpoint, so I don't think bt would be meaningful. Or perhaps I'm misunderstanding and it is only one thread that has exited. But I see in main.c a lot of IDL code, and I know GNOME apps are supposed to be able to discover if they've already launched. I guessed (mostly by analogy with MS COM) that the initial program simply requests a service, and that is either conveyed to an existing instance of the app or a new instance is created. I know I can attach to the second process, but I think the stuff I need to see happens at startup. So how can I get a debugger on the startup process of the real evolution? -- Ross Boylan wk: (415) 514-8146 185 Berry St #5700 [EMAIL PROTECTED] Dept of Epidemiology and Biostatistics fax: (415) 514-8150 University of California, San Francisco San Francisco, CA 94107-1739 hm: (415) 550-1062 ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 14:10 -0400, Jeffrey Stedfast wrote: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). the largest INBOX I've ever used was about ~100,000 messages, so you may get to have some fun :) None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. are they in different namespaces? Current evo IMAP provider doesn't handle multiple namespaces :( Single namespace. It's all INBOX.folder.subfolder. The one wrinkle is that in some cases 'folder' exists in the namespace, but is not an actual box or folder (whatever the right term is) on the server: INBOX.folder.subfolder is a real folder; INBOX.folder is not. My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. sounds like you already had an instance of Evolution running (on another virtual desktop perhaps?) I'm pretty sure I shut everything down. Hmm, I just tried again and this time I'm still in the debugger. There was another instance of evolution running, but for a different user. That instance is in a funny state, because it is not visible in the other user's screen. Running under KDE in all cases. Mission Advisable? If I get past the setup hurdles, is evolution likely to be able to handle the mail store I described? I think it'll be possible, there's lots of improvement that can be made to the current imap code :) I'm hoping it will be tolerable without improvements :) I think one of the main factors will be whether evo tries to get all the headers from each folder it operates on. Even if it does, if it only does it once and is otherwise responsive I'll be doing better than what I have now. At work, I think my biggest folder has about 85k messages, and evo is working fine. How do I find out which of the imap store's code I'm actually using? you are probably using the provider in evolution-data-server/camel/providers/imap Is the other not loaded, or does it depend on which option I picked for the server (I said IMAP4rev1). Thanks to everyone for the quick replies. Not having a functional email client is a big problem. I used to archive off my mail when it got to be too much. I thought it would be more convenient to have it consolidated under IMAP since, as a practical matter, once I archived the stuff it became invisible. So far, it's not so convenient! So far, I have tried evolution kmail (using it for now) thunderbird/icedove mulberry Apple's mail app claws mutt -- Ross Boylan wk: (415) 514-8146 185 Berry St #5700 [EMAIL PROTECTED] Dept of Epidemiology and Biostatistics fax: (415) 514-8150 University of California, San Francisco San Francisco, CA 94107-1739 hm: (415) 550-1062 ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 14:10 -0400, Jeffrey Stedfast wrote: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). the largest INBOX I've ever used was about ~100,000 messages, so you may get to have some fun :) None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. are they in different namespaces? Current evo IMAP provider doesn't handle multiple namespaces :( Maybe it's time to plan this on the wiki ? My narrow question is how to debug evolution. When I launched evolution in gdb evolution (the GUI) came up, and then the debugger told me the process had exited (though the GUI was up and running). I believe the initial process does some kind of activation of the real process and then exits. sounds like you already had an instance of Evolution running (on another virtual desktop perhaps?) Evolution only allows one instance of itself to be running for the same user account... if you try to start a second instance, it signals the original instance to open a new window and then exits. I know I can attach to the second process, but I think the stuff I need to see happens at startup. So how can I get a debugger on the startup process of the real evolution? should just be able to do gdb evolution This is one of the reasons we independent instances across mail, calendar, contacts, etc would be good. Easier debugging, isolation of problems, performance tune up, all by component in a far easier way, IMHO. (Note: I haven't debugged evolution in over a year since I've moved onto other projects, but that's how I always debugged it) I tried to search the archive, but the search function seems broken: it searches everything, even though it says search this list only. Also, evolution seems to have two presences on the web: a web site and a wiki. The developer stuff on the web site is old, and has no pointers to the newer stuff that I could find. It would be good if it did. I have some broader questions too, if anyone has any comments on them. What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). probably best to start with 2.10(.2) (or svn if you are brave) so as to avoid spending time fixing things that have already been fixed. Mission Impossible? Am I likely to get anywhere without spending lots of time? I guess the answer to this is all relative... :) I'm a professional software developer, but I'm not familiar with GNOME, and this is clearly a complex application. Mission Advisable? If I get past the setup hurdles, is evolution likely to be able to handle the mail store I described? I think it'll be possible, there's lots of improvement that can be made to the current imap code :) How do I find out which of the imap store's code I'm actually using? you are probably using the provider in evolution-data-server/camel/providers/imap - imap4 is a project I started to replace the current imap provider and works fairly ok, but isn't quite complete (I forget all what it is missing since it's been a few years since I actively hacked on it - I think the main thing is cached search results?). This provider, like the current imap backend, suffers from being synchronous, but it is far better designed and much cleaner code to read. This backend also supports multiplenamespaces (tho it'd be better if the Camel API included multiple-namespace support, the way it works in imap4 is because all folders are listed from a toplevel namespace rather than from individual namespaces like it should). - imapp is an old attempt at making a pipelined imap provider, tho it is basically a dead-end at this point. - imapx is yet another attempt at replacing the current imap backend but depends on a lot of unfinished stuff in a development branch
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 23:14 +0530, Srinivasa Ragavan wrote: [Ross] What version to start with? I would prefer, if you can try it with Evolution 2.10.2. It is the most recent stable release. Is EVOLUTION_DATA_SERVER_1_10_2 the corresponding tag to use for evolution-data-server? -- Ross Boylan wk: (415) 514-8146 185 Berry St #5700 [EMAIL PROTECTED] Dept of Epidemiology and Biostatistics fax: (415) 514-8150 University of California, San Francisco San Francisco, CA 94107-1739 hm: (415) 550-1062 ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 12:22 -0700, Ross Boylan wrote: On Thu, 2007-05-31 at 23:14 +0530, Srinivasa Ragavan wrote: [Ross] What version to start with? I would prefer, if you can try it with Evolution 2.10.2. It is the most recent stable release. Is EVOLUTION_DATA_SERVER_1_10_2 the corresponding tag to use for evolution-data-server? Yes. You are right. -Srini. ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). FYI, Debian Unstable has Evolution 2.10. Might be easier to grab at least the 2.10 dependencies from there. You'll need to upgrade gtkhtml and likely also your GTK+ library stack to get 2.10 to build. Matthew Barnes ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 13:38 -0700, Ross Boylan wrote: On Thu, 2007-05-31 at 16:10 -0400, Matthew Barnes wrote: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). FYI, Debian Unstable has Evolution 2.10. Might be easier to grab at least the 2.10 dependencies from there. You'll need to upgrade gtkhtml and likely also your GTK+ library stack to get 2.10 to build. Matthew Barnes If I update GTK+ is that going to break other apps that use that library? no, gtk maintains binary compat with older versions of the same major revision (2.x in this case) Jeff ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 11:38 -0700, Ross Boylan wrote: On Thu, 2007-05-31 at 14:10 -0400, Jeffrey Stedfast wrote: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: Hi. I've been getting into the code of evolution recently, and am thinking of doing a bit more to see if I can get it working OK for my situation. I have an IMAP mailbox which is very large, both in terms of folders (over 100) and messages (the largest folder has 300,000 messages; my INBOX has about 22,000). the largest INBOX I've ever used was about ~100,000 messages, so you may get to have some fun :) None of the email clients I've tried cope with this very well. Since I've been using evo at work in a similar setup (cyrus server, though not quite as big), I thought it might be the best to try to tweak. The problems I've had so far involve setup activities rather than core functionaility. First, evolution couldn't create the account (solved); second I've had problems getting it to show all of my subfolders. are they in different namespaces? Current evo IMAP provider doesn't handle multiple namespaces :( Single namespace. It's all INBOX.folder.subfolder. The one wrinkle is that in some cases 'folder' exists in the namespace, but is not an actual box or folder (whatever the right term is) on the server: INBOX.folder.subfolder is a real folder; INBOX.folder is not. I guess just a bug [snip] How do I find out which of the imap store's code I'm actually using? you are probably using the provider in evolution-data-server/camel/providers/imap Is the other not loaded, or does it depend on which option I picked for the server (I said IMAP4rev1). ah, in that case you chose imap4 and not imap the imap provider is simply named IMAP in the drop-down menu in the account editor. Jeff ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
2007/5/31, Matthew Barnes [EMAIL PROTECTED]: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). FYI, Debian Unstable has Evolution 2.10. Might be easier to grab at least the 2.10 dependencies from there. You'll need to upgrade gtkhtml and likely also your GTK+ library stack to get 2.10 to build. In case you're on a Debian-based distribution and not pulling from svn, I would recommend using pre-built packages, or even building the packages yourself. 2.10.2 is in the archive, and I will do 2.11.2 this weekend. For my own development setup I use the 2.10.x packages plus custom build from svn for the module I'm hacking on. e-d-s for example, I install to /opt/evolution-data-server. Then I can start development e-d-s with 'LD_LIBRARY_PATH=/opt/evolution-data-server/lib /opt/evolution-data-server/libexec/evolution-data-server-1.12' and can also start the stable e-d-s with '/usr/lib/evolution/evolution-data-server-1.10' Cheers, Øystein ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 23:20 +0200, Øystein Gisnås wrote: 2007/5/31, Matthew Barnes [EMAIL PROTECTED]: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). FYI, Debian Unstable has Evolution 2.10. Might be easier to grab at least the 2.10 dependencies from there. You'll need to upgrade gtkhtml and likely also your GTK+ library stack to get 2.10 to build. In case you're on a Debian-based distribution Yes; straight Debian. and not pulling from svn, I would recommend using pre-built packages, or even building the packages yourself. 2.10.2 is in the archive, and I will do 2.11.2 this weekend. Terrific. Is unstable the place to look, or experimental, or somewhere else? For my own development setup I use the 2.10.x packages plus custom build from svn for the module I'm hacking on. e-d-s for example, I install to /opt/evolution-data-server. Then I can start development e-d-s with 'LD_LIBRARY_PATH=/opt/evolution-data-server/lib /opt/evolution-data-server/libexec/evolution-data-server-1.12' and can also start the stable e-d-s with '/usr/lib/evolution/evolution-data-server-1.10' That's a great tip. I built evo from Debian source (with one fix) and it took 45 minutes. I clearly need a shorter route to trying out changes. Thanks for packing evo, and for making the -dbg files available. Ross -- Ross Boylan wk: (415) 514-8146 185 Berry St #5700 [EMAIL PROTECTED] Dept of Epidemiology and Biostatistics fax: (415) 514-8150 University of California, San Francisco San Francisco, CA 94107-1739 hm: (415) 550-1062 ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
On Thu, 2007-05-31 at 14:22 -0700, Ross Boylan wrote: That sounds as if no upgrade of other apps would be forced. Or did you mean the stuff the evolution and gtk+ depends on would all need to go to newer versions? That's probably a lot of stuff, but it's not so bad. Hard to predict. You can always cancel apt-get. :) Is there somewhere that has a useful introduction to bonobo-activation-server and related machinery? The references from http://developer.gnome.org/doc/guides/platform-overview/platform-overview.html#bonobo-corba? None of those look very friendly. Not to my knowledge. Bonobo itself isn't very friendly, and is on its way out. Matthew Barnes ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Introduction and Questions
2007/5/31, Ross Boylan [EMAIL PROTECTED]: On Thu, 2007-05-31 at 23:20 +0200, Øystein Gisnås wrote: 2007/5/31, Matthew Barnes [EMAIL PROTECTED]: On Thu, 2007-05-31 at 07:58 -0700, Ross Boylan wrote: What version to start with? I'm on Debian GNU/Linux, which currently has evo 2.6. I notice that's a bit dated (although I did see that a few months ago some of the Debian packagers were interested in making a more recent version). I've been working from the Debian version. Does that version, the last stable release (from evo, not Debian), or svn head make the most sense to work from? (BTW, the one bug I fixed was one that was already fixed post-2.6). FYI, Debian Unstable has Evolution 2.10. Might be easier to grab at least the 2.10 dependencies from there. You'll need to upgrade gtkhtml and likely also your GTK+ library stack to get 2.10 to build. In case you're on a Debian-based distribution Yes; straight Debian. and not pulling from svn, I would recommend using pre-built packages, or even building the packages yourself. 2.10.2 is in the archive, and I will do 2.11.2 this weekend. Terrific. Is unstable the place to look, or experimental, or somewhere else? 2.11.2 will end up in pkg-evolution's svn for sure. If we upload binary packages, they will go to experimental. For my own development setup I use the 2.10.x packages plus custom build from svn for the module I'm hacking on. e-d-s for example, I install to /opt/evolution-data-server. Then I can start development e-d-s with 'LD_LIBRARY_PATH=/opt/evolution-data-server/lib /opt/evolution-data-server/libexec/evolution-data-server-1.12' and can also start the stable e-d-s with '/usr/lib/evolution/evolution-data-server-1.10' That's a great tip. I built evo from Debian source (with one fix) and it took 45 minutes. I clearly need a shorter route to trying out changes. I don't think you get around the initial build; you can feature strip it to reduce the time. Once you've built it. make will figure out what has to be rebuilt. A make make install when I edit files in only one directory takes about 5 seconds on my system.. Thanks for packing evo, and for making the -dbg files available. You're welcome. Don't hesitate with questions on how you can use packages or package scripts in your development setup.. Cheers, Øystein ___ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers