--- modified file 'data/ui/window.ui'
--- data/ui/window.ui	2010-08-02 23:29:52.000000000 +0900
+++ data/ui/window.ui	2010-12-22 05:28:06.800000011 +0900
@@ -38,6 +38,17 @@
     </menu>
   </menubar>
 
+  <popup name="PopUp">
+    <menuitem action="Back"/>
+    <menuitem action="Forward"/>
+    <separator/>
+    <menuitem action="Copy"/>
+    <menuitem action="Find"/>
+    <separator/>
+    <menuitem action="ZoomIn"/>
+    <menuitem action="ZoomOut"/>
+  </popup>
+
   <toolbar name="Toolbar">
     <toolitem action="Back"/>
     <toolitem action="Forward"/>
--- modified file 'src/dh-window.c'
--- src/dh-window.c	2010-08-02 23:32:49.000000000 +0900
+++ src/dh-window.c	2010-12-22 05:28:06.813333345 +0900
@@ -385,53 +385,53 @@
 static gboolean
 run_fullscreen_animation (gpointer data)
 {
-	DhWindow *window = DH_WINDOW (data);
-	GdkScreen *screen;
-	GdkRectangle fs_rect;
-	gint x, y;
-
-	screen = gtk_window_get_screen (GTK_WINDOW (window));
-	gdk_screen_get_monitor_geometry (screen,
-					 gdk_screen_get_monitor_at_window (screen,
-									   gtk_widget_get_window (GTK_WIDGET (window))),
-					 &fs_rect);
-
-	gtk_window_get_position (GTK_WINDOW (window->priv->fullscreen_controls),
-				 &x, &y);
-
-	if (window->priv->fullscreen_animation_enter)
-	{
-		if (y == fs_rect.y)
-		{
-			window->priv->fullscreen_animation_timeout_id = 0;
-			return FALSE;
-		}
-		else
-		{
-			gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
-					 x, y + 1);
-			return TRUE;
-		}
-	}
-	else
-	{
-		gint w, h;
-
-		gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls),
-				     &w, &h);
-
-		if (y == fs_rect.y - h + 1)
-		{
-			window->priv->fullscreen_animation_timeout_id = 0;
-			return FALSE;
-		}
-		else
-		{
-			gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
-					 x, y - 1);
-			return TRUE;
-		}
-	}
+    DhWindow *window = DH_WINDOW (data);
+    GdkScreen *screen;
+    GdkRectangle fs_rect;
+    gint x, y;
+
+    screen = gtk_window_get_screen (GTK_WINDOW (window));
+    gdk_screen_get_monitor_geometry (screen,
+                     gdk_screen_get_monitor_at_window (screen,
+                                       gtk_widget_get_window (GTK_WIDGET (window))),
+                     &fs_rect);
+
+    gtk_window_get_position (GTK_WINDOW (window->priv->fullscreen_controls),
+                 &x, &y);
+
+    if (window->priv->fullscreen_animation_enter)
+    {
+        if (y == fs_rect.y)
+        {
+            window->priv->fullscreen_animation_timeout_id = 0;
+            return FALSE;
+        }
+        else
+        {
+            gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
+                     x, y + 1);
+            return TRUE;
+        }
+    }
+    else
+    {
+        gint w, h;
+
+        gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls),
+                     &w, &h);
+
+        if (y == fs_rect.y - h + 1)
+        {
+            window->priv->fullscreen_animation_timeout_id = 0;
+            return FALSE;
+        }
+        else
+        {
+            gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls),
+                     x, y - 1);
+            return TRUE;
+        }
+    }
 }
 
 static void
@@ -1358,7 +1358,7 @@
 
         return TRUE;
 #else
-	return FALSE;
+    return FALSE;
 #endif
 }
 
@@ -1442,7 +1442,17 @@
                                        GdkEventButton *event,
                                        DhWindow       *window)
 {
+
         if (event->button == 3) {
+
+                DhWindowPriv  *priv;
+                GtkWidget *menu;
+                priv = window->priv;
+
+                menu = gtk_ui_manager_get_widget(priv->manager, "/PopUp");
+                gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
+                                                event->button, event->time);
+
                 return TRUE;
         }
 
@@ -1471,7 +1481,7 @@
                 egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)),
                 TRUE, TRUE);
 
-	return FALSE;
+    return FALSE;
 }
 
 static void
