--- pager.c~	2005-07-28 23:24:41.000000000 -0700
+++ pager.c	2006-01-07 13:36:10.000000000 -0800
@@ -64,6 +64,9 @@
   guint dnd_activate;
   gint  dnd_workspace_number;
   guint dnd_time;
+
+  gint motion_workspace_number;
+  GtkTooltips * tips;
 };
 
 enum
@@ -174,7 +177,8 @@
   pager->priv->bg_cache = NULL;
   pager->priv->action_window = NULL;
   pager->priv->layout_manager_token = WNCK_NO_MANAGER_TOKEN;
-
+  pager->priv->tips = gtk_tooltips_new();
+  pager->priv->motion_workspace_number = -1;
   gtk_drag_dest_set (GTK_WIDGET (pager), 0, NULL, 0, 0);
 
   GTK_WIDGET_SET_FLAGS (GTK_WIDGET (pager), GTK_CAN_FOCUS);
@@ -1189,6 +1193,18 @@
   pager = WNCK_PAGER (widget);
 
   gdk_window_get_pointer (widget->window, &x, &y, NULL);
+  if (pager->priv->display_mode == WNCK_PAGER_DISPLAY_CONTENT)
+    {
+      int workspace_number = workspace_at_point (pager, x, y, NULL, NULL);
+      if (workspace_number != pager->priv->motion_workspace_number && workspace_number != -1)
+	{
+	  gtk_tooltips_set_tip(pager->priv->tips, 
+			       gtk_widget_get_parent(GTK_WIDGET(pager)), 
+			       wnck_workspace_get_name (wnck_screen_get_workspace (pager->priv->screen, workspace_number)),
+			       NULL); 
+	  pager->priv->motion_workspace_number = workspace_number;
+	}
+    }
 
   if (!pager->priv->dragging &&
       pager->priv->drag_window != NULL &&
@@ -1390,6 +1406,10 @@
     return;
 
   pager->priv->display_mode = mode;
+  if (mode == WNCK_PAGER_DISPLAY_NAME)
+    gtk_tooltips_disable(pager->priv->tips);
+  else
+    gtk_tooltips_enable(pager->priv->tips);
   gtk_widget_queue_resize (GTK_WIDGET (pager));
 }
 
