All pastes #68432 Raw Edit

kikidonk

public text v1 · immutable
#68432 ·published 2006-06-21 16:45 UTC
rendered paste body
Cohoba is a set of 'modules' working together around three perspectives:* Mission Control (needs review)	- Connectivity checks (net-monitor)   - Ensure that the connection are closed gracefully on sleep, shutdown, etc (power-manager sleep, hibernate,)   - The mission Control must answer these questions:		* What telepathy connections are open?		* Sign on/off to all accounts/account x for me		* Get me a text/voice/video channel with person X	- It must also know where to retreive all setup accounts settings (ie. gnome-keyring, gconf, file,..)	- It must handle incoming requests (incoming text channel, video channel,..)	- It must handle conflicts (receiving two phone calls, using the camera with one active conversation, and a new one is incoming)	- Preferred applications capplet can be modified to indicate preferred chat/video/voice	  channel handlers that will be activated by the mission control.		This leads to modify dbus' .service files to include a mechanism to associate services with		an interface they provide, and linking to .desktop files, so one could parse the services and get		a meaningful description of programs capable of handling dbus interface x. For example:		liferea.service:		  Service=RssReader.liferea		  Executable=/usr/bin/liferea		  Desktop=/usr/share/applications/liferea.desktop		  Interfaces=RssReader		This would also benefit epiphany for example where we can't use dbus-activation because we don't know		which rss reader is present on the system.	- To be defined:		The DBUS API of the mission control		A capplet to setup accounts (possibly in about-me)		A capplet to choose preferred channel handlers (possibly in preferred application capplet)		A new library or a modification of libgnomedesktop or libdbus-glib, that allows to		read dbus .service files, create a list of all applications capable of handling dbus interface X.   * Own PresenceThis module should be able to: - Set the user presence (away, busy, invisible, ...) - Set the user presence message, nickname - Set the avatar (probably drag and drop and full-fledged file browser)		Grab default avatar from the about-me icon - Integrate with software implying presence change: 		screensaver 		X mouse/keyboard activity 		meetings in e-d-s - Three ways of presenting this module: 	=Take the form of a dialog (capplet) 	=an applet with dropdown textarea 	=integrated in the contact list -Wild ideas: - Setup the answer machine handled by mission control ?  * Contact list/Others Presence - Present a view of people (galago ?) - Each person has several actions (emai, talk, voice, video, sms) depending on contact state 'online/offline' - Contact management, add/remove/block/unblock - Contact management: 		*People can be tagged 		*Groups are defined as a set of tags, they contain people that have all the tags 		*Groups are recursive, if they match the tags too: 		  Ex: Group[A] will contain Group[A,B] - Concept of Virtual groups: 	=favorites: Contacts always appearing at toplevel along with toplevel groups	=recently-used: Special group containing the most recently talked-to people	=most-used, etc, etc	 - 3 flavors of applet:   - The main applet, has a menu with groups, contacts and options   - The Group applet, presents a menu with the contacts in that group       and options relative to the group   - The Contact applet, presents a menu with actions on that contact       and options relative to the contact