This file is indexed.

/usr/lib/x86_64-linux-gnu/perl5/5.24/X11/XCB.pm is in libx11-xcb-perl 0.16-1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
package X11::XCB;

use 5.010000;
use strict;
use warnings;

our $VERSION = '0.16';

use Exporter 'import';

our @EXPORT;
our %EXPORT_TAGS = (all => []); # will be populated by XS
*EXPORT_OK = $EXPORT_TAGS{all};

require XSLoader;
XSLoader::load('X11::XCB', $VERSION);

use XS::Object::Magic;

sub new {
    # XXX $screenp currently unused
    my ($class, $display, $screenp) = @_;

    $display //= '';

    my $self = bless { display => $display }, $class;

    $self->_connect_and_attach_struct;

    return $self;
}

1;
__END__

=head1 NAME

X11::XCB - perl bindings for libxcb

=head1 SYNOPSIS

  use X11::XCB::Connection;
  my $x = X11::XCB::Connection->new;

  my $window = $x->root->create_child(
    class => WINDOW_CLASS_INPUT_OUTPUT,
    rect => [0, 0, 200, 200],
    background_color => '#FF00FF',
  );

  $window->map;

=head1 DESCRIPTION

These bindings wrap libxcb (a C library to speak with X11, in many cases better
than Xlib in many aspects) and provide a nice object oriented interface to its
methods (using Mouse).

Please note that its aim is B<NOT> to provide yet another toolkit for creating
graphical applications. It is a low-level method of communicating with X11. Use
cases include testcases for all kinds of X11 applications, implementing really
simple applications which do not require an graphical toolkit (such as GTK, QT,
etc.) or command-line utilities which communicate with X11.

B<WARNING>: X11::XCB is in a rather early stage and thus API breaks may happen
in future versions. It is not yet widely used.

=head1 SEE ALSO

=over

=item L<http://xcb.freedesktop.org/>

The website of libxcb.

=item L<http://code.stapelberg.de/git/X11-XCB/>

The git webinterface for the development of X11::XCB.

=item L<http://code.stapelberg.de/git/i3/tree/testcases?h=next>

The i3 window manager includes testcases which use X11::XCB.

=back

=head1 AUTHOR

Michael Stapelberg, E<lt>michael+xcb@stapelberg.deE<gt>
Maik Fischer, E<lt>maikf+xcb@qu.cxE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2009-2011 Michael Stapelberg
Copyright (C) 2011 Maik Fischer

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.


=cut