| 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

| `/usr/local/plan9/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 implementation 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).