---
name: "X11::AtomConstants"
section: "3pm"
platform: "linux"
package: "perl-x11-protocol-other"
version: "31-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/X11::AtomConstants"
---

# X11::AtomConstants(3pm)

## NAME

X11::AtomConstants -- predefined X11 atoms

## SYNOPSIS

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

## DESCRIPTION

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
```

## EXPORTS

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);
```

## SEE ALSO

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*

## HOME PAGE

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

## LICENSE

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