The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

X11::Xlib::Screen - Convenience wrapper around Display+ScreenID

DESCRIPTION

In ancient history, a Screen represented one physical graphics device + monitor. Now days there tends to be only one per system, with multiple monitors or displays aggregated into a single screen using Xinerama or XRandR. This was mostly caused by the annoying restriction that graphic resources (i.e. windows) are bound to a single screen.

The short of that story is that $display->screen_count and $screen->width etc don't do what a person might expect them to do. If you want to know about the boundaries of physical monitors you'll need the yet-unwritten X11::Xlib::Monitor objects provided by a future wrapper around Xinerama or XRandR.

ATTRIBUTES

display

Reference to X11::Xlib::Display

screen_number

The integer identifying this screen.

width

Width in pixels

height

Height in pixels

width_mm

Physical width in millimeters.

height_mm

Physical height in millimeters.

depth

Color depth of the RootWindow of this screen.

root_window_xid

The XID of the root window of this screen

root_window

The X11::Xlib::Window object for the root window of this screen

visual

The default visual of this screen

METHODS

visual_info

  my $vinfo= $screen->visual_info();  # uses defualt visual for this screen
  my $vinfo= $screen->visual_info($visual);
  my $vinfo= $screen->visual_info($visual_id);

Shortcut to "visual_info" in X11::Xlib::Display, but using this screen's default visual when no argument is given.

match_visual_info

  my $vinfo= $screen->match_visual_info($depth, $class);

Like "match_visual_info" in X11::Xlib::Display but with an implied $screen argument.

AUTHOR

Olivier Thauvin, <nanardon@nanardon.zarb.org>

Michael Conrad, <mike@nrdvana.net>

COPYRIGHT AND LICENSE

Copyright (C) 2009-2010 by Olivier Thauvin

Copyright (C) 2017 by Michael Conrad

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.