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

Mouse cursor becomes huge in full screen mode #188820

Open
ZYinMD opened this issue Jul 25, 2023 · 16 comments
Open

Mouse cursor becomes huge in full screen mode #188820

ZYinMD opened this issue Jul 25, 2023 · 16 comments
Assignees
Labels
under-discussion Issue is under discussion for relevance, priority, approach

Comments

@ZYinMD
Copy link

ZYinMD commented Jul 25, 2023

Type: Bug

Since when did this bug appear:
Several weeks ago in Insiders, then today in Stable for me, so I guess either 1.80.1 or 1.80.0

Symptom:

  1. When I use F11 to switch to full screen mode, the mouse cursor becomes much larger, and also teleports toward lower right, roughly 2.5x the original coords, e.g. from 100 100 to 250 250 ish. When I exit full screen mode, the cursor teleports back, and the size also returns to normal.

  2. When I use alt-tab to switch between fullscreen VSCode and another non-chromium app window, the mouse cursor size and position changes back and forth in a similar way as described in 1. No issue if VSCode isn't in fullscreen mode.

    (Switching between VSCode and another chromium app (e.g. a browser) is complicated because the latter can also enter fullscreen, details in Mouse cursor becomes huge in full screen mode #188820 (comment))

  3. When the mouse cursor is big, if I trigger a chromium native tooltip in VSCode, the issue will be fixed, until next time I do (1) or (2).

Video demo: https://youtu.be/N5-jjarkuhk (video explanation in #188820 (comment))

What is not the cause:

  • Zoom level in VSCode
  • Zoom level in Windows settings > Display
  • Mouse Pointer Size in Windows settings > Mouse > Mouse Pointer

I've tested resetting the 3 settings above, and they aren't the cause. (But if I increase the mouse pointer size in Windows Settings, it grows even bigger in VSCode)

What may be related:
This issue only appears in my external monitor. If I move VSCode to my laptop monitor, the issue is gone.


VS Code version: Code 1.80.1 (74f6148, 2023-07-12T17:22:07.651Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info
Item Value
CPUs AMD Ryzen 7 5700U with Radeon Graphics (16 x 1797)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) undefined
Memory (System) 31.33GB (10.45GB free)
Process Argv --crash-reporter-id 76333b68-ca09-45f5-9a16-77e964093e64
Screen Reader no
VM 0%
Extensions: none
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30610678
3biah626:30602489
89544117:30613380
2i9eh265:30646982
showlangstatbar:30737416
vsctsb:30748421
a2ce3375:30757347
pythonfmttext:30731395
pythoncmv:30756943
fixshowwlkth:30771522
showindicator:30785052
pythongtdpath:30769146
i26e3531:30792625
gsofa:30797621
pythonnosmt12:30797651
pythonidxpt:30784022
pythonnoceb:30797650
e537b577:30795824
dsvsc013:30795093
dsvsc014cf:30797590

@deepak1556
Copy link
Collaborator

Can you check if the issue is present with our exploration builds based on a newer version of the runtime #184021 (comment)

@deepak1556 deepak1556 added the info-needed Issue requires more information from poster label Jul 27, 2023
@ZYinMD
Copy link
Author

ZYinMD commented Jul 27, 2023

Can you check if the issue is present with our exploration builds based on a newer version of the runtime #184021 (comment)

Yes, I tested the VSCode-win32-x64-1.81.0-exploration.zip and the issue is the same.

If you could direct me to similar zipped builds (win32-x64-archive) for 1.80 and 1.79, I could test them too. I didn't know how to find them.

@deepak1556
Copy link
Collaborator

Can you run the command >Help: Troubleshoot issue... in VSCode command palette and follow the steps to narrow down regression commit range. Thanks!

@vscodenpa
Copy link

Please diagnose the root cause of the issue by running the command F1 > Help: Troubleshoot Issue and following the instructions. Once you have done that, please update the issue with the results.

Happy Coding!

@vscodenpa
Copy link

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.

Happy Coding!

@vscodenpa vscodenpa closed this as not planned Won't fix, can't repro, duplicate, stale Aug 4, 2023
@ZYinMD
Copy link
Author

ZYinMD commented Aug 6, 2023

The whole thing is quite flaky. If I run >Help: Troubleshoot issue... it'll stop at the 2nd bisect (when I click "I can reproduce" on the 2nd time) and pop up an issue reporting window, but doesn't show a commit hash or prefill with anything that can identify the problematic commit. I'm sure the bisect didn't finish.

@deepak1556 deepak1556 reopened this Aug 7, 2023
@deepak1556
Copy link
Collaborator

but doesn't show a commit hash or prefill with anything that can identify the problematic commit. I'm sure the bisect didn't finish.

@sandy081 can you help with the bisect tool unable to populate the details for the issue reporter.

@deepak1556 deepak1556 added under-discussion Issue is under discussion for relevance, priority, approach and removed info-needed Issue requires more information from poster labels Aug 7, 2023
@ZYinMD
Copy link
Author

ZYinMD commented Aug 12, 2023

Additional finding: if I trigger a tooltip by hovering over something, e.g. a filename in the explorer, the issue temporarily goes away. I've added it in the OP.

@ZYinMD
Copy link
Author

ZYinMD commented Aug 12, 2023

I've recorded a video demo: https://youtu.be/N5-jjarkuhk

In the video, some key issues are shown:

  1. mouse pointer becomes large when switching to full screen mode, and its position jumps
  2. if I trigger a tooltip, it's temporarily fixed
  3. I entered troubleshoot mode
  4. the tooltip behavior is shown again when I hover "I can reproduce"
  5. the troubleshoot doesn't work properly, because it exits on the 2nd time I click "I can reproduce", and doesn't find the problematic commit.

@sandy081
Copy link
Member

but doesn't show a commit hash or prefill with anything that can identify the problematic commit. I'm sure the bisect didn't finish.

Troubleshooting is not a tool for bisecting VS Code. It is to figure out if the issue is with VS Code or User configuration or extensions.

@deepak1556
Copy link
Collaborator

@sandy081 what is the recommended way for users to bisect an issue ?

@sandy081
Copy link
Member

npx @vscode/vscode-bisect --help - https://github.com/microsoft/vscode-bisect

@deepak1556
Copy link
Collaborator

@ZYinMD can you please try the steps from #188820 (comment) to bisect the issue, thanks!

@ZYinMD
Copy link
Author

ZYinMD commented Aug 23, 2023

I tried the tool, here's the result:

npx @vscode/vscode-bisect
√ Commit of released insiders build that reproduces the issue (leave empty to pick the latest build) ...
√ Commit of released insiders build that does not reproduce the issue (leave empty to pick the oldest build) ...
[build] total 176 builds with roughly 7 steps
[build] downloading build from https://az764295.vo.msecnd.net/insider/c3867859cf3e1a73f3ddce5ad36b3791b7883d88/VSCode-win32-x64-1.79.0-insider.zip...
[build] unzipping build to C:\Users\Zhi\AppData\Local\Temp\vscode-bisect\.builds\c38678\VSCode-win32-x64-1.79.0-insider...
[build] starting desktop build c3867859cf3e1a73f3ddce5ad36b3791b7883d88...
√ Is c3867859cf3e1a73f3ddce5ad36b3791b7883d88 good or bad? » Bad
...
...
...
√ Is f31dffc7f9b93a1cdef21243ec30dea7d489a615 good or bad? » Good
[build] downloading build from https://az764295.vo.msecnd.net/insider/2da5a0024fe2ca407f741f19340f1a10f4d692af/VSCode-win32-x64-1.78.0-insider.zip...
[build] unzipping build to C:\Users\Zhi\AppData\Local\Temp\vscode-bisect\.builds\2da5a0\VSCode-win32-x64-1.78.0-insider...
[build] starting desktop build 2da5a0024fe2ca407f741f19340f1a10f4d692af...
√ Is 2da5a0024fe2ca407f741f19340f1a10f4d692af good or bad? » Good
[build] 06962b2c0159c6f6a076969ec7ad571b13724ceb is the first bad commit after 2da5a0024fe2ca407f741f19340f1a10f4d692af.
√ Would you like to open GitHub for the list of changes? ... yes

Run the following commands to continue bisecting via git in a folder where VS Code is checked out to:

git bisect start && git bisect bad 06962b2c0159c6f6a076969ec7ad571b13724ceb && git bisect good 2da5a0024fe2ca407f741f19340f1a10f4d692af

It then opens 2da5a00...06962b2 in my browser.

From what I understand, it seems to have found the build that introduced the issue, which includes multiple commits. Then it asks me to continue the bisect by checkout the VSCode repo locally which I'm not sure I know enough to do.

@deepak1556
Copy link
Collaborator

Thanks for bisecting, very likely candidate in that range is the Electron 22 version bump. Can you confirm if the issue can be repro with similar steps in our web version https://vscode.dev on either chrome or edge browser ?

@ZYinMD
Copy link
Author

ZYinMD commented Aug 24, 2023

https://vscode.dev doesn't seem to behave differently than any other tabs in chrome.

But chrome does have a difference compared to other native windows that can't go fullscreen: if I set both chrome (any tab) and VSCode to full screen mode, then use alt-tab to switch between the two, the big mouse pointer can stay big after I have switched to chrome.

To summarize:

function does_my_mouse_pointer_become_huge() {
  if (current_monitor_is_not_external_monitor) return false;
  if (current_window_is_not_chromium) return false;
  if (current_window_is_not_full_screen) return false;
  if (current_window_is_full_screen_VSCode) return true;
  if (current_window_is_full_screen_browser) {
    // regardless of current url in browser (https://vscode.dev or not)
    return vscode_is_currently_full_screen_in_the_background; 
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
under-discussion Issue is under discussion for relevance, priority, approach
Projects
None yet
Development

No branches or pull requests

5 participants