Getting info about attached displays


#1

Hi,
I have a ruby daemon process that needs to get info about the monitors
attached to the machine it is running on. Does anyone have any nice
x-platform way of doing this? Barring that, how about some Windows
calls?

Thanks!


#2

On Tue, Jan 13, 2009 at 11:01 AM, Phil S. removed_email_address@domain.invalid wrote:

Hi,
I have a ruby daemon process that needs to get info about the monitors
attached to the machine it is running on. Does anyone have any nice
x-platform way of doing this? Barring that, how about some Windows
calls?

Thanks!

Posted via http://www.ruby-forum.com/.
Phil, that’s really more of a general unix (or DOS in the case of
windows) question.

Still, for real OSes running X, xdpyinfo is a utility that provides
tons of info, including the number of attached screens…

irb>%x[xdpyinfo][/number of screens: +[0-9]+/]
=> “number of screens: 1”

I’d suggest just running it into less, so you can get acquainted with
it’s output. The man page sadly doesn’t point you to useful C calls,
but the source should be decently documented if you want to grab it
from x.org or xfree86.org.

–Kyle


#3

Kyle S. wrote:

On Tue, Jan 13, 2009 at 11:01 AM, Phil S. removed_email_address@domain.invalid wrote:

Hi,
I have a ruby daemon process that needs to get info about the monitors
attached to the machine it is running on. Does anyone have any nice
x-platform way of doing this? Barring that, how about some Windows
calls?

Thanks!

Posted via http://www.ruby-forum.com/.
Phil, that’s really more of a general unix (or DOS in the case of
windows) question.

Still, for real OSes running X, xdpyinfo is a utility that provides
tons of info, including the number of attached screens…

irb>%x[xdpyinfo][/number of screens: +[0-9]+/]
=> “number of screens: 1”

I’d suggest just running it into less, so you can get acquainted with
it’s output. The man page sadly doesn’t point you to useful C calls,
but the source should be decently documented if you want to grab it
from x.org or xfree86.org.

–Kyle

Thanks Kyle,
Yes… I realise now that it is more OS based (though I still can’t find
the windows command for it!).

The problem with xdpyinfo is that number of screens is actually NOT the
number of displays. I have 2 monitors attached and I get the answer of
1, because I have one virtual desktop spanning the two.

Anyway… off topic!

Thanks again


#4

Phil, there are two ways you can have two monitors being a virtual
display, the driver may take care of it (like the nvidia one, and I
have no way of knowing how to detect that), or it may be through
xinerama. If it’s through xinerama, you should be able to tell what
the geometries and positions of the component screens are, even if you
use it as one huge screen.