Bug 394139 - Color History and Common Patches Show on Wrong Display
Summary: Color History and Common Patches Show on Wrong Display
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Color Selectors (show other bugs)
Version: 4.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: vanyossi
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2018-05-11 17:48 UTC by Kenneth Evans
Modified: 2020-01-28 09:50 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Dual Monitor Screen Shot of Color History and Common Patches Locations (1.39 MB, image/jpeg)
2018-05-12 14:13 UTC, Kenneth Evans
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kenneth Evans 2018-05-11 17:48:18 UTC
My primary display is Display 1 and is 4K.  I have a Cintiq (1080P) running Krita on Display 2. Display 2 is to the left of Display 1.  If I use the Color History (H) or Common Patches (U), they show up on Display 1 at the left edge.  I can find no way to move them to Display 2.

It is a problem for me because Display 1 is not readily visible from in front of the Cintiq Display 2.

They are always at or near the left edge of Display 1.  Depending on where the cursor in Krita is, they are slightly higher or lower.

Windows treats the screen as a large virtual screen (8640 x 3828).

---- Display Information ----
Monitors: 2
Virtual Screen: {X=-1920,Y=0,Width=5760,Height=2160}
Primary Monitor Size: {Width=3840, Height=2160}
Device Name: \\.\DISPLAY1  (Primary)
  Bits per Pixel: 32
  DPI: 240 (250%)
  Bounds: {X=0,Y=0,Width=3840,Height=2160}
  Working Area: {X=0,Y=0,Width=3840,Height=2060}
Device Name: \\.\DISPLAY2
  Bits per Pixel: 32
  DPI: 96 (100%)
  Bounds: {X=-1920,Y=331,Width=1920,Height=1200}
  Working Area: {X=-1920,Y=331,Width=1920,Height=1160}

It looks like these popups are displaying with the correct y but the wrong x.
Comment 1 Kenneth Evans 2018-05-11 18:02:00 UTC
Sorry, the virtual screen is {X=-1920,Y=0,Width=5760,Height=2160}.
Comment 2 Halla Rempt 2018-05-11 18:40:05 UTC
Hi Kenneth,

Could you also add a screenshot? I'm not sure we'll be able to fix anything like this, because that sort of thing isn't part of Krita's code, but right now it's not completely clear to me what is happening.
Comment 3 Kenneth Evans 2018-05-12 14:13:49 UTC
Created attachment 112598 [details]
Dual Monitor Screen Shot of Color History and Common Patches Locations
Comment 4 Kenneth Evans 2018-05-12 14:26:14 UTC
I checked the behavior on a single-monitor computer.  Apparently it is supposed to come up at the cursor.  It looks to me like it is doing that except that it has x wrong. Other windows in Krita come up where expected.  The difference with this one:
    No borders
    Comes up at cursor, not fixed screen position.

If you can't fix it (because it's in Qt?), it isn't that critical.  I'm just reporting.  I do use color history often in other applications, and it is more conveniently implemented in at least some of them.  I'm just learning Krita, so perhaps it is my inexperience.
Comment 5 Kenneth Evans 2018-05-22 20:21:52 UTC
This problem is more serious than I thought.  I have had trouble using the Advanced Color Selector.  Part of the reason is that I don't see the color that I am selecting, making it hard to choose the right color.

I am now seeing the reason is that it is also using the Color History mechanism, and the preview patch doesn't appear on my display (when the selector is docked in its default place on the right).  If I float the Advanced Color Selector, then I see there is a patch with the color I have chosen, the previous color chosen, and the previous color used (I think).

Even then, sometimes the patches appear on the left and sometimes on the right.  When they appear on the right, which seems to be the usual case, then they are all or mostly off screen when the docker is docked.

If I can get them to be on the left, then they often stay on the left when re-docked.  This is the behavior I would like, because they are then visible.  However, I don't know the steps to make this happen, and by default they are on the right and not visible.

On my Surface Book, with only one display, the patches seem to appear on the left when docked on the right, and there is no such problem.

Thus there appear to be several problems associated with having more than one display:

1. Color History (H) appears on the wrong display.
2. The patches may appear on the left or the right of the Advanced Color Picker, seemingly randomly.  They need to be on the left if docked on the right, and on the right if docked on the left to be seen.  (I only use it on the right myself.)  The default seems to be to be on the right, possibly because my other display is to the right of the one I am using.

As far as I can recall, all the other art programs I use (and there are several) have the currently chosen color and also the secondary color on the window with the color diagram where you click to choose the color; that is, not floating.  At least then it is always visible without these problems.  However, the way it is implemented you do get a larger color patch (if it just worked right).

This is a serious problem because it interferes seriously with choosing a color when you can't see the color you have chosen.
Comment 6 Halla Rempt 2018-06-05 14:41:59 UTC
Hm, I haven't yet been to reproduce, so my multimonitor setup must be different from yours...
Comment 7 Kenneth Evans 2018-06-05 16:11:06 UTC
I am running Krita on Display 2.  I don't know what you have. That might be important.  In addition, Display 2 is to the left of Display 1.

What you would think is independent of the multiple screens is that if I detach the Advanced Color Selector (the only way I can use it as it is then fully onscreen), sometimes the current color block shows on the right but eventually moves to the left.  (When it is on the left I can leave it docked and it works without going off screen.)

Why is it appearing on the right on this computer and on the left on the Surface Book.
Comment 8 Jaime Torres 2018-10-02 08:12:07 UTC
Hello,

For your info: The color pickup color preview bug is https://bugs.kde.org/show_bug.cgi?id=396490.

Regards.
Comment 9 Kenneth Evans 2018-10-02 14:05:27 UTC
This is a different problem from the color pickup bug.  There it doesn't show at all.  Here it shows but in the wrong place.
Comment 10 Halla Rempt 2020-01-16 14:40:45 UTC
Git commit f156a9474469b26186a437fa415d6b18e7b896e0 by Boudewijn Rempt, on behalf of Ivan Yossi.
Committed on 16/01/2020 at 14:40.
Pushed by rempt into branch 'master'.

Always show color popup below the cursor

In multiple monitor setups were the secondary screen has negative
coordinates the color popups failed to display in the correct display
if the cursor position was less than 0

M  +8    -4    plugins/dockers/advancedcolorselector/kis_color_selector_base.cpp

https://invent.kde.org/kde/krita/commit/f156a9474469b26186a437fa415d6b18e7b896e0
Comment 11 Halla Rempt 2020-01-28 09:50:28 UTC
Git commit 9f0084ae5b34eb16430918c4bac76816fa7cbc6d by Boudewijn Rempt, on behalf of Ivan Yossi.
Committed on 28/01/2020 at 09:10.
Pushed by rempt into branch 'krita/4.2'.

Always show color popup below the cursor

In multiple monitor setups were the secondary screen has negative
coordinates the color popups failed to display in the correct display
if the cursor position was less than 0
(cherry picked from commit f156a9474469b26186a437fa415d6b18e7b896e0)

M  +8    -4    plugins/dockers/advancedcolorselector/kis_color_selector_base.cpp

https://invent.kde.org/kde/krita/commit/9f0084ae5b34eb16430918c4bac76816fa7cbc6d