---
name: "caca_attr"
section: "3caca"
platform: "linux"
package: "libcaca"
version: "0.99.beta20-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/caca_attr"
---

# caca\_attr(3caca)

libcaca attribute definitions

## NAME

caca\_attr - libcaca attribute definitions

## SYNOPSIS

### Topics

**libcaca basic functions**\

### Data Structures

struct **caca\_event**\
 Handling of user events.  struct **caca\_option**\
 Option parsing.

### Enumerations

enum **caca\_color** { **CACA\_BLACK** = 0x00, **CACA\_BLUE** = 0x01, **CACA\_GREEN** = 0x02, **CACA\_CYAN** = 0x03, **CACA\_RED** = 0x04, **CACA\_MAGENTA** = 0x05, **CACA\_BROWN** = 0x06, **CACA\_LIGHTGRAY** = 0x07, **CACA\_DARKGRAY** = 0x08, **CACA\_LIGHTBLUE** = 0x09, **CACA\_LIGHTGREEN** = 0x0a, **CACA\_LIGHTCYAN** = 0x0b, **CACA\_LIGHTRED** = 0x0c, **CACA\_LIGHTMAGENTA** = 0x0d, **CACA\_YELLOW** = 0x0e, **CACA\_WHITE** = 0x0f, **CACA\_DEFAULT** = 0x10, **CACA\_TRANSPARENT** = 0x20 }\
 enum **caca\_style** { **CACA\_BOLD** = 0x01, **CACA\_ITALICS** = 0x02, **CACA\_UNDERLINE** = 0x04, **CACA\_BLINK** = 0x08 }\
 enum **caca\_event\_type** { **CACA\_EVENT\_NONE** = 0x0000, **CACA\_EVENT\_KEY\_PRESS** = 0x0001, **CACA\_EVENT\_KEY\_RELEASE** = 0x0002, **CACA\_EVENT\_MOUSE\_PRESS** = 0x0004, **CACA\_EVENT\_MOUSE\_RELEASE** = 0x0008, **CACA\_EVENT\_MOUSE\_MOTION** = 0x0010, **CACA\_EVENT\_RESIZE** = 0x0020, **CACA\_EVENT\_QUIT** = 0x0040, **CACA\_EVENT\_ANY** = 0xffff }\
 User event type enumeration.  enum **caca\_key** { **CACA\_KEY\_UNKNOWN** = 0x00, **CACA\_KEY\_CTRL\_A** = 0x01, **CACA\_KEY\_CTRL\_B** = 0x02, **CACA\_KEY\_CTRL\_C** = 0x03, **CACA\_KEY\_CTRL\_D** = 0x04, **CACA\_KEY\_CTRL\_E** = 0x05, **CACA\_KEY\_CTRL\_F** = 0x06, **CACA\_KEY\_CTRL\_G** = 0x07, **CACA\_KEY\_BACKSPACE** = 0x08, **CACA\_KEY\_TAB** = 0x09, **CACA\_KEY\_CTRL\_J** = 0x0a, **CACA\_KEY\_CTRL\_K** = 0x0b, **CACA\_KEY\_CTRL\_L** = 0x0c, **CACA\_KEY\_RETURN** = 0x0d, **CACA\_KEY\_CTRL\_N** = 0x0e, **CACA\_KEY\_CTRL\_O** = 0x0f, **CACA\_KEY\_CTRL\_P** = 0x10, **CACA\_KEY\_CTRL\_Q** = 0x11, **CACA\_KEY\_CTRL\_R** = 0x12, **CACA\_KEY\_PAUSE** = 0x13, **CACA\_KEY\_CTRL\_T** = 0x14, **CACA\_KEY\_CTRL\_U** = 0x15, **CACA\_KEY\_CTRL\_V** = 0x16, **CACA\_KEY\_CTRL\_W** = 0x17, **CACA\_KEY\_CTRL\_X** = 0x18, **CACA\_KEY\_CTRL\_Y** = 0x19, **CACA\_KEY\_CTRL\_Z** = 0x1a, **CACA\_KEY\_ESCAPE** = 0x1b, **CACA\_KEY\_DELETE** = 0x7f, **CACA\_KEY\_UP** = 0x111, **CACA\_KEY\_DOWN** = 0x112, **CACA\_KEY\_LEFT** = 0x113, **CACA\_KEY\_RIGHT** = 0x114, **CACA\_KEY\_INSERT** = 0x115, **CACA\_KEY\_HOME** = 0x116, **CACA\_KEY\_END** = 0x117, **CACA\_KEY\_PAGEUP** = 0x118, **CACA\_KEY\_PAGEDOWN** = 0x119, **CACA\_KEY\_F1** = 0x11a, **CACA\_KEY\_F2** = 0x11b, **CACA\_KEY\_F3** = 0x11c, **CACA\_KEY\_F4** = 0x11d, **CACA\_KEY\_F5** = 0x11e, **CACA\_KEY\_F6** = 0x11f, **CACA\_KEY\_F7** = 0x120, **CACA\_KEY\_F8** = 0x121, **CACA\_KEY\_F9** = 0x122, **CACA\_KEY\_F10** = 0x123, **CACA\_KEY\_F11** = 0x124, **CACA\_KEY\_F12** = 0x125, **CACA\_KEY\_F13** = 0x126, **CACA\_KEY\_F14** = 0x127, **CACA\_KEY\_F15** = 0x128 }\
 Special key values.

## Detailed Description

Colours and styles that can be used with **caca\_set\_attr()**.

## Enumeration Type Documentation

### enum caca\_color

*libcaca* colour keyword

**Enumerator**

- ***CACA\_BLACK***

  The colour index for black.

- ***CACA\_BLUE***

  The colour index for blue.

- ***CACA\_GREEN***

  The colour index for green.

- ***CACA\_CYAN***

  The colour index for cyan.

- ***CACA\_RED***

  The colour index for red.

- ***CACA\_MAGENTA***

  The colour index for magenta.

- ***CACA\_BROWN***

  The colour index for brown.

- ***CACA\_LIGHTGRAY***

  The colour index for light gray.

- ***CACA\_DARKGRAY***

  The colour index for dark gray.

- ***CACA\_LIGHTBLUE***

  The colour index for blue.

- ***CACA\_LIGHTGREEN***

  The colour index for light green.

- ***CACA\_LIGHTCYAN***

  The colour index for light cyan.

- ***CACA\_LIGHTRED***

  The colour index for light red.

- ***CACA\_LIGHTMAGENTA***

  The colour index for light magenta.

- ***CACA\_YELLOW***

  The colour index for yellow.

- ***CACA\_WHITE***

  The colour index for white.

- ***CACA\_DEFAULT***

  The output driver's default colour.

- ***CACA\_TRANSPARENT***

  The transparent colour.

### enum caca\_style

*libcaca* style keyword

**Enumerator**

- ***CACA\_BOLD***

  The style mask for bold.

- ***CACA\_ITALICS***

  The style mask for italics.

- ***CACA\_UNDERLINE***

  The style mask for underline.

- ***CACA\_BLINK***

  The style mask for blink.

### enum caca\_event\_type

This enum serves two purposes:

- •

  Build listening masks for **caca\_get\_event()**.

- •

  Define the type of a **caca\_event\_t.**

**Enumerator**

- ***CACA\_EVENT\_NONE***

  **No event.**

- ***CACA\_EVENT\_KEY\_PRESS***

  **A key was pressed.**

- ***CACA\_EVENT\_KEY\_RELEASE***

  **A key was released.**

- ***CACA\_EVENT\_MOUSE\_PRESS***

  **A mouse button was pressed.**

- ***CACA\_EVENT\_MOUSE\_RELEASE***

  **A mouse button was released.**

- ***CACA\_EVENT\_MOUSE\_MOTION***

  **The mouse was moved.**

- ***CACA\_EVENT\_RESIZE***

  **The window was resized.**

- ***CACA\_EVENT\_QUIT***

  **The user requested to quit.**

- ***CACA\_EVENT\_ANY***

  **Bitmask for any event.**

### enum caca\_key

**Special key values returned by caca\_get\_event() for which there is no printable ASCII equivalent.**

**Enumerator**

- ***CACA\_KEY\_UNKNOWN***

  **Unknown key.**

- ***CACA\_KEY\_CTRL\_A***

  **The Ctrl-A key.**

- ***CACA\_KEY\_CTRL\_B***

  **The Ctrl-B key.**

- ***CACA\_KEY\_CTRL\_C***

  **The Ctrl-C key.**

- ***CACA\_KEY\_CTRL\_D***

  **The Ctrl-D key.**

- ***CACA\_KEY\_CTRL\_E***

  **The Ctrl-E key.**

- ***CACA\_KEY\_CTRL\_F***

  **The Ctrl-F key.**

- ***CACA\_KEY\_CTRL\_G***

  **The Ctrl-G key.**

- ***CACA\_KEY\_BACKSPACE***

  **The backspace key.**

- ***CACA\_KEY\_TAB***

  **The tabulation key.**

- ***CACA\_KEY\_CTRL\_J***

  **The Ctrl-J key.**

- ***CACA\_KEY\_CTRL\_K***

  **The Ctrl-K key.**

- ***CACA\_KEY\_CTRL\_L***

  **The Ctrl-L key.**

- ***CACA\_KEY\_RETURN***

  **The return key.**

- ***CACA\_KEY\_CTRL\_N***

  **The Ctrl-N key.**

- ***CACA\_KEY\_CTRL\_O***

  **The Ctrl-O key.**

- ***CACA\_KEY\_CTRL\_P***

  **The Ctrl-P key.**

- ***CACA\_KEY\_CTRL\_Q***

  **The Ctrl-Q key.**

- ***CACA\_KEY\_CTRL\_R***

  **The Ctrl-R key.**

- ***CACA\_KEY\_PAUSE***

  **The pause key.**

- ***CACA\_KEY\_CTRL\_T***

  **The Ctrl-T key.**

- ***CACA\_KEY\_CTRL\_U***

  **The Ctrl-U key.**

- ***CACA\_KEY\_CTRL\_V***

  **The Ctrl-V key.**

- ***CACA\_KEY\_CTRL\_W***

  **The Ctrl-W key.**

- ***CACA\_KEY\_CTRL\_X***

  **The Ctrl-X key.**

- ***CACA\_KEY\_CTRL\_Y***

  **The Ctrl-Y key.**

- ***CACA\_KEY\_CTRL\_Z***

  **The Ctrl-Z key.**

- ***CACA\_KEY\_ESCAPE***

  **The escape key.**

- ***CACA\_KEY\_DELETE***

  **The delete key.**

- ***CACA\_KEY\_UP***

  **The up arrow key.**

- ***CACA\_KEY\_DOWN***

  **The down arrow key.**

- ***CACA\_KEY\_LEFT***

  **The left arrow key.**

- ***CACA\_KEY\_RIGHT***

  **The right arrow key.**

- ***CACA\_KEY\_INSERT***

  **The insert key.**

- ***CACA\_KEY\_HOME***

  **The home key.**

- ***CACA\_KEY\_END***

  **The end key.**

- ***CACA\_KEY\_PAGEUP***

  **The page up key.**

- ***CACA\_KEY\_PAGEDOWN***

  **The page down key.**

- ***CACA\_KEY\_F1***

  **The F1 key.**

- ***CACA\_KEY\_F2***

  **The F2 key.**

- ***CACA\_KEY\_F3***

  **The F3 key.**

- ***CACA\_KEY\_F4***

  **The F4 key.**

- ***CACA\_KEY\_F5***

  **The F5 key.**

- ***CACA\_KEY\_F6***

  **The F6 key.**

- ***CACA\_KEY\_F7***

  **The F7 key.**

- ***CACA\_KEY\_F8***

  **The F8 key.**

- ***CACA\_KEY\_F9***

  **The F9 key.**

- ***CACA\_KEY\_F10***

  **The F10 key.**

- ***CACA\_KEY\_F11***

  **The F11 key.**

- ***CACA\_KEY\_F12***

  **The F12 key.**

- ***CACA\_KEY\_F13***

  **The F13 key.**

- ***CACA\_KEY\_F14***

  **The F14 key.**

- ***CACA\_KEY\_F15***

  **The F15 key.**

## Author

**Generated automatically by Doxygen for libcaca from the source code.**
