Threading fixed & banshee-inotify-watch
I finally fixed threading in 0.2.2 release. I think it’s stable enough for everyday usage. I left gTwitter running overnight for like 9hours and it survived.
I sometimes get blank treeview which contains the list of users and times, but this happens very rarely and probably due to bug in mono itself. Overnight I set refresh interval to 5min and the blank bug happened only 3 times, so that’s not so bad. What’s the solution at the moment ? Refresh again
This will be fixed asap of course.

In other news… a friend of mine made a simple Banshee plugin which: “checks the library directory for added files and adds them to the banshee library“. So basically we got Inotify support for Banshee back, which was removed some time ago.
It’s really useful if you want to have your Banshee library up to date with a specified directory on your drive. It even has a notification via libnotify, very cool. I hope to see further development.
Check it out.
Responsive UI or stability ?
Gtk# is not a thread-safe toolkit, which means that only one thread at a time can safely invoke methods on Gtk#. This thread is typically the thread executing the main loop (which is when control has been explicitly transfered to Gtk).
So basically using threads means making application more responsive, so the big calculations and long timeouts don’t effect the UI. Which is good. But the above text says that other threads shouldn’t touch UI, if so the application will hang unpredictably. So if I want to make changes to GTK# UI I need to use Gtk.Application.Invoke, but I’m having problems with Liststore which stores all the data in the Treeview, it just won’t work.
So I made a temporary fix by sacrificing Responsive UI for stability. The 0.2.1 version of gTwitter reflects that.
Use 0.2 version if you want responsive application, or use the 0.2.1 if you want it stable. (Note that this is just a temporary solution until I figure out what to do with liststore issue)
0.2 second usable version
I decided to put it out there for Linux twitter users… another release.
It’s not stable yet because I need to fix threading. I get random application hangs and freezes now and then, I believe it’s because threads are not being properly synchronized. I’m working on this issue at the moment.
Apart from that 0.2 brings much more stability improvements, composite UI, image caching and other fixes.
Here is a ChangeLog (not complete)
You can download source tarball and mono binary from project page
0.1 a first usable version
I managed to implement posting from gTwitter. This is a very important feature, because it’s really no fun just reading posts if you can’t actually write one
Here’s a screencast(H.264 encoded):
gTwitter beta
It’s a new project of mine. A pretty simple GTK+ application to interact with twitter.com web service.
What is Twitter ? See for your self
gTwitter, yeah I know it’s lame… but I didn’t come up with any cool ideas about the name anyway. The source is not in the wild yet, I released just a Mono binary for you to test.
I need to implement bunch of stuff first and then the release a usable version.
So what does it do at the moment ?
- You can read your friends posts(and yours)
- You can read public posts
- You can set the refresh interval in Preferences
And that’s pretty much it.
What’s in my TODO list ?
- Posting messages directly from gTwitter
- Saving and displaying history
- Notification area icon
- Caching user images
- Password encryption
- Composite UI
- Notification via libnotify maybe
I have coded and tested composite UI for your eyecandy plesure, it works and looks great, but I need to iron out some stuff first.
Project page is hosted on code.google.com, you can find more info there - gTwitter
Tracker UI demo
I did some hacking today, when should be studying… So I put together a simple GUI for Tracker, pimped it with Cairo and some gnome-vfs for mime type and icons. Not alot of work actually, but it’s sort of useful. I know, Tracker already has GUI tracker-search-tool but I just wanted to code something more eye-candy-ish (like that’s a word).
Here is a screencast encoded in Ogg/Theora video - click.
The code is a mess, I coded this app quickly with Monodevelop, but I can clean it up and release it if anyone’s interested.
Oh yeah, and Tracker really rocks, I guess I’m sick of Beagle hogging my system. Tracker only needs to support more information sources and a better GUI IMO.
Battery State
Wrote this little app a few minutes ago, it shows some info about your laptop battery state, which I find useful. I just figured out how to use Cairo to draw transparent ARGB background using Monodevelop Stetic GUI. Well actually my buddy Luka got lucky with the code and passed me the information, thanks bud.

It’s pretty
I’ll release the code into the wild if anyone’s interested.
EDIT: Here is an Monodevelop solution with source: MonodevelopSource

