Mine is:
function getDocumentTitle($separator = " « "){
$title = get_bloginfo(\'name\');
$desc = get_bloginfo(\'description\');
if(is_front_page() && is_home() && !empty($desc)){
$title .= $separator.$desc;
}elseif(is_home() || is_singular()){
$id = $GLOBALS[\'wp_query\']->get_queried_object_id();
if($meta = get_post_meta($id, \'title\', true)) $title .= $separator.$meta;
$title .= (empty($meta) && is_front_page() && !empty($desc)) ? $separator.$desc : $separator.get_post_field(\'post_title\', $id);
}elseif(is_archive()){
if(is_category() || is_tag() || is_tax()){
$term = $GLOBALS[\'wp_query\']->get_queried_object();
$title .= $separator.$term->name;
}elseif(is_author()){
$title .= $separator.get_the_author_meta(\'display_name\', get_query_var(\'author\'));
}elseif(is_date()){
if(is_day())
$title .= $separator.sprintf(_a(\'Archive for %s\'), get_the_time(apply_filters(\'doc_title_archive_day_format\', \'F jS, Y\')));
elseif(get_query_var(\'w\'))
$title .= $separator.$separator.sprintf(_a(\'Archive for week %1$s of %2$s\'), get_the_time(\'W\'), get_the_time(\'Y\'));
elseif(is_month())
$title .= $separator.sprintf(_a(\'Archive for %s\'), single_month_title(\' \', false));
elseif(is_year())
$title .= $separator.sprintf(_a(\'Archive for year %s\'), get_the_time(\'Y\'));
}else{
$title .= $separator.post_type_archive_title(\'\', false);
}
}elseif(is_search()){
$title .= $separator.sprintf(_a(\'Search results for %s\'), \'"\'.get_search_query().\'"\');
}elseif(is_404()){
$title .= $separator._a(\'404 Not Found\');
}
// paged?
if((($page = $GLOBALS[\'wp_query\']->get(\'paged\')) || ($page = $GLOBALS[\'wp_query\']->get(\'page\'))) && $page > 1 && !is_404())
$title .= $separator.sprintf(_a(\'Page %s\'), $page);
// comment page?
if(get_query_var(\'cpage\'))
$title .= $separator.sprintf(_a(\'Comment Page %s\'), get_query_var(\'cpage\'));
// apply the wp_title filters so we\'re compatible with plugins
return apply_filters(\'wp_title\', $title, $separator, \'\');
}