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

Editor cursor position is offset to the right when display scaling >100% (on Windows) #226

Closed
soprano opened this issue Jul 12, 2021 · 51 comments
Labels

Comments

@soprano
Copy link

soprano commented Jul 12, 2021

Description

Display of cursor position in Editor in Windows 10 for the 4.0 alpha versions 5 and 6 is offset to the right when using OS display scaling (>100%)

Change the display of the cursor to the correct position in the Editor

Expected Behavior

When you see the cursor and you delete to the left or to the right, it is supposed to do it as in the position of the displayed cursor.

It should work like in version 3.5.4

Current Behavior

Steps to Reproduce

Your Environment

  • Processing version: 4.0.5 and 4.0.6 in Windows 10
  • Operating System and OS version: Windows 10
  • Other information:

Possible Causes / Solutions

@benfry
Copy link
Owner

benfry commented Jul 15, 2021

With 4.0 alpha 6, can you try setting the font in Preferences and see if that works? In alpha 5 there was a problem where the font was changing to something that wasn't monospaced, which would make it look strange like this.

@soprano
Copy link
Author

soprano commented Jul 16, 2021

I changed it to Monospace and I realized something. I started typing 1234567890 and so on and the cursor gets farther and farther away as you type more numbers.

You start seeing the problem when you go to 123456789. Placing the cursor before 9 shows inside 9, a bit left from the middle.
I think the bug is in the calculation of the position of the cursor with respect to the width of the characters, probably a wrong calculation of the width of the characters when positioning the cursor.

So I tried the default and Monospace and the same problem. What I wrote above was with Preferences set to Monospace.

@benfry benfry transferred this issue from processing/processing Jul 17, 2021
@benfry
Copy link
Owner

benfry commented Jul 17, 2021

Can you provide more details? Are you on a US English version of Windows or another language? Do you have a HiDPI screen? Have you set the interface scaling in the Preferences window?

@soprano
Copy link
Author

soprano commented Jul 18, 2021

US English. It is not display dependent. On the same computer if I use the release version 3.5.4, it works perfectly.
You should be able to reproduce it. Check the code for the calculation of width of font.
On Mac I am using the alpha 4.0.3 and it doesn't happen.

@soprano
Copy link
Author

soprano commented Jul 18, 2021

I tried interface scaling off and on and it does not change anything. Bug is still there. Did you try to reproduce the bug? Do you have a Windows 10/11 computer?

@soprano
Copy link
Author

soprano commented Jul 18, 2021

image

@soprano
Copy link
Author

soprano commented Jul 18, 2021

See after adding all those numbers, the cursor is far to the right.

@soprano
Copy link
Author

soprano commented Jul 18, 2021

I tried all the fonts in Preferences, not a single one behaves well, all work equally wrong.
Am I the only one seeing this bug?

@sampottinger
Copy link
Collaborator

Hey there! I attempted to reproduce this on a Windows 10 computer and was unsuccessful. Do you mind providing the specific build number? https://www.howtogeek.com/236195/how-to-find-out-which-build-and-version-of-windows-10-you-have/. If you are comfortable, getting your display settings would also be helpful.

Attempted to reproduce with Windows 10 17763.1817
processing_cursor

@soprano
Copy link
Author

soprano commented Jul 26, 2021

Hello. I discovered the differences between what you tried and what I tried. I got it in 2 computers, one with Windows 10 and one with Windows 11, but it does not happen if the Display Settings of the Operating System are scaled as default (100%).

I have both computers scaled at 250%. But both computers with scale at 250% work perfectly on version 3.5.4.

@soprano
Copy link
Author

soprano commented Jul 26, 2021

I also tried by scaling in the Windows setting to only 125% and the bug appears.
Basically, version 3.5.4 compensates correctly for that scaling and 4.0.a6 seems to ignore the scaling factor.
I will try to see if I can compensate that with the scaling in the Preferences of Processing.

I tried that and compensating for scaling in Preferences does not change anything. There is no workaround for this bug unless only having to have a very small size of display in a big monitor by only using the no scaling of 100%. Any scaling on Windows larger than 100% will show the bug that doesn't show on version 3.5.4.

@soprano
Copy link
Author

soprano commented Jul 26, 2021

Using the same monitor, this problem doesn't show up on my Mac Mini. Mac Mini alpha versions work fine if you scale the display in the OS.

@soprano
Copy link
Author

soprano commented Jul 26, 2021

I am using a 40 inch 4K monitor.

@soprano
Copy link
Author

soprano commented Jul 26, 2021

I see in the left image you have the Display of the O.S. at 100%. I am pretty sure you will see the bug if you change it to any other value (e.g. 125%). My preferred value is 250%.

@soprano soprano changed the title Display of cursor position in Editor in Windows 10 for the 4.0 alpha versions 5 and 6 is offset by one position Display of cursor position in Editor in Windows 10 for the 4.0 alpha versions 5 and 6 is offset to the right when using OS display scaling (>100%) Jul 28, 2021
@soprano
Copy link
Author

soprano commented Jul 28, 2021

@benfry. It's different from the bug in MacOS. This one happens even if you don't change any font size.
The bug I am reporting here does not happen in the Mac alpha versions.

@benfry
Copy link
Owner

benfry commented Jul 29, 2021

In alpha 5, I removed the sun.java2d.uiScale.enabled setting so that most scaling would work properly (i.e. the startup screen doesn't show in micro size on a HiDPI screen), but unfortunately, it looks like this has issues with custom components (like the editor component we're using) and especially with fractional sizes.

To see if it's the fractional size issue or just a custom component issue, what happens if your scaling is at 200% or even 300%?

@soprano
Copy link
Author

soprano commented Jul 29, 2021

In alpha 5, I removed the sun.java2d.uiScale.enabled setting so that most scaling would work properly (i.e. the startup screen doesn't show in micro size on a HiDPI screen), but unfortunately, it looks like this has issues with custom components (like the editor component we're using) and especially with fractional sizes.

To see if it's the fractional size issue or just a custom component issue, what happens if your scaling is at 200% or even 300%?

I tried any scaling different than the default (100%) in Windows and that is the only configuration that works fine. As I said above my preferred configuration is 250%. I am also using another Windows 11 computer with same monitor and same problem, and a Mac Mini M1 with same monitor and also alpha version 3 and 6 and on Mac it works perfectly. On Windows it only works fine if I switch to Processing 3.5.4.

@benfry
Copy link
Owner

benfry commented Aug 1, 2021

Added the UI scaling flag back for alpha 7, but it leaves the underlying problem still broken. That's now being tracked here: #231

@soprano
Copy link
Author

soprano commented Aug 3, 2021

Thank you for fixing it.

@soprano
Copy link
Author

soprano commented Aug 11, 2021

Not fixed in 4.0 b1 version (Beta).

@sampottinger
Copy link
Collaborator

Reopening given #245.

@danksearle
Copy link

I saw the bug too, thanks to the info in this thread saying that it is due to the Windows display scaling I found that by reducing my resolution low enough so I can turn off Windows scaling (which means a resolution of 1920 x 1200 for me), the bug disappears.

Edition Windows 10 Pro
Version 20H2
Installed on ‎12/‎21/‎2021
OS build 19042.1415
Experience Windows Feature Experience Pack 120.2212.3920.0

processing-4.0b2

The resolution that I was originally trying to use, where I saw the bug, was 3840 x 2400 with a scaling of 250%.

@colinwilcox
Copy link

colinwilcox commented Jan 1, 2022

Encountered this issue w/ 4.0b2

processing-4.0b2
Edition Windows 10 Pro
Version 20H2
Display scale: 125%
Display resolution: 2560x1080

I had encountered the same issue in 4.0 b1 version (Beta) on Windows with 125% display scaling. However, I changed the setting of the High DPI scaling override to "System (Enhanced)" and the issue is kinda solved.

This worked for me. Thanks! 👍
It actually looks better when I override the display scale this way. I noticed that the font for many of the UI elements in the main window was a bit jaggy, e.g. the tab / menu text. Now it looks properly rendered.

@OldSurferDude
Copy link

I couldn't find - the setting of the High DPI scaling override to "System (Enhanced)" -
Looks like I'm stuck with a tiny font or a funky cursor

@OldSurferDude
Copy link

I was premature. I don't have a choice, all I get is "funky cursor"

@zakatakk
Copy link

zakatakk commented Jan 3, 2022

I have also encountered this on 150% scaling in 4.0b2 with a 1280 x 720 resolution.

@mariana-s-fernandes
Copy link

mariana-s-fernandes commented Jan 3, 2022

I have the same problem, using an Acer Aspire V3-372 , Windows 10 Home with 150% scaling and 1920x1080 resolution, Processing 4.0.b1

@benfry benfry changed the title Editor cursor position is offset to the right when display scaling >100% Editor cursor position is offset to the right when display scaling >100% (on Windows) Jan 10, 2022
@benfry
Copy link
Owner

benfry commented Jan 14, 2022

Adding a “Disable HiDPI Scaling” option in Preferences for 4.0 beta 3. It's a temporary solution, but resolves the immediate issue for now.

Further development for a better long-term solution will be covered here: #342

@GilesCartmel
Copy link

Thanks Ben that helps for the time being. Small interface font, but at least I can set the editor font a little larger to compensate... and the cursor no longer drifts to the right.

@benfry
Copy link
Owner

benfry commented Jan 16, 2022

@GilesCartmel what sort of device are you using? (What hardware, what OS version, what sort of display hardware, what pixel resolution, what zoom level set in Windows?)

@GilesCartmel
Copy link

GilesCartmel commented Jan 16, 2022

@benfry
Processor Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz 2.40 GHz
Installed RAM 32.0 GB (31.7 GB usable)
System type 64-bit operating system, x64-based processor
Edition Windows 10 Home
Version 21H1
OS build 19043.1466
Experience Windows Feature Experience Pack 120.2212.3920.0
15" Dell XPS laptop with 4K (3840x2160) screen, zoom level set to 175%
NVIDIA GeForce GTX 1650

@benfry
Copy link
Owner

benfry commented Jan 16, 2022

@GilesCartmel If you turn off the Preference in Processing but put your Windows zoom level to 200% instead of 175% is the cursor still weird?

@GilesCartmel
Copy link

@benfry Disable HiDPI unchecked, Interface Scale automatic, Windows "Make Everything Bigger" set to 200%.... works ok. Set Windows back to 175%.... problem re-appears.

@benfry
Copy link
Owner

benfry commented Jan 16, 2022

@GilesCartmel Thanks, that's helpful and gives me something to go on… I thought we were down to just low-res displays misbehaving in beta 3 until the pref was checked, but this is actually easier to track down.

@benfry
Copy link
Owner

benfry commented Jan 29, 2022

Should be better in beta 4, but finally, hopefully, fixed for 4.0 beta 5.

Eskaan pushed a commit to Eskaan/processing4 that referenced this issue Jan 29, 2022
@GilesCartmel
Copy link

4.0 beta 4.... now the cursor's going the other way... not keeping up with the text.

@benfry
Copy link
Owner

benfry commented Jan 30, 2022

Yep, fixed in beta 5.

@GilesCartmel
Copy link

Looking forward to it Ben. Thanks.

@GilesCartmel
Copy link

Just got around to downloading and checking beta 5 and can confirm that works ok for me now. Good work Ben, thanks.

@benfry
Copy link
Owner

benfry commented Feb 12, 2022

Great! Thanks for letting me know.

@github-actions
Copy link

This issue has been automatically locked. To avoid confusion with reports that have already been resolved, closed issues are automatically locked 30 days after the last comment. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests