Index: src/Clients/Nereid/Nereid/PlayerInterface.cs
===================================================================
--- src/Clients/Nereid/Nereid/PlayerInterface.cs	(revision 4257)
+++ src/Clients/Nereid/Nereid/PlayerInterface.cs	(working copy)
@@ -154,7 +154,8 @@
             seek_slider.Show ();
             ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/SeekSlider", seek_slider);
             
-            TrackInfoDisplay track_info_display = new ClassicTrackInfoDisplay ();
+            ClassicTrackInfoDisplay track_info_display = new ClassicTrackInfoDisplay ();
+			track_info_display.ArtistSelected += OnTrackInfoArtistSelected;
             track_info_display.Show ();
             ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/TrackInfoDisplay", track_info_display, true);
             
@@ -162,6 +163,11 @@
             volume_button.Show ();
             ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/VolumeButton", volume_button);
         }
+		
+		private void OnTrackInfoArtistSelected (TrackInfo selected_track)
+		{
+			view_container.SearchEntry.InnerEntry.Text = "artist==\"" + selected_track.ArtistName + "\"";
+		}
 
         private void BuildViews ()
         {
Index: src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs
===================================================================
--- src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs	(revision 4257)
+++ src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs	(working copy)
@@ -45,6 +45,7 @@
         private uint popup_timeout_id;
         private bool in_popup;
         private bool in_thumbnail_region;
+		private bool in_artist_album_region;
         
         public ClassicTrackInfoDisplay () : base ()
         {
@@ -78,6 +79,9 @@
                 EventMask.PointerMotionMask |
                 EventMask.EnterNotifyMask |
                 EventMask.LeaveNotifyMask |
+			                             EventMask.ButtonReleaseMask |
+			                             EventMask.ButtonPressMask |
+			                             EventMask.Button1MotionMask |
                 EventMask.ExposureMask);
             
             WindowAttributesType attributes_mask =
@@ -208,12 +212,36 @@
             in_thumbnail_region = false;
             return ShowHideCoverArt ();
         }
+		
+		private void SetMouse ()
+		{
+			if (in_artist_album_region)
+				event_window.Cursor = new Cursor (CursorType.Hand1);
+			else
+				event_window.Cursor = new Cursor (CursorType.Arrow);
+		}
         
         protected override bool OnMotionNotifyEvent (EventMotion evnt)
         {
             in_thumbnail_region = evnt.X <= Allocation.Height;
+			in_artist_album_region = evnt.X >= Allocation.Height + 10 &&
+				evnt.Y >= Allocation.Y / 2;
+			SetMouse ();
             return ShowHideCoverArt ();
         }
+		
+		protected override bool OnButtonReleaseEvent (EventButton evnt)
+		{
+			if (in_artist_album_region) {
+				Hyena.Log.Debug ("A click, a fabulous miraculous click!");
+				ArtistSelected (CurrentTrack);
+			}
+			
+			return false;
+		}
+		
+		public delegate void ArtistSelectedHandler (TrackInfo current_track);
+		public event ArtistSelectedHandler ArtistSelected;
         
         private void OnPopupEnterNotifyEvent (object o, EnterNotifyEventArgs args)
         {
