Index: /status
===================================================================
--- /status (revision 393)
+++ /status (revision 394)
@@ -1,3 +1,3 @@
-application     shepherd            0.4.21
+application     shepherd            0.4.22
 grabber         yahoo7widget        1.71
 grabber         rex                 3.3.8
Index: /applications/shepherd
===================================================================
--- /applications/shepherd (revision 392)
+++ /applications/shepherd (revision 394)
@@ -2,5 +2,5 @@
 
 my $progname = 'shepherd';
-my $version = '0.4.21';
+my $version = '0.4.22';
 
 # tv_grab_au
@@ -1162,4 +1162,5 @@
                         randomize
 			pending
+			grabwith=s
 		     ));
   $debug = $opt->{debug};
@@ -1867,4 +1868,20 @@
     }
 
+    if ($opt->{grabwith})
+    {
+	my @a = split(/,/, $opt->{grabwith});
+	my $g;
+	while ($g = shift @a)
+	{
+	    $opt->{grabwith} = (@a ? join(',', @a) : undef);
+	    &log("\nObeying --grabwith option: selecting grabber \"$g\".\n");
+	    if ($components->{$g} and $components->{$g}->{type} eq 'grabber')
+	    {
+		return select_grabber($g, $gscore);
+	    }
+	    &log("Not a grabber: \"$g\".\n");
+	}
+    }
+
     return undef unless ($total);
 
