1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# Clipboard Integration
Nearly every operating system has some notion of a short-term storage area which can be accessed by
any program. Usually this is called the :clipboard: clipboard, but sometimes people refer to it as
the paste buffer.
`cmd2` integrates with the operating system clipboard using the
[pyperclip](https://github.com/asweigart/pyperclip) module. Command output can be sent to the
clipboard by ending the command with a greater than symbol:
```text
mycommand args >
```
Think of it as redirecting the output to an unnamed, ephemeral place: the clipboard. You can also
append output to the current contents of the clipboard by ending the command with two greater than
symbols:
```text
mycommand arg1 arg2 >>
```
!!! warning "Limitation"
The ability to redirect command output only works directly from a `cmd2`
command. It doesn't work after piping output to a shell command.
## Developers
You can control whether the above user features of adding output to the operating system clipboard
are allowed for the user by setting the [cmd2.Cmd.allow_clipboard][] attribute. The default value is
`True`. Set it to `False` and the above functionality will generate an error message instead of
adding the output to the clipboard. [cmd2.Cmd.allow_clipboard][] can be set upon initialization, and
you can change it at any time from within your code.
If you would like your `cmd2` based application to be able to use the clipboard in additional or
alternative ways, you can use the following methods (which work uniformly on Windows, macOS, and
Linux).
::: cmd2.clipboard
|