Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
j4james opened this issue Jan 28, 2021 · 9 comments · Fixed by #8952
Closed

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

j4james opened this issue Jan 28, 2021 · 9 comments · Fixed by #8952
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Help Wanted We encourage anyone to jump in on these. Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Priority-2 A description (P2) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release.
Milestone

Comments

@j4james
Copy link
Collaborator

j4james commented Jan 28, 2021

Environment

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

Steps to reproduce

  1. You'll need to be running a build of WT that includes the mouse hiding feature introduced in PR Teach terminal to hide mouse while typing #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.

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Jan 28, 2021
@Don-Vito
Copy link
Contributor

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

@Don-Vito
Copy link
Contributor

Don-Vito commented 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.

@DHowett
Copy link
Member

DHowett commented 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 DHowett added Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Help Wanted We encourage anyone to jump in on these. Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-2 A description (P2) Product-Terminal The new Windows Terminal. labels Jan 28, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Jan 28, 2021
@DHowett DHowett added Needs-Tag-Fix Doesn't match tag requirements and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Jan 28, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Jan 28, 2021
@DHowett DHowett added this to the Terminal v1.7 milestone Jan 28, 2021
@DHowett
Copy link
Member

DHowett commented Jan 28, 2021

/cc @zadjii-msft triage decision: 1.7

@Don-Vito
Copy link
Contributor

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

@DHowett
Copy link
Member

DHowett commented Jan 28, 2021

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

@zadjii-msft
Copy link
Member

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.

@j4james
Copy link
Collaborator Author

j4james commented 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.

@ghost ghost added the In-PR This issue has a related PR label Jan 29, 2021
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label Feb 5, 2021
DHowett pushed a commit that referenced this issue Feb 5, 2021
@ghost ghost added Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed In-PR This issue has a related PR labels Feb 5, 2021
DHowett pushed a commit that referenced this issue Feb 5, 2021
@ghost
Copy link

ghost commented Feb 11, 2021

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

Handy links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Help Wanted We encourage anyone to jump in on these. Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Priority-2 A description (P2) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants