<div dir="ltr"><div>> If
 you render a cursor at scale 2x and set the surface scale accordingly, <br></div><div><br></div><div>Hm, perhaps the "set the surface scale" part is missing in our code. Thanks for the tip!<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 14, 2023 at 1:40 PM Olivier Fourdan <<a href="mailto:ofourdan@redhat.com">ofourdan@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Hi Maxim,</div><div><br></div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 14, 2023 at 10:19 AM Maxim Kartashev <<a href="mailto:maxim.kartashev@jetbrains.com" target="_blank">maxim.kartashev@jetbrains.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I'd like to pick your brains on a Wayland problem that does not look solvable to me.</div><div><br></div><div>In Wayland, where (in general) there are no server-side decorations, the application is responsible for taking care of its own frame, which includes changing the mouse cursor when it is above or near the border to indicate that the window can be resized.</div><div><br></div><div>Now consider a set-up with two monitors, one with 100% scale and the other 
with 200% scale. Suppose a window is stretched between two of them. The window is aware of all the monitors it is displayed on, but is not aware which part is showing where. How is the application supposed to determine what would be the right scale for the mouse cursor's surface buffer?</div><div><br></div><div>If the highest scale is chosen, the cursor will look larger than necessary on the 100% monitor; this is what we've currently implemented and it differs from how the "native" Wayland applications behave.</div></div></blockquote><div><br></div><div><div dir="ltr"><div>If
 you render a cursor at scale 2x and set the surface scale accordingly, 
the compositor has all it needs to render properly. Similarly, if your 
client is not capable of hidpi, the cursor will be rendered at scale 1x with a surface scale 1 and the compositor will be able to scale that cursor 
image up when placed on the hidpi monitor.</div><div><br></div><div>HTH<br></div><div>Cheers</div><div>Olivier<br></div></div> </div></div></div>
</blockquote></div>