This file is indexed.

/usr/share/perl5/X11/AtomConstants.pm is in libx11-protocol-other-perl 28-1.

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# Copyright 2011, 2012, 2013 Kevin Ryde

# This file is part of X11-Protocol-Other.
#
# 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 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/>.

BEGIN { require 5 }
package X11::AtomConstants;
use strict;
use Exporter;
use vars '$VERSION', '@ISA', '@EXPORT_OK', '%EXPORT_TAGS';

$VERSION = 28;
@ISA = ('Exporter');
%EXPORT_TAGS = (all => \@EXPORT_OK);

# List generated by
# (shell-command "perl -n -e '/define XA_([^ ]*).*?([0-9]+)/ and print \"      $1\n\"' </usr/include/X11/Xatom.h" 'insert)

@EXPORT_OK =
  (qw(
      PRIMARY
      SECONDARY
      ARC
      ATOM
      BITMAP
      CARDINAL
      COLORMAP
      CURSOR
      CUT_BUFFER0
      CUT_BUFFER1
      CUT_BUFFER2
      CUT_BUFFER3
      CUT_BUFFER4
      CUT_BUFFER5
      CUT_BUFFER6
      CUT_BUFFER7
      DRAWABLE
      FONT
      INTEGER
      PIXMAP
      POINT
      RECTANGLE
      RESOURCE_MANAGER
      RGB_COLOR_MAP
      RGB_BEST_MAP
      RGB_BLUE_MAP
      RGB_DEFAULT_MAP
      RGB_GRAY_MAP
      RGB_GREEN_MAP
      RGB_RED_MAP
      STRING
      VISUALID
      WINDOW
      WM_COMMAND
      WM_HINTS
      WM_CLIENT_MACHINE
      WM_ICON_NAME
      WM_ICON_SIZE
      WM_NAME
      WM_NORMAL_HINTS
      WM_SIZE_HINTS
      WM_ZOOM_HINTS
      MIN_SPACE
      NORM_SPACE
      MAX_SPACE
      END_SPACE
      SUPERSCRIPT_X
      SUPERSCRIPT_Y
      SUBSCRIPT_X
      SUBSCRIPT_Y
      UNDERLINE_POSITION
      UNDERLINE_THICKNESS
      STRIKEOUT_ASCENT
      STRIKEOUT_DESCENT
      ITALIC_ANGLE
      X_HEIGHT
      QUAD_WIDTH
      WEIGHT
      POINT_SIZE
      RESOLUTION
      COPYRIGHT
      NOTICE
      FONT_NAME
      FAMILY_NAME
      FULL_NAME
      CAP_HEIGHT
      WM_CLASS
      WM_TRANSIENT_FOR
      LAST_PREDEFINED
    ));


# List generated by
# (shell-command "perl -n -e '/define XA_([^ ]*).*?([0-9]+)/ and print \"use constant $1 => $2;\n\"' </usr/include/X11/Xatom.h" 'insert)

use constant PRIMARY => 1;
use constant SECONDARY => 2;
use constant ARC => 3;
use constant ATOM => 4;
use constant BITMAP => 5;
use constant CARDINAL => 6;
use constant COLORMAP => 7;
use constant CURSOR => 8;
use constant CUT_BUFFER0 => 9;
use constant CUT_BUFFER1 => 10;
use constant CUT_BUFFER2 => 11;
use constant CUT_BUFFER3 => 12;
use constant CUT_BUFFER4 => 13;
use constant CUT_BUFFER5 => 14;
use constant CUT_BUFFER6 => 15;
use constant CUT_BUFFER7 => 16;
use constant DRAWABLE => 17;
use constant FONT => 18;
use constant INTEGER => 19;
use constant PIXMAP => 20;
use constant POINT => 21;
use constant RECTANGLE => 22;
use constant RESOURCE_MANAGER => 23;
use constant RGB_COLOR_MAP => 24;
use constant RGB_BEST_MAP => 25;
use constant RGB_BLUE_MAP => 26;
use constant RGB_DEFAULT_MAP => 27;
use constant RGB_GRAY_MAP => 28;
use constant RGB_GREEN_MAP => 29;
use constant RGB_RED_MAP => 30;
use constant STRING => 31;
use constant VISUALID => 32;
use constant WINDOW => 33;
use constant WM_COMMAND => 34;
use constant WM_HINTS => 35;
use constant WM_CLIENT_MACHINE => 36;
use constant WM_ICON_NAME => 37;
use constant WM_ICON_SIZE => 38;
use constant WM_NAME => 39;
use constant WM_NORMAL_HINTS => 40;
use constant WM_SIZE_HINTS => 41;
use constant WM_ZOOM_HINTS => 42;
use constant MIN_SPACE => 43;
use constant NORM_SPACE => 44;
use constant MAX_SPACE => 45;
use constant END_SPACE => 46;
use constant SUPERSCRIPT_X => 47;
use constant SUPERSCRIPT_Y => 48;
use constant SUBSCRIPT_X => 49;
use constant SUBSCRIPT_Y => 50;
use constant UNDERLINE_POSITION => 51;
use constant UNDERLINE_THICKNESS => 52;
use constant STRIKEOUT_ASCENT => 53;
use constant STRIKEOUT_DESCENT => 54;
use constant ITALIC_ANGLE => 55;
use constant X_HEIGHT => 56;
use constant QUAD_WIDTH => 57;
use constant WEIGHT => 58;
use constant POINT_SIZE => 59;
use constant RESOLUTION => 60;
use constant COPYRIGHT => 61;
use constant NOTICE => 62;
use constant FONT_NAME => 63;
use constant FAMILY_NAME => 64;
use constant FULL_NAME => 65;
use constant CAP_HEIGHT => 66;
use constant WM_CLASS => 67;
use constant WM_TRANSIENT_FOR => 68;
use constant LAST_PREDEFINED => 68;

1;
__END__

=for stopwords X11-Protocol-Other Ryde pre-defined Xlib PIXMAP

=head1 NAME

X11::AtomConstants -- predefined X11 atoms

=for test_synopsis my ($X, $window)

=head1 SYNOPSIS

 use X11::AtomConstants;
 $X->ChangeProperty($window,
                    X11::AtomConstants::WM_NAME,  # property
                    X11::AtomConstants::PIXMAP,   # type
                    8,                            # format
                    'Replace',
                    'My Window Title');

=head1 DESCRIPTION

This is the X11 pre-defined atoms as Perl constants.  For example C<PIXMAP>
is 20, the PIXMAP atom.

    my $atom_id = X11::AtomConstants::PIXMAP;  # $atom_id is 20
    my $name = $X->GetAtomName($atom_id);      # $name is "PIXMAP"

The C<LAST_PREDEFINED> constant is not an atom as such, but the last of the
predefined values, which happens to be C<WM_TRANSIENT_FOR>.

=cut

# List generated by
# (shell-command "perl -n -e '/define XA_([^ ]*).*?([0-9]+)/ and printf \"    %-20s  %2d\n\", $1, $2' </usr/include/X11/Xatom.h" 'insert)

=pod

    Constant             Value

    PRIMARY                1
    SECONDARY              2
    ARC                    3
    ATOM                   4
    BITMAP                 5
    CARDINAL               6
    COLORMAP               7
    CURSOR                 8
    CUT_BUFFER0            9
    CUT_BUFFER1           10
    CUT_BUFFER2           11
    CUT_BUFFER3           12
    CUT_BUFFER4           13
    CUT_BUFFER5           14
    CUT_BUFFER6           15
    CUT_BUFFER7           16
    DRAWABLE              17
    FONT                  18
    INTEGER               19
    PIXMAP                20
    POINT                 21
    RECTANGLE             22
    RESOURCE_MANAGER      23
    RGB_COLOR_MAP         24
    RGB_BEST_MAP          25
    RGB_BLUE_MAP          26
    RGB_DEFAULT_MAP       27
    RGB_GRAY_MAP          28
    RGB_GREEN_MAP         29
    RGB_RED_MAP           30
    STRING                31
    VISUALID              32
    WINDOW                33
    WM_COMMAND            34
    WM_HINTS              35
    WM_CLIENT_MACHINE     36
    WM_ICON_NAME          37
    WM_ICON_SIZE          38
    WM_NAME               39
    WM_NORMAL_HINTS       40
    WM_SIZE_HINTS         41
    WM_ZOOM_HINTS         42
    MIN_SPACE             43
    NORM_SPACE            44
    MAX_SPACE             45
    END_SPACE             46
    SUPERSCRIPT_X         47
    SUPERSCRIPT_Y         48
    SUBSCRIPT_X           49
    SUBSCRIPT_Y           50
    UNDERLINE_POSITION    51
    UNDERLINE_THICKNESS   52
    STRIKEOUT_ASCENT      53
    STRIKEOUT_DESCENT     54
    ITALIC_ANGLE          55
    X_HEIGHT              56
    QUAD_WIDTH            57
    WEIGHT                58
    POINT_SIZE            59
    RESOLUTION            60
    COPYRIGHT             61
    NOTICE                62
    FONT_NAME             63
    FAMILY_NAME           64
    FULL_NAME             65
    CAP_HEIGHT            66
    WM_CLASS              67
    WM_TRANSIENT_FOR      68

    LAST_PREDEFINED       68

=head1 EXPORTS

Nothing is exported by default, but the constants can be requested in usual
C<Exporter> style,

    use X11::AtomConstants 'PIXMAP';
    blah (atom => PIXMAP);

The C<:all> tag imports everything,

    use X11::AtomConstants ':all';
    blah (atom1 => POINT,
          atom2 => RECTANGLE);

Many atoms like C<STRING> or C<WEIGHT> have rather generic names and
importing them may be undesirable.  They can always be used with the full
package name,

    use X11::AtomConstants;
    blah (atom => X11::AtomConstants::PIXMAP);

=head1 SEE ALSO

L<X11::CursorFont>,
L<X11::Keysyms>,
L<X11::Protocol>,
L<X11::Protocol::Other>,
L<X11::Protocol::WM>

I<X Window System Protocol> specification (values in S<Appendix B>),
F</usr/share/X11/doc/hardcopy/XProtocol/proto.PS.gz>

F</usr/include/X11/Xatom.h>

=head1 HOME PAGE

L<http://user42.tuxfamily.org/x11-protocol-other/index.html>

=head1 LICENSE

Copyright 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 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/>.

=cut