Index: src/wp-includes/admin-bar.php
===================================================================
--- src/wp-includes/admin-bar.php	(revision 32828)
+++ src/wp-includes/admin-bar.php	(working copy)
@@ -313,8 +313,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 );
 	}
 }
 
@@ -655,47 +655,20 @@
 }
 
 /**
- * Add appearance submenu items to the "Site Name" menu.
+ * Add "Customize" 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' ) );
-
-	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-	$customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
-
-	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 ( 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',
-				),
-			) );
-		}
-	}
-
+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(
-			'parent' => 'appearance',
 			'id'     => 'customize',
-			'title'  => __('Customize'),
+			'title'  => $title,
 			'href'   => $customize_url,
 			'meta'   => array(
 				'class' => 'hide-if-no-customize',
@@ -703,86 +676,96 @@
 		) );
 		add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
 	}
+}
 
-	if ( ! current_user_can( 'edit_theme_options' ) ) {
-		return;
+/**
+ * Add admin submenu items to the "Site Name" menu.
+ *
+ * @since 4.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
+ */
+function wp_admin_bar_admin_menu( $wp_admin_bar ) {
+	$wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'admin' ) );
+
+	// Post types.
+	$cpts = (array) get_post_types( array( 'show_in_admin_bar' => true ), 'objects' );
+
+	if ( isset( $cpts['post'] ) && current_user_can( $cpts['post']->cap->edit_posts ) ) {
+		$actions[ 'edit.php' ] = array( $cpts['post']->labels->name, 'edit-posts' );
 	}
 
-	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 ( 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-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',
-				),
-			) );
-		}
+	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_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') ) );
+	unset( $cpts['post'], $cpts['page'], $cpts['attachment'] );
 
-	if ( current_theme_supports( 'custom-background' ) ) {
-		$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',
-			),
-		) );
+	// Add any additional custom post types.
+	foreach ( $cpts as $cpt ) {
+		if ( ! current_user_can( $cpt->cap->edit_posts ) )
+			continue;
 
-		if ( current_user_can( 'customize' ) ) {
+		$key = 'edit.php?post_type=' . $cpt->name;
+		$actions[ $key ] = array( $cpt->labels->name, 'edit-' . $cpt->name );
+	}
+
+	if ( $actions ) {
+		foreach ( $actions as $link => $action ) {
+			list( $title, $id ) = $action;
+
 			$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',
-				),
+				'parent'    => 'admin',
+				'id'        => $id,
+				'title'     => $title,
+				'href'      => admin_url( $link )
 			) );
 		}
 	}
 
-	if ( current_theme_supports( 'custom-header' ) ) {
+	// Appearance.
+	if ( current_user_can( 'switch_themes' ) ) {
 		$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'     => 'themes',
+			'title'  => __( 'Appearance' ), // @todo should we just say themes here since there isn't a submenu?
+			'href'   => admin_url( 'themes.php' )
 		) );
+	}
+	
+	// Plugins.
+	if ( current_user_can( 'activate_plugins' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'plugins',
+			'title'  => __( 'Plugins' ),
+			'href'   => admin_url( 'plugins.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_users' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'admin',
+			'id'     => 'edit-users',
+			'title'  => __( 'Users' ),
+			'href'   => admin_url( 'users.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' )
+		) );
+	}
 }
 
 /**
Index: src/wp-includes/class-wp-admin-bar.php
===================================================================
--- src/wp-includes/class-wp-admin-bar.php	(revision 32828)
+++ src/wp-includes/class-wp-admin-bar.php	(working copy)
@@ -557,6 +557,7 @@
 		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_updates_menu', 40 );
+		add_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 75 );
 
 		// Content related.
 		if ( ! is_network_admin() && ! is_user_admin() ) {
Index: src/wp-includes/css/admin-bar.css
===================================================================
--- src/wp-includes/css/admin-bar.css	(revision 32828)
+++ src/wp-includes/css/admin-bar.css	(working copy)
@@ -501,10 +501,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';
@@ -551,6 +555,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 {
