X11::Protocol::Other (3)
Leading comments
Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) Standard preamble: ========================================================================
NAME
X11::Protocol::Other -- miscellaneous X11::Protocol helpersSYNOPSIS
use X11::Protocol::Other;
DESCRIPTION
This is some helper functions for "X11::Protocol".EXPORTS
Nothing is exported by default, but the functions can be requested in usual "Exporter" style,
use X11::Protocol::Other 'visual_is_dynamic'; if (visual_is_dynamic ($X, $visual_id)) { ... }
Or just called with full package name
use X11::Protocol::Other; if (X11::Protocol::Other::visual_is_dynamic ($X, $visual_id)) { ... }
There's no ":all" tag since this module is meant as a grab-bag of functions and to import as-yet unknown things would be asking for name clashes.
FUNCTIONS
Screen Finding
- $number = root_to_screen ($X, $root)
- $hashref = root_to_screen_info ($X, $root)
-
Return the screen number or screen info hash for a given root window.
$root can be any XIDinteger on $X. If it's not one of the root windows then the return is "undef".
- $number = default_colormap_to_screen ($X, $colormap)
- $hashref = default_colormap_to_screen_info ($X, $colormap)
-
Return the screen number or screen info hash for a given default colormap.
$colormap can be any XIDinteger on $X. If it's not one of the screen default colormaps then the return is "undef".
Visuals
- $bool = visual_is_dynamic ($X, $visual_id)
- $bool = visual_class_is_dynamic ($X, $visual_class)
-
Return true if the given visual is dynamic, meaning colormap entries on it
can be changed to change the colour of a given pixel value.
$visual_id is one of the visual
IDnumbers, ie. one of the keys in "$X->{'visuals'}". Or $visual_class is a VisualClass string like ``PseudoColor'' or corresponding integer such as 3.
Window Info
- ($width, $height) = window_size ($X, $window)
- $visual_id = window_visual ($X, $window)
-
Return the size or visual IDof a given window.
$window is an integer
XIDon $X. If it's one of the root windows then the return values are from the screen info hash in $X, otherwise the server is queried with "GetGeometry()" (for the size) or "GetWindowAttributes()" (for the visual).These functions are handy when there's a good chance $window might be a root window and therefore not need a server round trip.
Colour Parsing
- ($red16, $green16, $blue16) = hexstr_to_rgb($str)
-
Parse a given RGBcolour string like ``#FF00FF'' into 16-bit red, green, blue components. The return values are always in the range 0 to 65535. The strings recognised are 1, 2, 3 or 4 digit hex.
#RGB #RRGGBB #RRRGGGBBB #RRRRGGGGBBBB
If $str is unrecognised then the return is an empty list, so for instance
my @rgb = hexstr_to_rgb($str) or die "Unrecognised colour: $str";
The digits of the 1, 2 and 3 forms are replicated as necessary to give a 16-bit range. For example 3-digit style ``#321FFF000'' gives return values 0x3213, 0xFFFF, 0. Or 1-digit ``#F0F'' is 0xFFFF, 0, 0xFFFF. Notice ``F'' expands to 0xFFFF so an ``F'', ``
FF''or ``FFF''all mean full saturation the same as a 4-digit ``FFFF''.Would it be worth recognising the Xcms style ``rgb:RR/GG/BB''? Perhaps that's best left to full Xcms, or general colour conversion modules. The X11R6 X(7) man page describes the ``rgb:'' form, but just ``#'' is much more common.
SEE ALSO
X11::Protocol, X11::Protocol::GrabServerColor::Library (many named colours), Convert::Color, Graphics::Color (Moose based) for more colour parsing
X11::AtomConstants, X11::CursorFont
HOME PAGE
<user42.tuxfamily.org/x11-protocol-other/index.html>LICENSE
Copyright 2010, 2011, 2012, 2013 Kevin RydeX11-Protocol-Other is free software; you can redistribute it and/or modify it under the terms of the
X11-Protocol-Other is distributed in the hope that it will be useful, but
You should have received a copy of the