In summary, 'contacts list' incorporated on the 'mail' page worked ok with a slightly modified 0.8-SVN.
The sample code in the 0.8-SVN with the contacts list on the 'compose' page was a great help. I was able to move the contacts list onto the 'mail' page by doing the following:
('rcmail_adressbook_list' and 'rcmail_contacts_list') from 'program/steps/mail/compose.inc' to 'program/steps/mail/func.inc' (incidentally for various reasons I think it would be easier if mail/func.inc was actually mail/mail.inc, etc - it would reduce the challenge of making Roundcube less 'modal' a bit anyway)
compose.inc to func.inc
from the "if (this.env.action == 'compose').." section into the main "switch (this.task) { case 'mail': .." section. The contactslist code can still be bracketed with an "if (this.gui_objects.contactslist).." condition so it is only executed when a contact list is present on the page (as opposed to using the "if action=compose" type condition which limits it to the compose page...
So I've had some success with the contacts list on the left of the main mail page - BIG thanks to Thomas for the platform and the support. If you're interested (I assume not ) there's a screenshot on the first mail of the thread a couple of days ago on this topic of what a 'contact-centric' email client based on Roundcube could actually look like.
Ian
List info: http://lists.roundcube.net/dev/ BT/aba52c80