fb9fad40e3c171cbfcda792eea401a75e5829242
lrnassar
  Thu Feb 26 14:29:52 2026 -0800
Removing the max-width tag, which was arbitrarily cutting the hgSession table short, especially these days when monitors are wider. Also fixed an issue that TH and TD items were being called, TH are table headers and TD are cells, so all the header columns should be TH, this was causing a visual bug when the screen size was very small. Also removed the <B> tags, they are not necessary since TH items are automatically bolded. Also aligned all the text to the left based on ticket feedback since it looks better. Lastly, added a line for the 'sessionTable_filter' element to override the CSS of the filter search bar so it will be on the left side, next to the show NN items. Refs #33998

diff --git src/hg/hgSession/hgSession.c src/hg/hgSession/hgSession.c
index fb151c730fc..e3be1585167 100644
--- src/hg/hgSession/hgSession.c
+++ src/hg/hgSession/hgSession.c
@@ -308,42 +308,43 @@
 /* DataTables configuration: only allow ordering on session name, creation date, and database.
  * https://datatables.net/reference/option/columnDefs */
 jsInlineF(
         "if (theClient.isIePre11() === false)\n{\n"
         "$(document).ready(function () {\n"
         "    $('#sessionTable').DataTable({\"columnDefs\": [{\"orderable\":false, \"targets\":[0,4,5,6,7,8]}],\n"
         "                                       \"order\":[2,'desc'],\n"
         "                                       \"stateSave\":true,\n"
         "                                       \"stateSaveCallback\": %s,\n"
         "                                       \"stateLoadCallback\": %s\n"
         "                                 });\n"
         "} );\n"
         "}\n"
         , jsDataTableStateSave(hgSessionPrefix), jsDataTableStateLoad(hgSessionPrefix, cart));
 
+printf("<style>#sessionTable_filter { float:left !important; margin-left:20px; }</style>\n");
 printf("<H3>My Sessions</H3>\n");
-printf("<div style=\"max-width:1024px\">");
 printf("<table id=\"sessionTable\" class=\"sessionTable stripe hover row-border compact\" borderwidth=0>\n");
 printf("<thead><tr>");
-printf("<TH><TD><B>Session name (click to load)</B></TD>"
-        "<TD><B>Created on</B></TD><TD><b>View count</b></TD>"
-        "<td><b>Assembly</b></td>"
-       "<TD align=center><B>View/edit&nbsp;<BR>details&nbsp;</B></TD>"
-       "<TD align=center><B>Delete this&nbsp;<BR>session&nbsp;</B></TD>"
-       "<TD align=center><B>Share with&nbsp;<BR>others?&nbsp;</B></TD>"
-       "<td align-center><b>Post in&nbsp;<br><a href=\"../cgi-bin/hgPublicSessions?%s\">public listing</a>?</b></td>"
-       "<TD align=center><B>Send to<BR>mail</B></TD></TH>",
+printf("<th></th>"
+       "<th style=\"white-space:nowrap;text-align:left\">Session name (click to load)</th>"
+       "<th style=\"text-align:left\">Created on</th><th style=\"text-align:left\">View count</th>"
+       "<th style=\"text-align:left\">Assembly</th>"
+       "<th style=\"text-align:left\">View/edit&nbsp;<BR>details&nbsp;</th>"
+       "<th style=\"text-align:left\">Delete this&nbsp;<BR>session&nbsp;</th>"
+       "<th style=\"text-align:left\">Share with&nbsp;<BR>others?&nbsp;</th>"
+       "<th style=\"text-align:left\">Post in&nbsp;<br><a href=\"../cgi-bin/hgPublicSessions?%s\">public listing</a>?</th>"
+       "<th style=\"text-align:left\">Send to<BR>mail</th>",
        cartSidUrlString(cart));
 printf("</tr></thead>");
 printf("<tbody>\n");
 
 if (gotSettings)
     sqlSafef(query, sizeof(query), "SELECT sessionName, shared, firstUse, useCount, contents, settings from %s "
         "WHERE userName = '%s' ORDER BY sessionName;",
         namedSessionTable, encUserName);
 else
     sqlSafef(query, sizeof(query), "SELECT sessionName, shared, firstUse, useCount, contents from %s "
         "WHERE userName = '%s' ORDER BY sessionName;",
         namedSessionTable, encUserName);
 sr = sqlGetResult(conn, query);
 
 int rowIdx = 0;
@@ -444,31 +445,30 @@
 
     link = getSessionEmailLink(encUserName, encSessionName);
     printf("</td><td align=center>%s</td></tr>", link);
     freez(&link);
     foundAny = TRUE;
     struct slName *sn = slNameNew(sessionName);
     slAddHead(&existingSessionNames, sn);
     }
 if (!foundAny)
     printf("<TR><TD>&nbsp;&nbsp;&nbsp;</TD><TD>(none)</TD>"
 	   "<TD colspan=5></TD></TR>\n");
 
 printf("</tbody>\n");
 
 printf("</TABLE>\n");
-printf("</div>\n");
 printf("<P></P>\n");
 sqlFreeResult(&sr);
 hDisconnectCentral(&conn);
 return existingSessionNames;
 }
 
 void showOtherUserOptions()
 /* Print out inputs for loading another user's saved session. */
 {
 printf("<TABLE BORDERWIDTH=0>\n");
 printf("<TR><TD colspan=2>"
        "Use settings from another user's saved session:</TD></TR>\n"
        "<TR><TD>&nbsp;&nbsp;&nbsp;</TD><TD>User: \n");
 cgiMakeOnKeypressTextVar(hgsOtherUserName,
 			 cartUsualString(cart, hgsOtherUserName, ""),