|
NAMEX11::Protocol::Ext::XINERAMA - multi-monitor display informationSYNOPSISuse X11::Protocol; my $X = X11::Protocol->new; $X->init_extension('XINERAMA') or print "XINERAMA extension not available"; DESCRIPTIONXinerama puts together two or more physical monitors to make a single large screen. The XINERAMA extension allows clients to enquire about the setup.The 1.0 "PanoramiX" requests take a $window parameter apparently to allow for more than one X screen made up of multiple physical monitors, but in practice the servers have only made one screen this way and the 1.1 "Xinerama" requests don't have that. See examples/xinerama-info.pl for a sample program dumping the Xinerama state information. REQUESTSThe following requests are made available with an "init_extension()" per "EXTENSIONS" in X11::Protocol.my $bool = $X->init_extension('XINERAMA'); Xinerama 1.0
Xinerama 1.1
BUGS"Xsun"Rumour has it the "Xsun" server with Xinerama 1.0 had a different request number 4 than the "XineramaIsActive" of Xinerama 1.1 above.<http://blogs.sun.com/alanc/entry/xinerama_protocol_clashes_on_solaris>
There's no attempt to do anything about this here, as yet. If "PanoramiXQueryVersion()" reports 1.0 then you shouldn't use "XineramaIsActive()" anyway, so no clash. If you do and it's the "Xsun" server then expect either a Length error reply, or the server to adapt itself to the request length and behave as "XineramaIsActive". "PanoramiXGetScreenSize()" Buffer OverrunEarly server code such as X11R6.4 might not range check the monitor number in "PanoramiXGetScreenSize()". Did big values read out fragments of arbitrary memory, or cause a segfault? Don't do that.X.org some time post 1.5.x, "Prevent buffer overrun
in ProcPanoramiXGetScreenSize",
<http://cgit.freedesktop.org/xorg/xserver/commit/?id=2b266eda6e23d16116f8a8e258192df353970279>
OTHER NOTESTo simulate some Xinerama for testing the "Xdmx" server can multiplex together two or more other servers to present one big screen. Those sub-servers can even be "Xnest" or "Xephyr" windows on an existing X display. For example running up "Xdmx" as display ":102",Xephyr :5 -screen 200x100 & Xephyr :6 -screen 190x110 & sleep 1 Xdmx -display :5 -display :6 +xinerama -input :5 -input :6 :102 "Xephyr" implements some extensions natively, whereas "Xnest" relies on the target server capabilities. Or to run up without bothering to look at anything "Xvfb" in memory or a disk file. SEE ALSOX11::ProtocolInitial technical details "http://www.kernel.org/doc/als1999/Conference/IMcCartney/xinerama.html" HOME PAGE<http://user42.tuxfamily.org/x11-protocol-other/index.html>LICENSECopyright 2011, 2012, 2013, 2014, 2017 Kevin RydeX11-Protocol-Other is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. X11-Protocol-Other is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with X11-Protocol-Other. If not, see <http://www.gnu.org/licenses/>.
Visit the GSP FreeBSD Man Page Interface. |