X11::AtomConstants(3) User Contributed Perl Documentation X11::AtomConstants(3)

X11::AtomConstants -- predefined X11 atoms

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

This is the X11 pre-defined atoms as Perl constants. For example "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 "LAST_PREDEFINED" constant is not an atom as such, but the last of the predefined values, which happens to be "WM_TRANSIENT_FOR".

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

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

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

The ":all" tag imports everything,

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

Many atoms like "STRING" or "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);

X11::CursorFont, X11::Keysyms, X11::Protocol, X11::Protocol::Other, X11::Protocol::WM

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

/usr/include/X11/Xatom.h

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

Copyright 2011, 2012, 2013, 2014, 2017 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/.

2023-07-25 perl v5.38.0