Introducing GTweetBar (alpha)
This is my Xournal entry of April 27th 2009. It clearly speaks of how much time I take in between imagining and creating things. I need to improve a lot on that part, or maybe organize my time well, and hack myself away from that saturday-sunday syndrome where you feel like spending the weekend doing nothing for you've been already been wasting time for college for 12 hrs a day away from your system.
Oh sweet, this snap is when I had just upgraded to Ubuntu 9.04 :)
Been almost 6 months I guess :o. A couple of months back I was playing around with gtk, glade, etc which gave some confidence to work over making it for real. So here we have - GTweetBar - A GNOME Panel Applet that lets you update your twitter status on the fly. An omnipresent, super-simplified twitter-client for your linux desktop. (which is still in development)
I initially started writing this applet with PyGTK and glade. The tutorials for writing a panel applet on gnome are pretty limited and there is a shortage of simple examples for beginners as far as I think. I found an interesting problem during the development, the Entry box did not respond when the app is run as applet. I found it pretty weird, but that led into a better understanding of how signals and handled, why and when to use an Event box and the use of applet.request_focus(). All this had to be understood by reading a random pastebin entry! :)
There were more issues coming later, I got it tested from a few friends on twitter. It's pretty cool to find the Issues section on github. It lets users of your software communicate and talk about any problems they encounter. Pretty cool to have it along the project page. Github \m/
Testing it on Ubuntu 8.04 on my old PC helped uncover some more compatibility issues. It seems that gtk.gdk.Color("#93E9FF") isn't backward compatible. You can use gtk.gdk.color_parse("#93E9FF") instead to ensure it works.
Here are few snaps -
As of now, I have to fix a lot of bugs (pending after end sems). It's not working on Ubuntu 9.10 under applet mode. Working with YuviPanda on PyMos taught me a lot of things. I also used GConf to store user preferences. Man! Its dead simple to use.. So this calls for an extension of todo list :) -
[ ] alerts for failed tweets...
[ ] loads of exception handling here and there
[ ] new setup using setuptools
[ ] test portability of python_twitter or throw it as dependency in setup()
[ ] add logging
[ ] optparse/argparse
[ ] tool tips to show current status
[ ] beautify the code
[ ] a drop down list of tweets
So go ahead fork it, test it, use it - GTweetBar alpha.