diff -u -p -r gnome-panel-2.1.2/applets/gen_util/tasklist.c gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.c
--- gnome-panel-2.1.2/applets/gen_util/tasklist.c	2002-10-16 06:00:24.000000000 +0200
+++ gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.c	2002-11-16 15:55:52.000000000 +0100
@@ -26,6 +26,13 @@
 #include <libwnck/libwnck.h>
 #include <gconf/gconf-client.h>
 
+#include <glib.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <X11/extensions/Xinerama.h>
+
 #include "tasklist.h"
 
 #include "egg-screen-help.h"
@@ -57,8 +64,10 @@ typedef struct {
 	GtkWidget *minimum_size_spin;
 	GtkWidget *maximum_size_spin;
 
+	GtkWidget *head_spin;
+
 	/* gconf listeners id */
-	guint listeners [5];
+	guint listeners [6];
 } TasklistData;
 
 static void display_properties_dialog (BonoboUIComponent *uic,
@@ -461,6 +470,29 @@ maximum_size_changed (GConfClient  *clie
         gtk_widget_queue_resize (GTK_WIDGET (tasklist->applet));
 }
     
+/* GConf callback for changes in head */
+static void
+head_changed (GConfClient *client, guint cnxn_id,
+              GConfEntry *entry, TasklistData *tasklist)
+{
+    	WnckTasklist *wncktl = WNCK_TASKLIST (tasklist->tasklist);
+	gint value;
+	GtkSpinButton *button;
+
+	if (!tasklist->head_spin)
+		return;
+
+	button = GTK_SPIN_BUTTON (tasklist->head_spin);
+
+	if (!entry->value || entry->value->type != GCONF_VALUE_INT)
+		return;
+	
+	value = gconf_value_get_int (entry->value);
+	
+	gtk_spin_button_set_value (button, value);
+	wnck_tasklist_set_head (wncktl, value);
+}
+
 static void
 setup_gconf (TasklistData *tasklist)
 {
@@ -506,7 +538,16 @@ setup_gconf (TasklistData *tasklist)
 				(GConfClientNotifyFunc)maximum_size_changed,
 				tasklist,
 				NULL, NULL);
-	g_free (key);}
+	g_free (key);
+
+	key = panel_applet_gconf_get_full_key (PANEL_APPLET (tasklist->applet),
+					       "head");
+	tasklist->listeners[5] = gconf_client_notify_add(client, key,
+				(GConfClientNotifyFunc)head_changed,
+				tasklist,
+				NULL, NULL);
+	g_free (key);
+}
 
 static void
 applet_size_request (GtkWidget      *widget,
@@ -565,7 +606,7 @@ fill_tasklist_applet(PanelApplet *applet
 	GError *error;
 	GConfValue *value;
 
-	gint sizepref;
+	gint sizepref, headpref;
 
 	panel_applet_add_preferences (applet, "/schemas/apps/tasklist_applet/prefs", NULL);
 	
@@ -643,6 +684,15 @@ fill_tasklist_applet(PanelApplet *applet
 
 	tasklist->maximum_size = sizepref;
 
+	error = NULL;
+	headpref = panel_applet_gconf_get_int (applet, "head", &error);
+	if (error) {
+		headpref = -1; /* Default value */
+		g_error_free (error);
+	}
+
+	wnck_tasklist_set_head (WNCK_TASKLIST (tasklist->tasklist), headpref);	  
+
 	g_signal_connect (G_OBJECT (tasklist->tasklist), "destroy",
 			  G_CALLBACK (destroy_tasklist),
 			  tasklist);
@@ -856,6 +906,15 @@ spin_maximum_size_changed (GtkSpinButton
 	panel_applet_gconf_set_int (applet, "maximum_size", prop_value, NULL);
 }
 
+static void
+spin_head_changed (GtkSpinButton *button, TasklistData *tasklist)
+{
+	PanelApplet *applet = PANEL_APPLET (tasklist->applet);
+	gint prop_value = gtk_spin_button_get_value (button);
+
+	panel_applet_gconf_set_int (applet, "head", prop_value, NULL);
+}
+
 #define WID(s) glade_xml_get_widget (xml, s)
 
 static void
@@ -864,7 +923,7 @@ setup_dialog (GladeXML     *xml,
 {
 	GConfClient *client;
 	GtkWidget *button;
-	gint sizepref;
+	gint sizepref, headpref;
 	GError *error;
 	
 	client = gconf_client_get_default ();
@@ -880,6 +939,8 @@ setup_dialog (GladeXML     *xml,
 	tasklist->minimum_size_spin = WID ("minimum_size");
 	tasklist->maximum_size_spin = WID ("maximum_size");
 
+	tasklist->head_spin = WID ("head");
+
 	/* Window grouping: */
 	button = get_grouping_button (tasklist, tasklist->grouping);
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
@@ -898,6 +959,10 @@ setup_dialog (GladeXML     *xml,
 	    				       "maximum_size", NULL);
 	gtk_spin_button_set_value (GTK_SPIN_BUTTON (tasklist->maximum_size_spin), sizepref);
 
+	headpref = panel_applet_gconf_get_int (PANEL_APPLET (tasklist->applet), 
+	    				       "head", NULL);
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (tasklist->head_spin), headpref);
+
 	g_signal_connect (G_OBJECT (tasklist->never_group_radio), "toggled",
 			  (GCallback) group_windows_toggled, tasklist);
 	g_signal_connect (G_OBJECT (tasklist->auto_group_radio), "toggled",
@@ -923,6 +988,10 @@ setup_dialog (GladeXML     *xml,
 		          "value_changed", 
 			  (GCallback) spin_maximum_size_changed,
 			  tasklist);
+	g_signal_connect (G_OBJECT (tasklist->head_spin), 
+		          "value_changed", 
+			  (GCallback) spin_head_changed,
+			  tasklist);
 	g_signal_connect_swapped (WID ("done_button"), "clicked",
 				  (GCallback) gtk_widget_hide, 
 				  tasklist->properties_dialog);
Only in gnome-panel-2.1.2-multihead/applets/gen_util: tasklist.c~
diff -u -p -r gnome-panel-2.1.2/applets/gen_util/tasklist.glade gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.glade
--- gnome-panel-2.1.2/applets/gen_util/tasklist.glade	2002-08-11 13:59:26.000000000 +0200
+++ gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.glade	2002-11-16 14:27:21.000000000 +0100
@@ -124,6 +124,67 @@
 		      <property name="fill">False</property>
 		    </packing>
 		  </child>
+
+		  <child>
+                    <widget class="GtkTable" id="table3">
+                      <property name="border_width">8</property>
+		      <property name="visible">True</property>
+		      <property name="n_rows">2</property>
+		      <property name="n_columns">2</property>
+		      <property name="homogeneous">True</property>
+		      <property name="row_spacing">8</property>
+		      <property name="column_spacing">8</property>
+		      <child>
+			<widget class="GtkLabel" id="label10">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">_Head:</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+		      <child>
+		        <widget class="GtkSpinButton" id="head">
+		          <property name="visible">True</property>
+		          <property name="can_focus">True</property>
+		          <property name="climb_rate">1</property>
+		          <property name="digits">0</property>
+		          <property name="numeric">True</property>
+		          <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		          <property name="snap_to_ticks">False</property>
+		          <property name="wrap">False</property>
+		          <property name="adjustment">-1 -1 7 1 1 1</property>
+		        </widget>
+		        <packing>
+		          <property name="left_attach">1</property>
+		          <property name="right_attach">2</property>
+		          <property name="top_attach">0</property>
+		          <property name="bottom_attach">1</property>
+		          <property name="y_options"></property>
+		        </packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
 		</widget>
 	      </child>
 
Only in gnome-panel-2.1.2-multihead/applets/gen_util: tasklist.glade~
diff -u -p -r gnome-panel-2.1.2/applets/gen_util/tasklist.schemas.in gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.schemas.in
--- gnome-panel-2.1.2/applets/gen_util/tasklist.schemas.in	2002-08-11 13:44:00.000000000 +0200
+++ gnome-panel-2.1.2-multihead/applets/gen_util/tasklist.schemas.in	2002-11-16 14:27:21.000000000 +0100
@@ -70,6 +70,20 @@
         </locale>
       </schema>
 
+      <schema>
+        <key>/schemas/apps/tasklist_applet/prefs/head</key>
+        <owner>tasklist-applet</owner>
+        <type>int</type>
+        <default>-1</default>
+        <locale name="C">
+          <short>From which xinerama head to show windows</short>
+          <long>This value specifies the head (in xinerama) to show windows
+		from. If this value is -1, the Window List applet shows
+		windows from all heads.
+	  </long>
+        </locale>
+      </schema>
+
     </schemalist>
   
 </gconfschemafile>
Only in gnome-panel-2.1.2-multihead/applets/gen_util: tasklist.schemas.in~
