A hidden mouse cursor won't reappear when moved if over a tab #12236

Closed
opened 2026-01-31 03:09:55 +00:00 by claunia · 9 comments
Owner

Originally created by @j4james on GitHub (Jan 28, 2021).

Environment

Windows build number: Version 10.0.18363.1256
Windows Terminal version (if applicable): commit d29d72e1e0

Steps to reproduce

  1. You'll need to be running a build of WT that includes the mouse hiding feature introduced in PR #8629.
  2. Move the mouse so it's positioned over one of the tab labels.
  3. Start typing something so the mouse cursor disappears.
  4. Try and move the mouse, but without moving off the label.

Expected behavior

The mouse cursor should reappear.

Actual behavior

The mouse cursor remains invisible until you move it onto the main output area of the window. But you can still see focus interactions, and tooltips changing, as you move over the tab controls.

Interestingly, if you move the mouse right off the WT window, it will become visible, but then moving back onto a tab will make it disappear again.

Originally created by @j4james on GitHub (Jan 28, 2021). # Environment Windows build number: Version 10.0.18363.1256 Windows Terminal version (if applicable): commit d29d72e1e023491800b6a03bc226c35e5f9ec240 # Steps to reproduce 1. You'll need to be running a build of WT that includes the mouse hiding feature introduced in PR #8629. 2. Move the mouse so it's positioned over one of the tab labels. 3. Start typing something so the mouse cursor disappears. 4. Try and move the mouse, but without moving off the label. # Expected behavior The mouse cursor should reappear. # Actual behavior The mouse cursor remains invisible until you move it onto the main output area of the window. But you can still see focus interactions, and tooltips changing, as you move over the tab controls. Interestingly, if you move the mouse right off the WT window, it will become visible, but then moving back onto a tab will make it disappear again.
Author
Owner

@Don-Vito commented on GitHub (Jan 28, 2021):

😢 - I guess the TabView is capturing the pointer move events somehow.

@Don-Vito commented on GitHub (Jan 28, 2021): 😢 - I guess the TabView is capturing the pointer move events somehow.
Author
Owner

@Don-Vito commented on GitHub (Jan 28, 2021):

I tried the following

  1. Added PointerMoveHandler to TerminalPage - it didn't help, the event is not getting fired (probably the TabView captures the pointer)
  2. Added PointerEntered and PointerExited to the TerminalControl, and changed the logic so the Hide will be fired only if the mouse within the bounds of the termcontrol. The problem is that sometimes PointerEntered is not triggered (e.g., when you close a fly-out)
  3. Added a VisualTreeHelper upon hide, to check if TermControl captures pointer position. Seems extremely inefficient.
@Don-Vito commented on GitHub (Jan 28, 2021): I tried the following 1. Added PointerMoveHandler to TerminalPage - it didn't help, the event is not getting fired (probably the TabView captures the pointer) 2. Added PointerEntered and PointerExited to the TerminalControl, and changed the logic so the Hide will be fired only if the mouse within the bounds of the termcontrol. The problem is that sometimes PointerEntered is not triggered (e.g., when you close a fly-out) 3. Added a VisualTreeHelper upon hide, to check if TermControl captures pointer position. Seems extremely inefficient.
Author
Owner

@DHowett commented on GitHub (Jan 28, 2021):

Oof, yeah. I had similar trouble with the implementation of the I-beam cursor over the control. It drives me mad that the cursor is a property of the application window, but controls need to individually set it. Absolutely mad.

@DHowett commented on GitHub (Jan 28, 2021): Oof, yeah. I had similar trouble with the implementation of the I-beam cursor over the control. It drives me *mad* that the cursor is a property of the application window, but controls need to individually set it. Absolutely mad.
Author
Owner

@DHowett commented on GitHub (Jan 28, 2021):

/cc @zadjii-msft triage decision: 1.7

@DHowett commented on GitHub (Jan 28, 2021): /cc @zadjii-msft triage decision: 1.7
Author
Owner

@Don-Vito commented on GitHub (Jan 28, 2021):

@DHowett - is it still possible to fix / rollback it for 1.6 Preview?

@Don-Vito commented on GitHub (Jan 28, 2021): @DHowett - is it still possible to fix / rollback it for 1.6 Preview?
Author
Owner

@DHowett commented on GitHub (Jan 28, 2021):

NOPE, but I can include a rollback or a fix in a servicing update.

@DHowett commented on GitHub (Jan 28, 2021): NOPE, but I can include a rollback or a fix in a servicing update.
Author
Owner

@zadjii-msft commented on GitHub (Jan 28, 2021):

That's W I L D. I don't think it's that bad that we need to release a 1.6 hotfix to roll this back, but we should definitely have a fix for 1.6 stable.

@zadjii-msft commented on GitHub (Jan 28, 2021): That's W I L D. I don't think it's _that_ bad that we need to release a 1.6 hotfix to roll this back, but we should definitely have a fix for 1.6 _stable_.
Author
Owner

@j4james commented on GitHub (Jan 28, 2021):

Yeah, the only reason I noticed this was because I was doing some testing where I needed to repeatedly open and close a tab, and I had the mouse hovering over the tab so I could quickly get to the close button. That's not exactly typical usage, so I think it's unlikely many people will encounter this issue.

@j4james commented on GitHub (Jan 28, 2021): Yeah, the only reason I noticed this was because I was doing some testing where I needed to repeatedly open and close a tab, and I had the mouse hovering over the tab so I could quickly get to the close button. That's not exactly typical usage, so I think it's unlikely many people will encounter this issue.
Author
Owner

@ghost commented on GitHub (Feb 11, 2021):

:tada:This issue was addressed in #8952, which has now been successfully released as Windows Terminal Preview v1.6.10412.0.🎉

Handy links:

@ghost commented on GitHub (Feb 11, 2021): :tada:This issue was addressed in #8952, which has now been successfully released as `Windows Terminal Preview v1.6.10412.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.6.10412.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12236