14cb2006a261922f27924e0fed14f067ce90fd1e
lrnassar
  Tue Apr 28 14:17:58 2026 -0700
Move chromAlias info icon next to chromosome position, refs #29201

Relocate the icon from the right side of the search bar to between the
Multi-region button and the chromosome position display, per reviewer
feedback that the prior location read ambiguously next to the search box.
Show only the (i) glyph (drop the "Aliases" label), bump font-size to
110%, tighten margins, and rename the tooltip from "Also known as:" to
"Alternate sequence names:".

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 4e2a4b4d710..63927f10708 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -8864,32 +8864,32 @@
         continue;
     if (sameString(a->name, displayName) || sameString(a->name, nativeName))
         continue;
     if (dy->stringSize > 0)
         dyStringAppend(dy, ", ");
     dyStringAppend(dy, a->name);
     }
 
 if (dy->stringSize == 0)
     {
     dyStringFree(&dy);
     return;
     }
 
 char *encoded = htmlEncode(dy->string);
-printf("<span id='chromAliases' title='Also known as: %s'>"
-       "<a>&#9432; Aliases</a></span>", encoded);
+printf("<span id='chromAliases' title='Alternate sequence names: %s'>"
+       "<a>&#9432;</a></span>", encoded);
 freeMem(encoded);
 dyStringFree(&dy);
 }
 
 
 unsigned getParaLoadTimeout()
 // get the parallel load timeout in seconds (defaults to 90)
 {
 char *paraLoadTimeoutStr = cartOptionalString(cart, "parallelFetch.timeout");
 if (paraLoadTimeoutStr == NULL)
     paraLoadTimeoutStr = cfgOptionDefault("parallelFetch.timeout", "90");  // wait up to default 90 seconds.
 
 unsigned paraLoadTimeout = sqlUnsigned(paraLoadTimeoutStr);
 
 return paraLoadTimeout;
@@ -9641,59 +9641,60 @@
 	char buf[256];
         char *javascript = "document.location = '/cgi-bin/hgTracks?db=' + document.TrackForm.db.options[document.TrackForm.db.selectedIndex].value;";
         if (containsStringNoCase(database, "zoo"))
             {
             hPuts("Organism ");
             printAssemblyListHtmlExtra(database, "change", javascript);
             }
 
         // multi-region button on position line, initially under hg.conf control
         if (multiRegionButtonTop)
             {
             printMultiRegionButton();
             hPrintf(" ");
             }
 
+        if (cfgOptionBooleanDefault("showAliases", FALSE) && sameString(virtModeType, "default"))
+            printAliases(chromName, virtChromName);
+
 	if (virtualSingleChrom()) // DISGUISE VMODE
 	    safef(buf, sizeof buf, "%s", windowsSpanPosition());
 	else
 	    safef(buf, sizeof buf, "%s:%ld-%ld", virtChromName, virtWinStart+1, virtWinEnd);
 	
 	position = cloneString(buf);
 
         // position box
         char *pressedClass = "";
         char *showVirtRegions = "";
         if (differentString(virtModeType, "default"))
             {
             pressedClass = "pressed";
             showVirtRegions = "show multi-region position ranges and ";
             }
 	hPrintf("<span class='positionDisplay %s' id='positionDisplay' "
                 "title='click to %s copy chromosome range to input box'>%s</span>", 
                         pressedClass, showVirtRegions, addCommasToPos(database, position));
 	hPrintf("<input type='hidden' name='position' id='position' value='%s'>\n", buf);
 	sprintLongWithCommas(buf, virtWinEnd - virtWinStart);
 	hPrintf(" <span id='size'>%s</span> bp. ", buf);
 	hPrintf("<input class='positionInput' type='text' name='hgt.positionInput' id='positionInput'"
                         " size='%d'>\n", multiRegionButtonTop ? 51 : 61);
 	hWrites(" ");
 	hButton("goButton", "Search");
 
         printSearchHelpLink();
-        if (cfgOptionBooleanDefault("showAliases", FALSE) && sameString(virtModeType, "default"))
-            printAliases(chromName, virtChromName);
 
         printPatchNote();
 
 	if (!trackHubDatabase(database))
 	    {
             jsonObjectAdd(jsonForClient, "assemblySupportsGeneSuggest", newJsonBoolean(assemblySupportsGeneSuggest(database)));
             if (assemblySupportsGeneSuggest(database))
                 hPrintf("<input type='hidden' name='hgt.suggestTrack' id='suggestTrack' value='%s'>\n", assemblyGeneSuggestTrack(database));
 	    }
 
         // hg.conf controlled links
 
         // database-specific link: 2 hg.conf settings, format <db>_TopLink{Label}
         struct slName *dbLinks = cfgNamesWithPrefix(database);