I started this Pidgin plugin yesterday and had just finished it right before going to sleep, so I finally now have the time to post it ^_^ (v1.0, binary, source). The goal of this project was to fill in some gaps in Pidgin that were features I had in Trillian.
This plugin allows the user, using global shortcut keys, to set their status state and message, show the buddy list, and toggle the buddy list visibility on the taskbar.
It currently only works in Windows, as that was my primary concern and I need to get a Linux test environment set up to finish it. I had to use Window’s specific APIs for the taskbar visibility and HotKey functionality, as “gdk_window_add_filter” (for the HotKeys) and “gtk_window_set_skip_taskbar_hint” (for the TaskBar visibility) do not seem to work in Windows.
It is also only configurable through the source itself, at the moment, but I should hopefully soon be adding a configuration dialog with the following abilities:
- The ability to set multiple [away] status states with messages (or leave the message alone)
- Choose whether to start the Buddy List as visible or not on the taskbar
- Configure as many events as you want against hot keys, which don’t have to use ctrl+shift, and may be able to be just triggered locally when the buddy list has focus (which also need to check for conflicts)
Controls/Use (Included in this update since this information will be changed in the next version):
- All of the functionality can be accessed through: Pidgin Menu > Tools > Status Hot Keys
-
Global Shortcut Keys |
Away | Ctrl+Shift+A |
Back [Available] | Ctrl+Shift+B |
Disconnect [Offline] | Ctrl+Shift+D |
Show Pidgin Buddy List | Ctrl+Shift+P |
Toggle Buddy List in Tashbar | Ctrl+Shift+T |
License: I am unsure if Pidgin plugins need to also be licensed under the GPL, as I am not using any of their files beyond linking to the headers. I am including their copy of the GPL from the main directory of the Pidgin source code in the file “COPYING”, just in case. I am considering this to be under the Dakusan License though until I found out if it definitely needs to be GPLed.