Index: src/wp-admin/menu.php
===================================================================
--- src/wp-admin/menu.php	(revision 32893)
+++ src/wp-admin/menu.php	(working copy)
@@ -41,6 +41,7 @@
 	$submenu[ 'index.php' ][10] = array( sprintf( __('Updates %s'), "<span class='update-plugins count-{$update_data['counts']['total']}' title='{$update_data['title']}'><span class='update-count'>" . number_format_i18n($update_data['counts']['total']) . "</span></span>" ), $cap, 'update-core.php');
 	unset( $cap );
 }
+$submenu[ 'index.php' ][15] = array( __('About'), 'read', 'about.php' );
 
 $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' );
 
@@ -155,16 +156,6 @@
 		$submenu['themes.php'][10] = array( __( 'Menus' ), 'edit_theme_options', 'nav-menus.php' );
 	}
 
-	if ( current_theme_supports( 'custom-header' ) && current_user_can( 'customize') ) {
-		$customize_header_url = add_query_arg( array( 'autofocus' => array( 'control' => 'header_image' ) ), $customize_url );
-		$submenu['themes.php'][15] = array( __( 'Header' ), $appearance_cap, esc_url( $customize_header_url ), '', 'hide-if-no-customize' );
-	}
-
-	if ( current_theme_supports( 'custom-background' ) && current_user_can( 'customize') ) {
-		$customize_background_url = add_query_arg( array( 'autofocus' => array( 'control' => 'background_image' ) ), $customize_url );
-		$submenu['themes.php'][20] = array( __( 'Background' ), $appearance_cap, esc_url( $customize_background_url ), '', 'hide-if-no-customize' );
-	}
-
 	unset( $customize_url );
 
 unset( $appearance_cap );
Index: src/wp-includes/admin-bar.php
===================================================================
--- src/wp-includes/admin-bar.php	(revision 32893)
+++ src/wp-includes/admin-bar.php	(working copy)
@@ -96,63 +96,6 @@
 }
 
 /**
- * Add the WordPress logo menu.
- *
- * @since 3.3.0
- *
- * @param WP_Admin_Bar $wp_admin_bar
- */
-function wp_admin_bar_wp_menu( $wp_admin_bar ) {
-	$wp_admin_bar->add_menu( array(
-		'id'    => 'wp-logo',
-		'title' => '<span class="ab-icon"></span><span class="screen-reader-text">' . __( 'About WordPress' ) . '</span>',
-		'href'  => self_admin_url( 'about.php' ),
-	) );
-
-	if ( is_user_logged_in() ) {
-		// Add "About WordPress" link
-		$wp_admin_bar->add_menu( array(
-			'parent' => 'wp-logo',
-			'id'     => 'about',
-			'title'  => __('About WordPress'),
-			'href'   => self_admin_url( 'about.php' ),
-		) );
-	}
-
-	// Add WordPress.org link
-	$wp_admin_bar->add_menu( array(
-		'parent'    => 'wp-logo-external',
-		'id'        => 'wporg',
-		'title'     => __('WordPress.org'),
-		'href'      => __('https://wordpress.org/'),
-	) );
-
-	// Add codex link
-	$wp_admin_bar->add_menu( array(
-		'parent'    => 'wp-logo-external',
-		'id'        => 'documentation',
-		'title'     => __('Documentation'),
-		'href'      => __('https://codex.wordpress.org/'),
-	) );
-
-	// Add forums link
-	$wp_admin_bar->add_menu( array(
-		'parent'    => 'wp-logo-external',
-		'id'        => 'support-forums',
-		'title'     => __('Support Forums'),
-		'href'      => __('https://wordpress.org/support/'),
-	) );
-
-	// Add feedback link
-	$wp_admin_bar->add_menu( array(
-		'parent'    => 'wp-logo-external',
-		'id'        => 'feedback',
-		'title'     => __('Feedback'),
-		'href'      => __('https://wordpress.org/support/forum/requests-and-feedback'),
-	) );
-}
-
-/**
  * Add the sidebar toggle button.
  *
  * @since 3.8.0
@@ -278,10 +221,24 @@
 
 	$title = wp_html_excerpt( $blogname, 40, '&hellip;' );
 
+	$notification = false;
+	$awaiting_mod = wp_count_comments();
+	if ( current_user_can( 'edit_posts' ) && $awaiting_mod->moderated > 0 ) {
+		$notification = true;
+	} elseif ( ! is_multisite() && current_user_can( 'update_plugins' ) ) {
+		$update_data = wp_get_update_data();
+		if ( $update_data['counts']['plugins'] > 0 ) {
+			$notification = true;
+		}
+	}
+
 	$wp_admin_bar->add_menu( array(
 		'id'    => 'site-name',
 		'title' => $title,
 		'href'  => is_admin() ? home_url( '/' ) : admin_url(),
+		'meta'   => array(
+			'class' => ( ! is_admin() && $notification ) ? 'notification-pending' : '',
+		),
 	) );
 
 	// Create submenu items.
@@ -313,8 +270,8 @@
 			'href'   => admin_url(),
 		) );
 
-		// Add the appearance submenu items.
-		wp_admin_bar_appearance_menu( $wp_admin_bar );
+		// Add the admin submenu items.
+		wp_admin_bar_admin_menu( $wp_admin_bar );
 	}
 }
 
@@ -629,160 +586,145 @@
 }
 
 /**
- * Add edit comments link with awaiting moderation count bubble.
+ * Add "Customize" menu.
  *
- * @since 3.1.0
+ * @since 4.3.0
  *
  * @param WP_Admin_Bar $wp_admin_bar
  */
-function wp_admin_bar_comments_menu( $wp_admin_bar ) {
-	if ( !current_user_can('edit_posts') )
-		return;
-
-	$awaiting_mod = wp_count_comments();
-	$awaiting_mod = $awaiting_mod->moderated;
-	$awaiting_title = esc_attr( sprintf( _n( '%s comment awaiting moderation', '%s comments awaiting moderation', $awaiting_mod ), number_format_i18n( $awaiting_mod ) ) );
-
-	$icon  = '<span class="ab-icon"></span>';
-	$title = '<span id="ab-awaiting-mod" class="ab-label awaiting-mod pending-count count-' . $awaiting_mod . '">' . number_format_i18n( $awaiting_mod ) . '</span>';
-
-	$wp_admin_bar->add_menu( array(
-		'id'    => 'comments',
-		'title' => $icon . $title,
-		'href'  => admin_url('edit-comments.php'),
-		'meta'  => array( 'title' => $awaiting_title ),
-	) );
+function wp_admin_bar_customize_menu( $wp_admin_bar ) {
+	if ( current_user_can( 'customize' ) ) {
+		$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+		$customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
+		$title = '<span class="ab-icon"></span><span class="ab-label">' . __( 'Customize' ) . '</span>';
+		$wp_admin_bar->add_menu( array(
+			'id'     => 'customize',
+			'title'  => $title,
+			'href'   => $customize_url,
+			'meta'   => array(
+				'class' => 'hide-if-no-customize',
+			),
+		) );
+		add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	}
 }
 
 /**
- * Add appearance submenu items to the "Site Name" menu.
+ * Add admin submenu items to the "Site Name" menu.
  *
- * @since 3.1.0
+ * @since 4.3.0
  *
  * @param WP_Admin_Bar $wp_admin_bar
  */
-function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
-	$wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
+function wp_admin_bar_admin_menu( $wp_admin_bar ) {
+	$wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'admin' ) );
 
-	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-	$customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
+	// Post types.
+	$cpts = (array) get_post_types( array( 'show_in_admin_bar' => true ), 'objects' );
 
-	if ( current_user_can( 'switch_themes' ) ) {
-		$wp_admin_bar->add_menu( array(
-			'parent' => 'appearance',
-			'id'     => 'themes',
-			'title'  => __( 'Themes' ),
-			'href'   => admin_url( 'themes.php' ),
-			'meta'   => array(
-				'class' => 'hide-if-customize',
-			),
-		) );
+	if ( isset( $cpts['post'] ) && current_user_can( $cpts['post']->cap->edit_posts ) ) {
+		$actions[ 'edit.php' ] = array( $cpts['post']->labels->name, 'edit-posts' );
+	}
 
-		if ( current_user_can( 'customize' ) ) {
-			$wp_admin_bar->add_menu( array(
-				'parent' => 'appearance',
-				'id'     => 'customize-themes',
-				'title'  => __( 'Themes' ),
-				'href'   => add_query_arg( urlencode( 'autofocus[section]' ), 'themes', $customize_url ), // urlencode() needed due to #16859
-				'meta'   => array(
-					'class' => 'hide-if-no-customize',
-				),
-			) );
-		}
+	if ( isset( $cpts['attachment'] ) && current_user_can( 'edit_posts' ) ) {
+		$actions[ 'upload.php' ] = array( $cpts['attachment']->labels->name, 'edit-media' );
 	}
 
-	if ( current_user_can( 'customize' ) ) {
-		$wp_admin_bar->add_menu( array(
-			'parent' => 'appearance',
-			'id'     => 'customize',
-			'title'  => __('Customize'),
-			'href'   => $customize_url,
-			'meta'   => array(
-				'class' => 'hide-if-no-customize',
-			),
-		) );
-		add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	if ( isset( $cpts['page'] ) && current_user_can( $cpts['page']->cap->edit_posts ) ) {
+		$actions[ 'edit.php?post_type=page' ] = array( $cpts['page']->labels->name, 'edit-pages' );
 	}
 
-	if ( ! current_user_can( 'edit_theme_options' ) ) {
-		return;
+	unset( $cpts['post'], $cpts['page'], $cpts['attachment'] );
+
+	// Add any additional custom post types.
+	foreach ( $cpts as $cpt ) {
+		if ( ! current_user_can( $cpt->cap->edit_posts ) )
+			continue;
+
+		$key = 'edit.php?post_type=' . $cpt->name;
+		$actions[ $key ] = array( $cpt->labels->name, 'edit-' . $cpt->name );
 	}
 
-	if ( current_theme_supports( 'widgets' )  ) {
-		$wp_admin_bar->add_menu( array(
-			'parent' => 'appearance',
-			'id'     => 'widgets',
-			'title'  => __( 'Widgets' ),
-			'href'   => admin_url( 'widgets.php' ),
-			'meta'   => array(
-				'class' => 'hide-if-customize',
-			),
-		) );
+	if ( $actions ) {
+		foreach ( $actions as $link => $action ) {
+			list( $title, $id ) = $action;
 
-		if ( current_user_can( 'customize' ) ) {
 			$wp_admin_bar->add_menu( array(
-				'parent' => 'appearance',
-				'id'     => 'customize-widgets',
-				'title'  => __( 'Widgets' ),
-				'href'   => add_query_arg( urlencode( 'autofocus[panel]' ), 'widgets', $customize_url ), // urlencode() needed due to #16859
-				'meta'   => array(
-					'class' => 'hide-if-no-customize',
-				),
+				'parent'    => 'admin',
+				'id'        => $id,
+				'title'     => $title,
+				'href'      => admin_url( $link )
 			) );
 		}
 	}
 
-	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) );
+	// Comments
+	if ( current_user_can( 'edit_posts' ) ) {
+		$awaiting_mod = wp_count_comments();
+		$awaiting_mod = $awaiting_mod->moderated;
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'comments',
+			'title'  => sprintf( __( 'Comments %s' ), "<span class='awaiting-mod count-$awaiting_mod'><span class='pending-count'>" . number_format_i18n( $awaiting_mod ) . "</span></span>" ),
+			'href'   => admin_url( 'edit-comments.php' ),
+		) );
+	}
 
-	if ( current_theme_supports( 'custom-background' ) ) {
+	// Appearance.
+	if ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) ) {
 		$wp_admin_bar->add_menu( array(
-			'parent' => 'appearance',
-			'id'     => 'background',
-			'title'  => __( 'Background' ),
-			'href'   => admin_url( 'themes.php?page=custom-background' ),
-			'meta'   => array(
-				'class' => 'hide-if-customize',
-			),
+			'parent' => 'admin',
+			'id'     => 'themes',
+			'title'  => __( 'Appearance' ), // @todo should we just say themes here since there isn't a submenu?
+			'href'   => admin_url( 'themes.php' )
 		) );
+	}
 
-		if ( current_user_can( 'customize' ) ) {
-			$wp_admin_bar->add_menu( array(
-				'parent' => 'appearance',
-				'id'     => 'customize-background',
-				'title'  => __( 'Background' ),
-				'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'background_image', $customize_url ), // urlencode() needed due to #16859
-				'meta'   => array(
-					'class' => 'hide-if-no-customize',
-				),
-			) );
+	// Plugins.
+	if ( current_user_can( 'activate_plugins' ) ) {
+		if ( ! is_multisite() && current_user_can( 'update_plugins' ) ) {
+			$update_data = wp_get_update_data();
+			$count = "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n($update_data['counts']['plugins']) . "</span></span>";
+		} else {
+			$count = '';
 		}
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'plugins',
+			'title'  => sprintf( __( 'Plugins %s' ), $count ),
+			'href'   => admin_url( 'plugins.php' )
+		) );
 	}
 
-	if ( current_theme_supports( 'custom-header' ) ) {
+	// Users.
+	if ( current_user_can( 'list_users' ) ) {
 		$wp_admin_bar->add_menu( array(
-			'parent' => 'appearance',
-			'id'     => 'header',
-			'title'  => __( 'Header' ),
-			'href'   => admin_url( 'themes.php?page=custom-header' ),
-			'meta'   => array(
-				'class' => 'hide-if-customize',
-			),
+			'parent' => 'admin',
+			'id'     => 'edit-users',
+			'title'  => __( 'Users' ),
+			'href'   => admin_url( 'users.php' )
 		) );
+	}
 
-		if ( current_user_can( 'customize' ) ) {
-			$wp_admin_bar->add_menu( array(
-				'parent' => 'appearance',
-				'id'     => 'customize-header',
-				'title'  => __( 'Header' ),
-				'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'header_image', $customize_url ), // urlencode() needed due to #16859
-				'meta'   => array(
-					'class' => 'hide-if-no-customize',
-				),
-			) );
-		}
+	// Users.
+	if ( current_user_can( 'edit_posts' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'tools',
+			'title'  => __( 'Tools' ),
+			'href'   => admin_url( 'tools.php' )
+		) );
 	}
 
+	// Settings.
+	if ( current_user_can( 'manage_options' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'settings',
+			'title'  => __( 'Settings' ),
+			'href'   => admin_url( 'options.php' )
+		) );
+	}
 }
 
 /**
@@ -854,14 +796,6 @@
 			'class' => 'ab-top-secondary',
 		),
 	) );
-
-	$wp_admin_bar->add_group( array(
-		'parent' => 'wp-logo',
-		'id'     => 'wp-logo-external',
-		'meta'   => array(
-			'class' => 'ab-sub-secondary',
-		),
-	) );
 }
 
 /**
Index: src/wp-includes/class-wp-admin-bar.php
===================================================================
--- src/wp-includes/class-wp-admin-bar.php	(revision 32893)
+++ src/wp-includes/class-wp-admin-bar.php	(working copy)
@@ -553,14 +553,13 @@
 
 		// Site related.
 		add_action( 'admin_bar_menu', 'wp_admin_bar_sidebar_toggle', 0 );
-		add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
 		add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
 		add_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 );
+		add_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 35 );
 		add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 40 );
 
 		// Content related.
 		if ( ! is_network_admin() && ! is_user_admin() ) {
-			add_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
 			add_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 70 );
 		}
 		add_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 80 );
Index: src/wp-includes/css/admin-bar.css
===================================================================
--- src/wp-includes/css/admin-bar.css	(revision 32893)
+++ src/wp-includes/css/admin-bar.css	(working copy)
@@ -458,25 +458,6 @@
 	width: auto;
 }
 
-/**
- * WP Logo
- */
-#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon {
-	width: 15px;
-	height: 20px;
-	margin-right: 0;
-	padding: 6px 0 5px;
-}
-
-#wpadminbar #wp-admin-bar-wp-logo > .ab-item {
-	padding: 0 7px;
-}
-
-#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
-	content: '\f120';
-	top: 2px;
-}
-
 /*
  * My Sites & Site Title
  */
@@ -501,10 +482,14 @@
 	margin: 6px 8px 0 -2px;
 }
 
-#wpadminbar #wp-admin-bar-appearance {
-	margin-top: -12px;
+#wpadminbar #wp-admin-bar-site-name-default {
+	padding-bottom: 2px;
 }
 
+#wpadminbar #wp-admin-bar-themes {
+	margin-top: 8px;
+}
+
 #wpadminbar #wp-admin-bar-my-sites > .ab-item:before,
 #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
 	content: '\f112';
@@ -517,7 +502,8 @@
 }
 
 #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
-	content: "\f226";
+	content: "\f120";
+	top: 2px;
 }
 
 .wp-admin #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
@@ -529,19 +515,45 @@
 /**
  * Comments
  */
-#wpadminbar #wp-admin-bar-comments .ab-icon {
-	margin-right: 6px;
+#wp-admin-bar-site-name.notification-pending:before {
+	content: "";
+	width: 6px;
+	height: 6px;
+	background: #d54e21;
+	position: absolute;
+	top: 6px;
+	left: 23px;
+	border-radius: 100%;
+	z-index: 1;
 }
 
-#wpadminbar #wp-admin-bar-comments .ab-icon:before {
-	content: '\f101';
-	top: 3px;
+#wpadminbar .awaiting-mod,
+#wpadminbar .update-plugins {
+	display: inline-block;
+	background-color: #d54e21;
+	color: #fff;
+	font-size: 9px;
+	line-height: 17px;
+	font-weight: 600;
+	margin: 5px 0 0 2px;
+	vertical-align: top;
+	-webkit-border-radius: 10px;
+	border-radius: 10px;
+	z-index: 26;
 }
 
-#wpadminbar #wp-admin-bar-comments .count-0 {
-	opacity: .5;
+#wpadminbar li .awaiting-mod span,
+#wpadminbar li span.update-plugins span {
+	display: block;
+	padding: 0 6px;
+	font-size: 9px;
+	line-height: 17px;
 }
 
+#wpadminbar li span.count-0 {
+	display: none;
+}
+
 /**
  * New Content
  */
@@ -551,6 +563,18 @@
 }
 
 /**
+ * Customize
+ */
+#wpadminbar #wp-admin-bar-customize .ab-icon {
+	margin-right: 6px;
+}
+
+#wpadminbar #wp-admin-bar-customize .ab-icon:before {
+	content: '\f180';
+	top: 2px;
+}
+
+/**
  * Updates
  */
 #wpadminbar #wp-admin-bar-updates .ab-icon:before {
@@ -846,24 +870,6 @@
 		display: none;
 	}
 
-	/* WP logo */
-	#wpadminbar #wp-admin-bar-wp-logo > .ab-item {
-		padding: 0;
-	}
-
-	#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon {
-		padding: 0;
-		width: 52px;
-		height: 46px;
-		text-align: center;
-		vertical-align: top;
-	}
-
-	#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
-		font: 28px/1 'dashicons' !important;
-		top: -3px;
-	}
-
 	#wpadminbar .ab-icon,
 	#wpadminbar .ab-item:before {
 		padding: 0;
@@ -937,12 +943,12 @@
 		top: 3px;
 	}
 
-	/* Comments */
-	#wpadminbar #wp-admin-bar-comments .ab-icon {
+	/* Customize */
+	#wpadminbar #wp-admin-bar-customize .ab-icon {
 		margin: 0;
 	}
 
-	#wpadminbar #wp-admin-bar-comments .ab-icon:before {
+	#wpadminbar #wp-admin-bar-customize .ab-icon:before {
 		display: block;
 		font-size: 34px;
 		height: 46px;
@@ -1002,13 +1008,12 @@
 	}
 
 	#wpadminbar li#wp-admin-bar-menu-toggle,
-	#wpadminbar li#wp-admin-bar-wp-logo,
 	#wpadminbar li#wp-admin-bar-my-sites,
 	#wpadminbar li#wp-admin-bar-updates,
 	#wpadminbar li#wp-admin-bar-site-name,
 	#wpadminbar li#wp-admin-bar-new-content,
 	#wpadminbar li#wp-admin-bar-edit,
-	#wpadminbar li#wp-admin-bar-comments,
+	#wpadminbar li#wp-admin-bar-customize,
 	#wpadminbar li#wp-admin-bar-my-account {
 		display: block;
 	}
