172e34d4be1d144aad214488d90b35e0b96317d4
chmalee
  Tue Nov 28 10:38:22 2023 -0800
Lower amount of time required to show a new mouseover once one is already visible, allows user to more quickly move the cursor back and forth over two adjacent items, refs Max and Mark email

diff --git src/hg/js/utils.js src/hg/js/utils.js
index c9894d3..87f4621 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -3963,31 +3963,31 @@
 }
 
 function mousemoveTimerHelper(e) {
     /* user has moved the mouse and then stopped moving for long enough. */
     clearTimeout(mousemoveTimer);
     canShowNewMouseover = true;
     mousemoveTimer = undefined;
 }
 
 function mousemoveHelper(e) {
     /* Helper function for deciding whether to keep a tooltip visible upon a mousemove event */
     if (mousemoveTimer === undefined) {
         // if we are over another mouseable element we want to show that one instead
         // use this timer to do so
         let callback = mousemoveTimerHelper.bind(mouseoverContainer);
-        mousemoveTimer = setTimeout(callback, 500, e);
+        mousemoveTimer = setTimeout(callback, 150, e);
     }
 
     if (mousedNewItem && canShowNewMouseover && !mouseIsOverPopup(e, this, 0)) {
         // the !mouseIsOverPopup() check catches the corner case where the mouse
         // was moved slowly enough to the popup to set off the mousemoveTimer, but
         // is now over the pop up itself
         hideMouseoverText(this);
         mousemoveController.abort();
     } else {
         if (mouseIsOverPopup(e, this) || mouseIsOverItem(e, this)) {
             // the mouse is in the general area of the popup/item
             // the mouse needs to stop moving and then the flag will
             // get set by the mousemoveTimer
             canShowNewMouseover = false;
             return;