Index: plugins/build-basic-autotools/plugin.c
===================================================================
--- plugins/build-basic-autotools/plugin.c	(revision 4921)
+++ plugins/build-basic-autotools/plugin.c	(working copy)
@@ -1057,19 +1057,28 @@
 	/* Message view could have been destroyed before */
 	if (context->message_view)
 	{
+		IAnjutaMessageManager *mesg_manager;
 		gchar *buff1;
 	
 		buff1 = g_strdup_printf (_("Total time taken: %lu secs\n"),
 								 time_taken);
+		mesg_manager = anjuta_shell_get_interface (ANJUTA_PLUGIN (context->plugin)->shell,
+									IAnjutaMessageManager, NULL);
 		if (status)
 		{
 			ianjuta_message_view_buffer_append (context->message_view,
 									_("Completed unsuccessfully\n"), NULL);
+			ianjuta_message_manager_set_view_icon_from_stock (mesg_manager,
+									context->message_view,
+									GTK_STOCK_STOP, NULL);
 		}
 		else
 		{
 			ianjuta_message_view_buffer_append (context->message_view,
 									   _("Completed successfully\n"), NULL);
+			ianjuta_message_manager_set_view_icon_from_stock (mesg_manager,
+									context->message_view,
+									GTK_STOCK_APPLY, NULL);
 		}
 		ianjuta_message_view_buffer_append (context->message_view, buff1, NULL);
 		g_free (buff1);
@@ -1150,6 +1159,9 @@
 	}
 	else
 	{
+		GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+		GtkIconInfo *icon_info;
+		const gchar *name;
 		/* If no free context found, create one */
 		context = g_new0 (BuildContext, 1);
 		context->plugin = ANJUTA_PLUGIN(plugin);
@@ -1159,6 +1171,37 @@
 		context->message_view =
 			ianjuta_message_manager_add_view (mesg_manager, mname,
 											  ICON_FILE, NULL);
+		icon_info = gtk_icon_theme_lookup_icon (icon_theme, "process-working", 16, 0);
+		name = gtk_icon_info_get_filename (icon_info);
+		if (name != NULL)
+		{
+			int size = gtk_icon_info_get_base_size (icon_info);
+			GdkPixbufSimpleAnim* anim = gdk_pixbuf_simple_anim_new (size, size, 5);
+			GdkPixbuf *image = gdk_pixbuf_new_from_file (name, NULL);
+			if (image)
+			{
+				int grid_width = gdk_pixbuf_get_width (image);
+				int grid_height = gdk_pixbuf_get_height (image);
+				int x,y;
+				for (y = 0; y < grid_height; y += size)
+				{
+					for (x = 0; x < grid_width ; x += size)
+					{
+						GdkPixbuf *pixbuf = gdk_pixbuf_new_subpixbuf (image, x, y, size,size);
+						if (pixbuf)
+						{
+							gdk_pixbuf_simple_anim_add_frame (anim, pixbuf);
+						}
+					}
+				}
+				ianjuta_message_manager_set_view_icon (mesg_manager,
+												context->message_view,
+												GDK_PIXBUF_ANIMATION (anim), NULL);
+				g_object_unref (image);
+			}
+		}
+		gtk_icon_info_free (icon_info);
+
 		g_signal_connect (G_OBJECT (context->message_view), "buffer_flushed",
 						  G_CALLBACK (on_build_mesg_format), context);
 		g_signal_connect (G_OBJECT (context->message_view), "message_clicked",
Index: plugins/message-view/plugin.c
===================================================================
--- plugins/message-view/plugin.c	(revision 4921)
+++ plugins/message-view/plugin.c	(working copy)
@@ -393,6 +393,26 @@
 }
 
 static void
+ianjuta_msgman_set_view_icon_from_stock (IAnjutaMessageManager *plugin,
+							  IAnjutaMessageView *message_view,
+							  const gchar *icon, GError ** e)
+{
+	GtkWidget *msgman = ANJUTA_PLUGIN_MESSAGE_VIEW (plugin)->msgman;
+	anjuta_msgman_set_view_icon_from_stock (ANJUTA_MSGMAN (msgman),
+								  MESSAGE_VIEW (message_view), icon);
+}
+
+static void
+ianjuta_msgman_set_view_icon (IAnjutaMessageManager *plugin,
+							  IAnjutaMessageView *message_view,
+							  const GdkPixbufAnimation *icon, GError ** e)
+{
+	GtkWidget *msgman = ANJUTA_PLUGIN_MESSAGE_VIEW (plugin)->msgman;
+	anjuta_msgman_set_view_icon (ANJUTA_MSGMAN (msgman),
+								 MESSAGE_VIEW (message_view), icon);
+}
+
+static void
 ianjuta_msgman_iface_init (IAnjutaMessageManagerIface *iface)
 {
 	iface->add_view = ianjuta_msgman_add_view;
@@ -402,6 +422,8 @@
 	iface->set_current_view = ianjuta_msgman_set_current_view;
 	iface->get_all_views = ianjuta_msgman_get_all_views;
 	iface->set_view_title = ianjuta_msgman_set_view_title;
+	iface->set_view_icon = ianjuta_msgman_set_view_icon;
+	iface->set_view_icon_from_stock = ianjuta_msgman_set_view_icon_from_stock;
 }
 
 static guint notify_id;
Index: plugins/message-view/anjuta-msgman.c
===================================================================
--- plugins/message-view/anjuta-msgman.c	(revision 4921)
+++ plugins/message-view/anjuta-msgman.c	(working copy)
@@ -495,6 +495,35 @@
 	gtk_label_set_text (GTK_LABEL (page->label), title);
 }
 
+void
+anjuta_msgman_set_view_icon (AnjutaMsgman *msgman, MessageView *view,
+							  const GdkPixbufAnimation *icon)
+{
+	AnjutaMsgmanPage *page;
+	
+	g_return_if_fail (icon != NULL);
+	
+	page = anjuta_msgman_page_from_widget (msgman, view);
+	g_return_if_fail (page != NULL);
+	
+	gtk_image_set_from_animation (GTK_IMAGE (page->pixmap), icon);
+}
+
+void
+anjuta_msgman_set_view_icon_from_stock (AnjutaMsgman *msgman, MessageView *view,
+							  const gchar *icon)
+{
+	AnjutaMsgmanPage *page;
+	
+	g_return_if_fail (icon != NULL);
+	
+	page = anjuta_msgman_page_from_widget (msgman, view);
+	g_return_if_fail (page != NULL);
+	
+	gtk_image_set_from_stock (GTK_IMAGE (page->pixmap), icon,
+							  GTK_ICON_SIZE_SMALL_TOOLBAR);
+}
+
 gboolean
 anjuta_msgman_serialize (AnjutaMsgman *msgman, AnjutaSerializer *serializer)
 {
Index: plugins/message-view/anjuta-msgman.h
===================================================================
--- plugins/message-view/anjuta-msgman.h	(revision 4921)
+++ plugins/message-view/anjuta-msgman.h	(working copy)
@@ -68,6 +68,12 @@
 void anjuta_msgman_set_view_title (AnjutaMsgman *msgman, MessageView *view,
 								   const gchar *title);
 
+void anjuta_msgman_set_view_icon (AnjutaMsgman *msgman, MessageView *view,
+								   const GdkPixbufAnimation *icon);
+
+void anjuta_msgman_set_view_icon_from_stock (AnjutaMsgman *msgman, MessageView *view,
+								             const gchar *icon);
+
 gboolean anjuta_msgman_serialize (AnjutaMsgman *msgman,
 								  AnjutaSerializer *serializer);
 gboolean anjuta_msgman_deserialize (AnjutaMsgman *msgman,
Index: libanjuta/interfaces/libanjuta.idl
===================================================================
--- libanjuta/interfaces/libanjuta.idl	(revision 4921)
+++ libanjuta/interfaces/libanjuta.idl	(working copy)
@@ -2688,7 +2688,8 @@
 interface IAnjutaMessageManager
 {
 	#include "ianjuta-message-view.h"
-	
+	#include <gdk/gdk.h>
+
 	enum Error
 	{
 		DOESNT_EXIST
@@ -2777,6 +2778,30 @@
 	 *
 	 */
 	void set_view_title (IAnjutaMessageView *view, const gchar *title);
+
+	/**
+	 * ianjuta_message_manager_set_view_icon:
+	 * @obj: Self
+	 * @view: A message view
+	 * @icon: Sets the icon of view.
+	 * @err: Error propagation and reporting
+	 *
+	 * Sets the icon of view.
+	 *
+	 */
+	void set_view_icon (IAnjutaMessageView *view, const GdkPixbufAnimation *icon);
+
+	/**
+	 * ianjuta_message_manager_set_view_icon_from_stock:
+	 * @obj: Self
+	 * @view: A message view
+	 * @icon: Sets the icon of view.
+	 * @err: Error propagation and reporting
+	 *
+	 * Sets the icon of view.
+	 *
+	 */
+	void set_view_icon_from_stock (IAnjutaMessageView *view, const gchar *icon);
 }
 
 /**
