https://bugzilla.novell.com/show_bug.cgi?id=373090
User eich@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=373090#c17
--- Comment #17 from Egbert Eich 2008-04-01 07:16:10 MST ---
What makes things even more complicated:
The server does not pass DPI to the application, it passes the root window size
and the root window pixel resolution.
When we do a DPI calculation inside the server the value is used to calculate a
screen size from the DPI value and the root window pixel resolution per X
screen screen.
This is because the server neither has a notion of virtual nor of multiple
(xinerama-like) heads.
Moreover this information is passed at connection setup time ie. only once per
XOpenDisplay().
Thus all DPI calculations are done on the client side.
If we had a way to pass the different viewport sizes and resolutions to the
client the client toolkit could do something much smarter already. (Maybe
XRandR already allows for this).
If people use multiple viewports the client would still have to do some
averaging - but I don't expect this to be a really big problem: for multiple
viewports to be useful the resolutions of the individual viewports need to be
approximately the same.
A viewing distance information as Mike suggested would only help in cases of a
display wall which is expected to be viewed from a close distance.
In all other cases I'd expect that the user locates his display approximately
at a distance that he can view the entire screen. But then the ratio
screen_size/viewing_distance becomes an approximate constant (screen_size would
be a value derived from the width and height) thus resolution really only
depends on the number of pixels of the viewport. (With multiple viewports it
should work the same: if we assume that the viewing area of the human eye has a
width/height ration of 5/4 or 16/9 the user will most likely only view an area
of a single viewport at a time).
For dump applications this calculation could be done in the server and the root
window size could be whacked to match this resolution (as it is done today).
Unfortunately noone has caught on to this. The reason may be that the people
I've talked to were all developers - those people have a different usage
pattern: they clutter up their screens with as many terminal windows as
possible and read them from a close distance.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.