Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 22106)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -1421,9 +1421,6 @@
 
 	check_ajax_referer( 'find-posts' );
 
-	if ( empty($_POST['ps']) )
-		wp_die();
-
 	if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
 		$what = $_POST['post_type'];
 	else
@@ -1442,8 +1439,13 @@
 	$term = esc_sql( like_escape( $s ) );
 	if ( count($search_terms) > 1 && $search_terms[0] != $s )
 		$search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')";
+		
+	if ( empty($_POST['ps']) )
+		$search = '';
+	else
+		$search = 'AND (' . $search . ')';
 
-	$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" );
+	$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') $search ORDER BY post_date_gmt DESC LIMIT 50" );
 
 	if ( ! $posts ) {
 		$posttype = get_post_type_object($what);
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 22106)
+++ wp-admin/includes/template.php	(working copy)
@@ -1278,18 +1278,20 @@
 				<?php wp_nonce_field( 'find-posts', '_ajax_nonce', false ); ?>
 				<label class="screen-reader-text" for="find-posts-input"><?php _e( 'Search' ); ?></label>
 				<input type="text" id="find-posts-input" name="ps" value="" />
-				<input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" /><br />
-
-				<?php
-				$post_types = get_post_types( array('public' => true), 'objects' );
-				foreach ( $post_types as $post ) {
-					if ( 'attachment' == $post->name )
-						continue;
-				?>
-				<input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> />
-				<label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label>
-				<?php
-				} ?>
+				<span class="spinner"></span>
+				<input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" />
+				<span class="find-posts-options">
+					<?php
+					$post_types = get_post_types( array('public' => true), 'objects' );
+					foreach ( $post_types as $post ) {
+						if ( 'attachment' == $post->name )
+							continue;
+					?>
+					<input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> />
+					<label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label>
+					<?php
+					} ?>
+				</span>
 			</div>
 			<div id="find-posts-response"></div>
 		</div>
Index: wp-admin/js/media.js
===================================================================
--- wp-admin/js/media.js	(revision 22106)
+++ wp-admin/js/media.js	(working copy)
@@ -3,18 +3,29 @@
 (function($){
 	findPosts = {
 		open : function(af_name, af_val) {
-			var st = document.documentElement.scrollTop || $(document).scrollTop();
+			var st = document.documentElement.scrollTop || $(document).scrollTop(),
+				overlay = $( '.ui-find-overlay' );
+			
+			if ( overlay.length == 0 ) {
+				$( 'body' ).append( '<div class="ui-find-overlay"></div>' );
+				findPosts.overlay();
+			}
+			
+			overlay.show()
 
 			if ( af_name && af_val ) {
 				$('#affected').attr('name', af_name).val(af_val);
 			}
 			$('#find-posts').show().draggable({
 				handle: '#find-posts-head'
-			}).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-250px'});
+			}).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-328px'});
 
 			$('#find-posts-input').focus().keyup(function(e){
 				if (e.which == 27) { findPosts.close(); } // close on Escape
 			});
+			
+			// Pull some results up by default
+			findPosts.send();
 
 			return false;
 		},
@@ -22,22 +33,34 @@
 		close : function() {
 			$('#find-posts-response').html('');
 			$('#find-posts').draggable('destroy').hide();
+			$( '.ui-find-overlay' ).hide();
 		},
+		
+		overlay : function() {
+			$( '.ui-find-overlay' ).css(
+				{ 'z-index': '999', 'width': $( document ).width() + 'px', 'height': $( document ).height() + 'px' }
+			).on('click', function () {
+				findPosts.close();
+			});
+		},
 
 		send : function() {
 			var post = {
-				ps: $('#find-posts-input').val(),
-				action: 'find_posts',
-				_ajax_nonce: $('#_ajax_nonce').val(),
-				post_type: $('input[name="find-posts-what"]:checked').val()
-			};
+					ps: $('#find-posts-input').val(),
+					action: 'find_posts',
+					_ajax_nonce: $('#_ajax_nonce').val(),
+					post_type: $('input[name="find-posts-what"]:checked').val()
+				},
+				spinner = $( '.find-box-search .spinner' );
+			
+			spinner.show();
 
 			$.ajax({
 				type : 'POST',
 				url : ajaxurl,
 				data : post,
-				success : function(x) { findPosts.show(x); },
-				error : function(r) { findPosts.error(r); }
+				success : function(x) { findPosts.show(x); spinner.hide(); },
+				error : function(r) { findPosts.error(r); spinner.hide(); }
 			});
 		},
 
@@ -55,6 +78,11 @@
 			}
 			r = r.responses[0];
 			$('#find-posts-response').html(r.data);
+			
+			// Enable whole row to be clicked
+			$( '.found-posts td' ).on( 'click', function () {
+				$( this ).parent().find( '.found-radio input' ).prop( 'checked', true );
+			});
 		},
 
 		error : function(r) {
@@ -91,4 +119,7 @@
 			});
 		});
 	});
+	$(window).resize(function() {
+		findPosts.overlay();
+	});
 })(jQuery);
Index: wp-admin/css/colors-fresh.css
===================================================================
--- wp-admin/css/colors-fresh.css	(revision 22106)
+++ wp-admin/css/colors-fresh.css	(working copy)
@@ -76,14 +76,21 @@
 }
 
 .find-box-search {
-	border-color: #dfdfdf;
-	background-color: #f1f1f1;
+	background-color: #f7f7f7;
 }
 
 .find-box {
+	background-color: #444;
+}
+
+.find-box-buttons {
 	background-color: #f1f1f1;
 }
 
+.find-box-head {
+	color: #eee;
+}
+
 .find-box-inside {
 	background-color: #fff;
 }
@@ -191,7 +198,6 @@
 h3.dashboard-widget-title,
 h3.dashboard-widget-title span,
 h3.dashboard-widget-title small,
-.find-box-head,
 .sidebar-name,
 #nav-menu-header,
 #nav-menu-footer,
@@ -683,8 +689,7 @@
 .widefat tfoot tr th,
 h3.dashboard-widget-title,
 h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
-.find-box-head {
+h3.dashboard-widget-title small {
 	color: #333;
 }
 
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 22106)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -3851,10 +3851,10 @@
 ------------------------------------------------------------------------------*/
 
 .find-box {
-	width: 500px;
+	width: 600px;
 	height: 300px;
 	overflow: hidden;
-	padding: 33px 5px 40px;
+	padding: 33px 0 51px;
 	position: absolute;
 	z-index: 1000;
 }
@@ -3872,16 +3872,48 @@
 
 .find-box-inside {
 	overflow: auto;
-	width: 100%;
+	padding: 6px;
 	height: 100%;
 }
 
+.find-posts-options {
+	margin-left: 9px;
+	overflow: hidden;
+}
+
+.find-posts-options input {
+	float: left;
+	margin: 7px 4px 0 7px;
+}
+
+.find-posts-options label {
+	float: left;
+	margin-top: 6px;
+}
+
 .find-box-search {
-	padding: 12px;
-	border-width: 1px;
-	border-style: none none solid;
+	overflow: hidden;
+	padding: 9px;
+	position: relative;
 }
 
+.find-box-search .spinner {
+	float: none;
+	left: 126px;
+	position: absolute;
+	top: 9px;
+}
+
+#find-posts-input {
+	float: left;
+	height: 24px;
+}
+
+#find-posts-search {
+	float: left;
+	margin: 1px 4px 0 3px;
+}
+
 #find-posts-response {
 	margin: 8px 0;
 	padding: 0 1px;
@@ -3892,25 +3924,30 @@
 }
 
 #find-posts-response .found-radio {
-	padding: 5px 0 0 8px;
+	padding: 3px 0 0 8px;
 	width: 15px;
 }
 
 .find-box-buttons {
-	width: 480px;
-	margin: 8px;
+	padding: 8px;
+	overflow: hidden;
 }
 
-.find-box-search label {
-	padding-right: 6px;
-}
-
 .find-box #resize-se {
 	position: absolute;
 	right: 1px;
 	bottom: 1px;
 }
 
+.ui-find-overlay {
+	position: absolute;
+	top: 0;
+	left: 0;
+	background-color: #000;
+	opacity: 0.6;
+	filter: alpha(opacity=60);
+}
+
 ul#dismissed-updates {
 	display: none;
 }
