GETSNARF(3)                                           GETSNARF(3)

     NAME
          getsnarf, putsnarf - window system snarf (cut and paste)
          buffer

     SYNOPSIS
          #include <draw.h>

          char *getsnarf(void)

          void putsnarf(char *text)

     DESCRIPTION
          Getsnarf and putsnarf access the window system's snarf (cut
          and paste) buffer.

          Getsnarf returns a copy of the current buffer; the returned
          pointer should be freed with free (see malloc(3)) when no
          longer needed.

          Putsnarf sets the buffer to the text string text.

          Callers should assume that the snarf buffer is UTF.  If the
          window system does not keep the buffer in UTF, getsnarf and
          putsnarf will convert as necessary.

     SOURCE
          /src/libdraw/x11-itrans.c

     SEE ALSO
          snarfer(1)

     BUGS
          On OS X, there are two snarf buffers: the Carbon snarf
          buffer used by native OS X applications, and the X11 snarf
          buffer, used by X11 applications.  Whenever new text is
          written to the Carbon snarf buffer, the OS X X11 implementa-
          tion automatically copies that text to the X11 snarf buffer.
          The reverse is not done automatically, arguably a bug in the
          X11 server.  To work around this, putsnarf writes to both
          the Carbon snarf buffer and the X11 snarf buffer.  To work
          around this bug in remote or non-Plan 9 X11 clients, run
          snarfer(1).