Now that that's out of the way, here's what I've done this week:
- The tabbrowser changes are now pretty much complete and are awaiting review! There are still some nits and other things I need to address, but it should be pretty minor stuff.
- Tabbrowser being tamed, I set out to start work on Awesometab. The goal is to have a buddy-list type UI as an initial milestone. So far, here's what I've managed:
- Awesometab can be launched via keyboard shortcut (Ctrl+t), context menu, and the new tab "+" button.
- It displays a list of buddies - nothing fancy, just a list of names - and a search bar.
- On typing into the search bar, buddies are filtered based on whether their display name starts with what has been typed (not case sensitive).
- When the "Enter" key is pressed, conversations are started with all the buddies selected in the list, and if no buddy is selected, the first one in the list.
- I'm pretty happy with my progress so far, but a lot remains to be done! Here's a to-do of what I want to finish in the coming days:
Opening an Awesometab in a new window needs to maintain the current value in the search box and currently visible buddies. Adding buddies to the list should be async.
- Show conversations on hold in the list.
Make things pretty. The buddies should be displayed with their profile pictures, status messages, availability, etc. Sorting - based first on availability, then alphabetically.Protocol must also be taken into account. Right now the list is completely unsorted.
- A bit of polish - double clicking a buddy in the list should open a conversation, a context menu, etc. - basically adding in more buddy list functions.