As you all aware, ubuntu 9.04 has been release on last April. I’ve been delaying the upgrade for several weeks because of the exams, project, etc. Today, I decided to replaced my ubuntu 8.10 with the new version. There is also an upgrade option which will allow you to upgrade directly from 8.10, however I have some bad experience with upgrading. So, I decided to go for a fresh installation.

The installation was straight forward. The only major difference was that ext4 file system was available. I created a separate partition for my home directory, and used ext4 for that. So far, I can’t tell a real difference. The ext3 was working fine, I just installed ext4 to test it out. Ext4 didn’t give any problems yet, but not any advantages so far either. Installation process finished very quickly and the booting time has been improved (They have finally changed the usplash theme and the GDM theme).

Besides the booting time, the next major feature 9.04 adds is the new notification system. This replaces the gtk notification daemon. The new notifications looks really nice, however the spec doesn’t allow any actions for the notifications. This seems to be a problem because lot of applications are using notifications with actions. It wouldn’t be a big deal if notifications are just shown without the actions, but instead it shows a dialog box with buttons as actions.

I’m using two applications which use notifications with actions, emesene and mail-notification. Mail-notifications doesn’t have any option to remove actions in the configure box, however there is an option in the gconf settings. You can fire up the gnome configuration editor using “gconf-editor” and remove the actions from “/apps/mail-notification/popups/actions” key. Emesene uses a plugin called “LibNotify” for it’s notifications. The code for actions can be easily disabled by commentting relevant the code. Comment following lines(lines 231 – 240) in “plugins_base/LibNotify.py” using ‘#’ chars.

	#if execute == 'conversation':
	#    def on_notify_action(notification, action):
	#        self.controller.newConversation(None, data[0], data[1], True)
	#    notification.add_action('default', 'default', on_notify_action)

	#elif execute == 'mail':
	#    def openMail(notification, action):
	#        desktop.open(self.controller.hotmail.getLoginPage\
	#            (data[0], data[1], data[2]))
	#    notification.add_action('default', 'Open Mail', openMail)

Other than that, the dropbox daemon was not working initially. I manaully downloaded the propertiary daemon and extracted it to “~/.dropbox-dist”. However, even with that dropbox was not starting up properly at boot. It should start automatically with the nautilus – the extension was loaded properly but it wasn’t not spawning the deamon. I simply added the “~/.dropbox-dist/dropbox” to startup and that sloved the problem (Yes, I know that it’s not a good hack). I also installed “ubuntuone” which is very similiar to dropbox, but I haven’t played around it yet.