Okay that's perfect.

Is it safe to assume that you guys will take care of this issue from here on in? Is there some bug tracker I can add a watch on?

Thanks,
Gili

On 2018-05-23 8:16 PM, Scott Bloom wrote:

To be a bit more explicit.

The QScintilla widget appears to be using the scaling factor of the “Primary” monitory, not necessarily monitor 1.

In my setup, I have 3, the laptop monitor + 2 externals (to the right of the laptop) so my primary is actually monitor #2


I confirmed that it only works correctly, on monitors whose scaling factor is the same as the primary monitor.

Scott

*From:*cowwoc <[email protected]>
*Sent:* Wednesday, May 23, 2018 17:11
*To:* Scott Bloom <[email protected]>; Phil Thompson <[email protected]>
*Cc:* [email protected]
*Subject:* Re: [QScintilla] Bug report: Caret position is incorrect if window dragged across monitors

I think you nailed it.

I used to think that the problem had to do with launching the app on monitor 1 then dragging it into monitor 2 but I see now that no matter what I do the bug always occurs on monitor 2.

Here's the kicker: the scaling factor of monitor 2 is 100%. The scaling factor on monitor 1 is 150%. So it looks like the app is using the scaling factor of monitor 1 for the app running on monitor 2. Further, if TortoiseHg is open on monitor 2 and I change the scaling factor on monitor 1, I see the font of the app change on monitor 2 (which is unexpected).

Lastly, setting the scaling factor on monitor 1 to 100% fixing the caret issue on monitor 2.

Gili

On 2018-05-23 8:04 PM, Scott Bloom wrote:

    Does the problem exist, in the tortoiseHG if opened on a scaled
    screen?

    Scott

    *From:*cowwoc <[email protected]>
    <mailto:[email protected]>
    *Sent:* Wednesday, May 23, 2018 17:03
    *To:* Scott Bloom <[email protected]> <mailto:[email protected]>;
    Phil Thompson <[email protected]>
    <mailto:[email protected]>
    *Cc:* [email protected]
    <mailto:[email protected]>
    *Subject:* Re: [QScintilla] Bug report: Caret position is
    incorrect if window dragged across monitors

    Hi Scott,

    Thanks for reproducing the problem.

    I tried digging into example-Qt4Qt5 but I know nothing about Qt
    and frankly was turned off not being able to find a pre-built
    version of qmake (even after installing the Qt SDK). Are you able
    to publish a pre-built executable of example-Qt4Qt5 for me to try out?

    Thanks,
    Gili

    On 2018-05-23 6:40 PM, Scott Bloom wrote:

        To duplicate under windows 10:

         1. Setup two monitors, resolution doesn’t matter, however the
            Scale & layout option (windows 10), “Change the size of
            text, apps and other items” to 125% on one screen
         2. Run the example-Qt4Qt5 app as shipped with the QScintilla core
         3. In the screen with magnification, just type, you will see
            the visible cursor is NOT where it should be.

        I have confirmed it doesn’t happen with SciTE

        It doesn’t appear it has anything to do with moving, just
        having the window open on the scaled screen.

        Gili, can you confirm that ?

        Scott

        *From:*cowwoc <[email protected]>
        <mailto:[email protected]>
        *Sent:* Wednesday, May 23, 2018 15:19
        *To:* Scott Bloom <[email protected]>
        <mailto:[email protected]>; Phil Thompson
        <[email protected]> <mailto:[email protected]>
        *Cc:* [email protected]
        <mailto:[email protected]>
        *Subject:* Re: [QScintilla] Bug report: Caret position is
        incorrect if window dragged across monitors

        Thanks Scott. As far as I can tell, this bug isn't 4k specific.

        If I change my 1080p monitor to have the same scaling factor
        as the 4k monitor and drag TortoiseHg across the problem does
        not occur. The bug seems tied to different scaling factors,
        regardless of the monitor resolution.

        Gili

        On 2018-05-23 6:17 PM, Scott Bloom wrote:

            I don’t have a 4k monitor, but I will try to play with it
            on a multimonitor PC and see if I can set the scaling
            factor on one screen and not the other (all three screens
            are the same resolution here)

            There is not (that I know of) a QScintialla public test app


            Scott

            *From:*cowwoc <[email protected]>
            <mailto:[email protected]>
            *Sent:* Wednesday, May 23, 2018 15:15
            *To:* Scott Bloom <[email protected]>
            <mailto:[email protected]>; Phil Thompson
            <[email protected]>
            <mailto:[email protected]>
            *Cc:* [email protected]
            <mailto:[email protected]>
            *Subject:* Re: [QScintilla] Bug report: Caret position is
            incorrect if window dragged across monitors

            It just tested SciTE and it works fine.

            Do you have an equivalent program that uses QScintilla?

            PS: Using TortoiseHg, if I keep the application on the
            same monitor and change its scaling factor the bug does
            not occur. The bug only seems to occur when the
            application is dragged from one monitor to another. My
            guess is that when the application is sitting on one
            monitor and the scaling factor is changed, it receives and
            responds to an event. But when the application is dragged
            across monitors it does not recieve a scaling-specific
            event and as such it doesn't think to update the DPI
            accordingly. I would be surprised if this logic was
            TortoiseHg-specific (it seems like something that should
            be handled by the lower layers) but who knows...

            Thanks,
            Gili

            On 2018-05-23 6:08 PM, Scott Bloom wrote:

                Understood.

                You may want to try SciTE.

                That is a base editor, tied to the core Scintilla
                widget, not used QScintilla (which is a Qt wrapper for
                the core)

                In reality, the TortoiseHg devs, need to work on this,
                to see if its their bug first..

                This could be due to the 4k to HD resolution swap…


                Scott

                *From:*cowwoc <[email protected]>
                <mailto:[email protected]>
                *Sent:* Wednesday, May 23, 2018 15:06
                *To:* Scott Bloom <[email protected]>
                <mailto:[email protected]>; Phil Thompson
                <[email protected]>
                <mailto:[email protected]>
                *Cc:* [email protected]
                <mailto:[email protected]>
                *Subject:* Re: [QScintilla] Bug report: Caret position
                is incorrect if window dragged across monitors

                Hi Scott,

                I'm not affiliated with TortoiseHg. I'm just an
                end-user. As such, I have no idea how to create a
                minimal testcase outside of TortoiseHg. When I filed a
                bug report at
                
https://bitbucket.org/tortoisehg/thg/issues/5086/caret-position-is-incorrect-if-window
                I attached a video demonstrating the problem.
                Hopefully that'll help.

                If you guys have a stand-alone application I could
                run, I can try reproducing the problem with it as well.

                Thanks,
                Gili

                On 2018-05-23 4:45 PM, Scott Bloom wrote:

                    I have a PC with multiple monitors..

                    However, looking at the issue, there is no minimal
                    testcase.  There is also nothing saying it’s a bug
                    in Scintilla, QScintilla or tortoisehg.  It could
                    be any of the three.

                    Why is the assumption being made that its QScintilla?

                    Scott

                    *From:*QScintilla
                    <[email protected]>
                    <mailto:[email protected]>
                    *On Behalf Of *cowwoc
                    *Sent:* Wednesday, May 23, 2018 13:42
                    *To:* Phil Thompson <[email protected]>
                    <mailto:[email protected]>
                    *Cc:* [email protected]
                    <mailto:[email protected]>
                    *Subject:* Re: [QScintilla] Bug report: Caret
                    position is incorrect if window dragged across
                    monitors

                    On 2018-05-23 11:09 AM, Phil Thompson wrote:

                        On 23 May 2018, at 3:01 pm, 
cowwoc<[email protected]>
                        <mailto:[email protected]>  wrote:

                            On 2018-05-23 8:46 AM, Phil Thompson wrote:

                                On 22 May 2018, at 3:48 am, 
cowwoc<[email protected]>
                                <mailto:[email protected]>  wrote:

                                    Sorry, I forgot to include the bug 
report:https://bitbucket.org/tortoisehg/thg/issues/5086/caret-position-is-incorrect-if-window

                                    Thank you,

                                    Gili

                                    On 2018-05-21 9:13 PM, cowwoc wrote:

                                        Hi,

                                        Can someone please take a look at this 
bug report which seems to affect your project?

                                Sorry, I don't have the equipment needed to 
reproduce the problem.

                                Phil

                            Hi Phil,

                            Which equipment are you missing? A video card with 
2 ports? 2 monitors? Or a copy of Windows?

                        ...and a PC.

                        Phil

                    Fortunately for you, that's not a problem :)
                    Assuming you have a Mac laptop:

                     1. Plug in a second monitor (any will do) so your
                        laptop sees multiple monitors.
                     2. Fire up a virtual machine of your choosing. I
                        used VMWare Workstation, which is equivalent
                        to VMWare Fusion on Mac. I believe VirtualBox
                        (which is free) will work just as well.
                     3. Download and install the Windows 10 ISO which
                        you can download for free from
                        
https://www.microsoft.com/en-ca/software-download/windows10
                     4. You can run Windows 10 without a license for a
                        short period of time (30 days I believe) so
                        this isn't a problem.
                     5. Configure the VM with 2 virtual monitors and
                        you should be able to reproduce the problem.
                     6. I just tried it in VMWare Workstation and it
                        worked for me.

                    I haven't been able to get this working (yet)
                    using a single physical monitor. See
                    
https://superuser.com/questions/1325393/how-to-use-multiple-virtual-monitors-if-host-has-a-single-monitor

                    But it's possible that VirtualBox is better in
                    this regard than VMWare Workstation.

                    Gili


_______________________________________________
QScintilla mailing list
[email protected]
https://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to