David Dawes wrote:

> On Thu, Aug 21, 2003 at 12:33:49PM -0700, Nathan Gray wrote:
>>
>>This is my point exactly.  When I raised this issue it was not to elicit a
>>"correct" solution, but rather to point out that the whole notion of DPI
>>is
>>nonsense WRT Xinerama/MergedFB.  I would suggest this as a "correct-ish"
>>solution:  If Xinerama/MergedFB detects that both screens have nearly the
>>same resolution (to within some configurable tolerance) then use the
>>average of the two.  Otherwise the user has to specify the DPI to use with
>>the -dpi command line switch or some other mechanism.  (Is there a DPI
>>option in the XF86Config file?)  It might be nice to be able to specify
>>"use DPI from screen foo" in the ServerLayout section to simplify the
>>process a bit.
> 
> There is no DPI option in the XF86Config file, but one could be added.
> (Separate question: does it make sense to have most/all command line
> options available as XF86Config file options?)

I would argue definitely so.  It's pretty easy for the average user to edit
the /etc/X11/XF86Config file but almost infeasible for him to unravel the
mess of scripts that invoke X.  (The same goes for env. variables, by the
way.)  It *vastly* simplifies things to have all configuration options for
XFree86 in one place.
 
>>> IMO either you want the same DPI on both screens (fake whatever
>>> value you want with DisplaySize or X -dpi NN) or you want two
>>> non-xinerama heads - display:0.0 and display:0.1, which allows
>>> apps on each head to get the right answer for that screen*, and
>>> stops the DPI changes which would occur if the window was allowed to
>>> move between screens.
>>
>>I agree, but I think that Xinerama/MergedFB could at least be smart enough
>>to either: A. do the right thing if you have two displays with the same
>>DPI or B. throw in the towel when you have two displays with very
>>different DPI.
> 
> I guess the Xinerama extension could be enhanced to allow applications
> to query the DPI of individual screens.  While it might be useful for
> non-overlapping screens, especially when the application windows don't
> span screens, I don't know how useful it would be when one or more of
> the Xinerama screens overlap.  In such cases a single pixel can
> simultaneously be displayed at multiple DPI.  In those cases your "use
> DPI from screen foo" idea would probably be the answer.

As an application programmer I can't see how I would use such a capability. 
App writers don't want to have to do extra work because the screen might
actually be multiple screens.

> Then there's the video projector example, but I'd suggest that for most
> applications "DPI" needs to represent the effective pixel size of the
> image in a plane located at the typical viewing distance of a monitor
> in front of a computer user (i.e., be representative of the pixel's
> angular size).

That sounds like a sensible definition, though harder for a user to measure
precisely.

> The non-Xinerama case of when the physical screen resolution can be
> different from the root window size was also mentioned.  Applications
> can use the XFree86-VidMode extension to query the physical resolution.
> Unfortunately though, the XFree86-VidMode extension doesn't yet have
> support for allowing clients to get an event when video mode (or viewport)
> changes happen.

It would be good if such a notification existed.

Cheers,
-n8

-- 
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to