Overview
A prioritized list of deliverables is as follows:
- Shortcut Keys Overhaul
- Sound
- Logging Improvements
- Buddy List Options
- Documentation of my changes
- Crashing bug fixes (if time permits)
Shortcut Keys Overhaul
The shortcut keys need some serious work. I will build an independent interface made available with a command line option to catch basic keystrokes. To provide running customizations I add an interface within Finch to bind keystrokes to predefined actions. Finch will be able to detect both 8-bit meta and ESC sequences. If time allows I will also add the ability for Finch to detect that the user is unable to send commands due to key binding issues and then provide a way for it to grab a group of basic keystrokes to allow the user to navigate.
Sound
I frequently run Finch inside a screen session in the background, and it is very frustrating when I miss someone who tried to talk to me. Since it's not a GUI and doesn't have the ability to pop up a notification, the best way to resolve this problem is with the use of sound. I will add the ability to customize sounds for different events, similar to many existing IM programs. I will also make sounds customizable on a per-buddy basis similar to how you can program custom ring tones for different people in your cellphone.
Logging
The logging features are another feature I will improve. I will build on the same basic ideas found in Pidgin's logging tools. Though there are a few ideas I want to add.
I will add the option to search through all conversations instead of just searching them one by one, or even searching them over a range of dates. There will also be the option to search from a list of logs from different users. From there we can add an array of search capabilities to better search the logs.
Basic Buddy List Options
There are a few options to the buddy list that I think are missing. I will add the ability to hide/show empty groups and to hide/show buddy details.
Documentation
I will document my work for users and developers in LaTeX and thus provide a way to output the docs in a variety of formats.
Crashing Bug Fixes
If time allows I will work on some bugs that cause Finch to crash. Some of these are related to chatting over GoogleTalk and causing a segmentation fault when the program attempts to exit.