From e7dcc01017f90af72df952648b07b707b5a9ac75 Mon Sep 17 00:00:00 2001
From: Jan-Christoph Borchardt <hey@jancborchardt.net>
Date: Thu, 26 Mar 2015 16:25:29 +0100
Subject: [PATCH] only move dropdown triangle when navigation is opened, fix
 timing bug

---
 core/js/js.js | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/core/js/js.js b/core/js/js.js
index a0a70e549e..7a895a2241 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1139,13 +1139,6 @@ function initCore() {
 		$('#settings #expanddiv').slideUp(OC.menuSpeed);
 	});
 
-	// move triangle of apps dropdown to align with app name triangle
-	// 68 is the additional offset coming from the logo width
-	if($('#navigation').length) {
-		var caretPosition = $('.header-appname + .icon-caret').offset().left - 2;
-		$('head').append('<style>#navigation:after { left: '+ caretPosition +'px; }</style>');
-	}
-
 	// all the tipsy stuff needs to be here (in reverse order) to work
 	$('.displayName .action').tipsy({gravity:'se', fade:true, live:true});
 	$('.password .action').tipsy({gravity:'se', fade:true, live:true});
@@ -1203,6 +1196,20 @@ function initCore() {
 
 	setupMainMenu();
 
+	// move triangle of apps dropdown to align with app name triangle
+	// 68 is the additional offset coming from the logo width
+	if($('#navigation').length) {
+		$('#header #owncloud + .menutoggle').one('click', function(){
+			var caretPosition = $('.header-appname + .icon-caret').offset().left - 2;
+			if(caretPosition > 255) {
+				// if the app name is longer than the menu, just put the triangle in the middle
+				return;
+			} else {
+				$('head').append('<style>#navigation:after { left: '+ caretPosition +'px; }</style>');
+			}
+		});
+	}
+
 	// just add snapper for logged in users
 	if($('#app-navigation').length && !$('html').hasClass('lte9')) {
 
-- 
GitLab