Index: transmission-1.34-2maemo4/gtk/main.c
===================================================================
--- transmission-1.34-2maemo4.orig/gtk/main.c	2009-01-31 10:50:58.000000000 +0000
+++ transmission-1.34-2maemo4/gtk/main.c	2009-01-31 11:05:09.000000000 +0000
@@ -32,6 +32,7 @@
 #include <unistd.h>
 
 #include <gtk/gtk.h>
+#include <libosso.h>
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
 
@@ -381,6 +382,7 @@
     if( configDir == NULL )
         configDir = (char*) tr_getDefaultConfigDir( );
 
+    osso_initialize ("com.transmissionbt.Transmission", VERSION, FALSE, NULL);
     tr_notify_init( );
 
     didinit = cf_init( configDir, NULL ); /* must come before actions_init */
@@ -673,7 +675,10 @@
     g_hash_table_destroy( cbdata->tor2details );
     g_free( cbdata );
 
-    /* exit the gtk main loop */
+    /* exit the gtk main loop & osso_deinitalize*/
+    osso_context_t* context = NULL;
+    context = osso_initialize ("com.transmissionbt.Transmission", VERSION, FALSE, NULL);
+    osso_deinitialize(context);
     gtk_main_quit( );
     return NULL;
 }
Index: transmission-1.34-2maemo4/gtk/tr-window.c
===================================================================
--- transmission-1.34-2maemo4.orig/gtk/tr-window.c	2008-11-28 14:05:04.000000000 +0000
+++ transmission-1.34-2maemo4/gtk/tr-window.c	2009-01-31 11:04:06.000000000 +0000
@@ -25,6 +25,7 @@
 #include <string.h>
 
 #include <gtk/gtk.h>
+#include <hildon/hildon-program.h>
 #include <glib/gi18n.h>
 
 #include <libtransmission/transmission.h>
@@ -440,7 +441,7 @@
     p->filter_text = NULL;
 
     /* make the window */
-    self = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+    self = hildon_window_new();
     g_object_set_data_full(G_OBJECT(self), PRIVATE_DATA_KEY, p, privateFree );
     win = GTK_WINDOW( self );
     gtk_window_set_title( win, g_get_application_name());
@@ -455,15 +456,34 @@
     vbox = gtk_vbox_new (FALSE, 0);
     gtk_container_add (GTK_CONTAINER(self), vbox);
 
-    /* main menu */
-    w = action_get_widget( "/main-window-menu" );
-    gtk_box_pack_start( GTK_BOX(vbox), w, FALSE, FALSE, 0 ); 
+   /* main menu */
+   /* Some code to try and make the menu hildonised - Converts GtkMenuBar returned from uimanager into hildon compatible GtkMenu */
+   GtkWidget *main_menu;
+   GList *iter;
+
+   /* Create new main menu */
+   main_menu = gtk_menu_new();
+   w = action_get_widget( "/main-window-menu" );
+   iter = gtk_container_get_children (GTK_CONTAINER (w));
+   while (iter) {
+                GtkWidget *menu;
+
+                menu = GTK_WIDGET (iter->data);
+                gtk_widget_reparent(menu, main_menu);
+
+                iter = g_list_next (iter);
+		}
+
+    hildon_window_set_menu(HILDON_WINDOW(win), GTK_MENU(main_menu));
     w = action_get_widget( "/main-window-menu/torrent-menu/update-tracker" );
-    p->update_tracker_button = w;
+#if GTK_CHECK_VERSION( 2, 12, 0 )
+    g_signal_connect( w, "query-tooltip",
+                      G_CALLBACK( onAskTrackerQueryTooltip ), p );
+#endif
 
     /* toolbar */
     w = p->toolbar = action_get_widget( "/main-window-toolbar" );
-    gtk_box_pack_start( GTK_BOX(vbox), w, FALSE, FALSE, 0 ); 
+    hildon_window_add_toolbar (HILDON_WINDOW (win), GTK_TOOLBAR (w));
 
     /* filter */
     toggles = NULL;
