<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Automatically scale windows?"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93315#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Automatically scale windows?"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93315">bug 93315</a>
              from <span class="vcard"><a class="email" href="mailto:daniel@fooishbar.org" title="Daniel Stone <daniel@fooishbar.org>"> <span class="fn">Daniel Stone</span></a>
</span></b>
        <pre>(In reply to Alexander Larsson from <a href="show_bug.cgi?id=93315#c6">comment #6</a>)
<span class="quote">> I've not looked at the gnome-shell code, but running wayland gnome-shell
> with scale=2 i get X11 windows that have tiny icons but normal text, so i
> assume it reports the real pixel size to the X11 apps and a large dpi.

> It would be nicer if it returned a smaller resolution and a lower dpi,
> unless the app somehow opted in to supporting hidpi.</span >

It would be nice, but unfortunately X11 has the global co-ordinate space very
deeply baked in to its entire API. There's no good way to do this.

I think the only solution will be to work out a way for apps to declare that
they are indeed HiDPI-aware and have scaled appropriately (e.g.
_NET_WM_SCALE_FACTOR == 2), have the server watch those, and pass that through
to the host compositor as appropriate, and make sure that whatever's rendering
decorations accounts for this.

Except then you run into the very difficult question of window placement: you'd
need to offset all transients by the appropriate amount as well. So, if you
have a window which you're scaling up by 2x, and it wants to create a transient
at an offset of (40,40) relative to the primary, you need to shift that to
(80,80) accordingly.

The window manager would also need to enforce this wrt window configuration: if
you have a 3200x1800 output, it needs to clamp maximisation to 1600x900, and so
on, and so forth.

Not particularly pretty ...</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>