GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


       X11::Protocol::Other -- miscellaneous X11::Protocol helpers


        use X11::Protocol::Other;


       This is some helper functions for "X11::Protocol".


       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


   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 XID integer 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 XID integer on $X.  If it's not one
           of the screen default colormaps then the return is "undef".

       "$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

           $visual_id is one of the visual ID numbers, 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 ID of a given window.

           $window is an integer XID on $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 RGB colour 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.


           If $str is unrecognised then the return is an empty list, so for

               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.


       X11::Protocol, X11::Protocol::GrabServer

       Color::Library (many named colours), Convert::Color, Graphics::Color
       (Moose based) for more colour parsing

       X11::AtomConstants, X11::CursorFont




       Copyright 2010, 2011, 2012, 2013 Kevin Ryde

       X11-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
       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 <>.

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.154 seconds. Last modified: November 04 2018 12:49:43.