KTp/Tasks/NonGlobalPresence
Non-Global Presence
Currently if an account is online and another is 'busy' or even offline everything breaks. I want things not to be broken.
The situation
A user has two accounts, a personal account and a work account. When at work they want to be marked as online on their work account, and "busy" on their personal account. When at home they want to be online on their personal account, and offline on their work account.
Another user has 5 different accounts on many protocols and wants to easily set all of them to either "online" or "busy" to represent their current state.
It is important a user knows at any moment how they appear to others.
What's broken
We don't know how to show these presences in a different state whilst keeping it easy to modify all the accounts, so (also due to a code problem in a different module) simply disabled the possibility to have accounts in different state. This stops us moving forwards.
The presence plasmoid
This only shows global presence and has a menu for changing presence in all accounts.
The contact list?
This initially only shows and controls global presence in a dropdown, but a mouseover tooltip will show the state of each account.
Auto Away plugins brings in extra complexity, as we are automatically putting the user to away if they're online or busy and the computer is inactive after N minutes. However this can be fixed with code.
Currently we have a concept of "Global Presence" which changes all accounts, and shows the highest currently online presence.
Tasks
We need to:
- Fix the kded to work on an individual account basis.
- Work out how to display "your accounts are all over the place" in the presence-plasmoid etc.
- Work out how to set different accounts from the different interfaces?
- Code it
Ideas
drdanz: We could add an icon user-mixed (something like ). The global presence will return this icon if not all the accounts have the same presence When we have presence based on activity we can return the activity icon instead (perhaps with some overlay, otherwise the user won't understand what is the icon for)