Provided by: libnotcurses-core-dev_3.0.7+dfsg.1-1ubuntu5_amd64 bug

NAME

       notcurses_capabilities - runtime capability detection

SYNOPSIS

       #include <notcurses/notcurses.h>

       const char* notcurses_detected_terminal(const struct notcurses* nc);

       unsigned notcurses_supported_styles(const struct notcurses* nc);

       unsigned notcurses_palette_size(const struct notcurses* nc);

       bool notcurses_cantruecolor(const struct notcurses* nc);

       bool notcurses_canfade(const struct notcurses* nc);

       bool notcurses_canchangecolor(const struct notcurses* nc);

       bool notcurses_canopen_images(const struct notcurses* nc);

       bool notcurses_canopen_videos(const struct notcurses* nc);

       bool notcurses_canutf8(const struct notcurses* nc);

       bool notcurses_canhalfblock(const struct notcurses* nc);

       bool notcurses_canquadrant(const struct notcurses* nc);

       bool notcurses_cansextant(const struct notcurses* nc);

       bool notcurses_canbraille(const struct notcurses* nc);

       bool notcurses_canpixel(const struct notcurses* nc);

              typedef enum {
                NCPIXEL_NONE = 0,
                NCPIXEL_SIXEL,           // sixel
                NCPIXEL_LINUXFB,         // linux framebuffer
                NCPIXEL_ITERM2,          // iTerm2
                NCPIXEL_KITTY_STATIC,    // kitty pre-0.20.0
                NCPIXEL_KITTY_ANIMATED,  // kitty pre-0.22.0
                NCPIXEL_KITTY_SELFREF,   // kitty 0.22.0+, wezterm
              } ncpixelimpl_e;

       ncpixelimpl_e notcurses_check_pixel_support(struct notcurses* nc);

DESCRIPTION

       notcurses_detected_terminal  returns  a  free-form  string  describing  the  detected terminal.  Terminal
       detection takes  into  account  any  specified  terminal  database  (see  notcurses_init(3)),  the  TERM,
       TERM_PROGRAM,  and  TERM_PROGRAM_VERSION  environment  variables,  the response to a XTGETTCAP[TN] Device
       Control String, the  response  to  Primary,  Secondary,  and  Tertiary  Send  Device  Attributes  control
       sequences,  and  the  phase  of  the moon.  You should not build logic around this response; all relevant
       properties of the  terminal  ought  be  abstracted  by  Notcurses.   This  is  only  made  available  for
       diagnostics.

       notcurses_supported_styles  returns a bitmask representing those styles for which the terminal advertises
       support.

       notcurses_palette_size returns the size of the terminal's palette, used for  palette-indexed  color.   It
       will  always  return  at  least 1.  This is independent of RGB TrueColor support.  No terminal is know to
       support more than 256-indexed color.

       notcurses_cantruecolor returns true if the terminal advertises support for RGB TrueColor.  Note that  the
       RGB APIs of Notcurses can be used even in the absence of terminal RGB support (Notcurses will map the RGB
       values to the palette).

       notcurses_canfade returns true if Notcurses has a means by which it can effect fades.

       notcurses_canchangecolor returns true if  the  terminal  advertises  support  for  changing  its  palette
       entries.

       notcurses_canopen_images returns true if Notcurses was built with multimedia support.

       notcurses_canopen_video  returns  true if Notcurses was built with multimedia support capable of decoding
       videos.

       notcurses_canutf8 returns true if  the  configured  locale  uses  UTF-8  encoding,  and  the  locale  was
       successfully loaded.

       notcurses_cansextant returns true if the heuristics suggest that the terminal can properly render Unicode
       13 sextants.  Likewise, notcurses_canquadrant and notcurses_canhalfblock return true  if  the  heuristics
       suggest   that  the  terminal  can  properly  render  Unicode  quadrants  and  halfblocks,  respectively.
       notcurses_canbraille returns true if Unicode Braille is expected to work on the terminal.  None of  these
       functions return true unless UTF-8 encoding is in use.

       notcurses_check_pixel_support  returns  a  non-zero  pixel  implementation  if  bitmap  support  (via any
       mechanism) has been detected, and otherwise 0 (NCPIXEL_NONE).  notcurses_canpixel folds this  down  to  a
       boolean.

NOTES

       Some  terminals  advertise  support  for TrueColor, but then downsample or otherwise degrade the provided
       RGB.  In this case notcurses_cantruecolor will return true, but the full spectrum will not be available.

SEE ALSO

       notcurses(3), notcurses_init(3), notcurses_visual(3), utf8(7)

AUTHORS

       nick black <nickblack@linux.com>.

                                                     v3.0.7                            notcurses_capabilities(3)