Here you go:
// Change document titles
function mgd_doctitle() {
$site_name = get_bloginfo('name');
$separator = ' | ';
if ( is_single() ) {
global $post;
$post_categories = get_the_category($post->ID);
$category_name = $post_categories[0]->cat_name;
$title = single_post_title('', FALSE) . ' | ' . $category_name . ' | ' . $site_name ;
}
elseif ( is_home() || is_front_page() ) {
$title = $site_name . get_bloginfo('description');
}
elseif ( is_page() ) {
$title = single_post_title('', FALSE) . ' | ' . $site_name ;
}
elseif ( is_search() ) {
$search_results = __('Search results for:', 'thematic');
$search_results .= ' ' . wp_specialchars(stripslashes(get_search_query()), true);
$title = $search_results . ' | ' . $site_name ;
}
elseif ( is_category() ) {
$category = __('', 'thematic');
$category .= ' ' . single_cat_title("", false); ;
$title = $category . ' | ' . $site_name ;
}
elseif ( is_tag() ) {
$tag = __('Tag Archives:', 'thematic');
$tag .= ' ' . thematic_tag_query();
$title = $site_name . ' | ' . $tag;
}
elseif ( is_404() ) {
$error = __('Not Found', 'thematic');
$title = $site_name . ' | ' . $error;
}
else {
$title = $site_name . ' | ' . get_bloginfo('description');
}
$title = "\t" . "<title>" . $title . "</title>" . "\n\n";
echo apply_filters( 'mgd_doctitle', $title );
}
add_filter('thematic_doctitle','mgd_doctitle');