XCLIP(1)

๐Ÿ’– NAME ๐Ÿ’–

xclip(1) โ€” okay bestie, this is the manual page for xclip, and it is literally the command line interface to X selections (clipboard). Weโ€™re in the General Commands Manual, hi, welcome, slay. ๐ŸŽ€

โœจ SYNOPSIS โœจ

xclip [OPTION] [FILE]...

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

xclip reads from standard in, or from one or more files, and makes that data available as an X selection so you can paste it into X applications. It can also print the current X selection to standard out. Clipboard middleman behavior, but make it iconic. ๐Ÿ’…

๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -i, -in โ€” read text into the X selection from standard input or files. This is the default, no cap.
  • -o, -out โ€” print the selection to standard out, generally so you can pipe it to a file or program. Piping rights.
  • -f, -filter โ€” when xclip is invoked in in mode with output level set to silent (the defaults), this filter option makes xclip print the text piped to standard in right back to standard out, unmodified. No edits, no glow-up, just echo. ๐Ÿชž
  • -r, -rmlastnl โ€” when the last character of the selection is a newline character, remove it. Newline characters that are not the last character in the selection are not affected. If the selection does not end with a newline character, this option has no effect. This one is useful for copying one-line output of programs like pwd to the clipboard so you can paste it again into the command prompt without executing the line immediately due to the newline character pwd appends. Command-line self-control via newline removal, we love to see it.
  • -l n, -loops n โ€” number of X selection requests (pastes into X applications) to wait for before exiting. A value of 0 (default) causes xclip to wait for an unlimited number of requests until another application (possibly another invocation of xclip) takes ownership of the selection. Forever waiting? Default behavior said yes.
  • -t t, -target t โ€” specify a particular data format using the given target atom. With -o, the special target atom name "TARGETS" can be used to get a list of valid target atoms for this selection. The default target is "STRING". For more information about target atoms refer to ICCCM section 2.6.2. Atom lore, iykyk.
  • -d, -display โ€” X display to use (e.g. "localhost:0"). xclip defaults to the value in $DISPLAY if this option is omitted.
  • -h, -help โ€” show quick summary of options. Emergency help button energy.
  • -selection โ€” specify which X selection to use. Options are "primary" to use XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD. Selection menu, but make it X11.
  • -version โ€” show version information.
  • -silent โ€” fork into the background to wait for requests, with no informational output, errors only (default). Quiet background gremlin mode, but helpful.
  • -quiet โ€” show informational messages on the terminal and run in the foreground.
  • -verbose โ€” provide a running commentary of what xclip is doing. Narrator mode activated.
  • -noutf8 โ€” operate in legacy (i.e. non UTF-8) mode for backwards compatibility. > โš ๏ธ Use this option only when really necessary, as the old behavior was broken. Like, genuinely broken. Do not casually vibe with it.
  • -sensitive โ€” clear sensitive data from the selection buffer after being pasted once. This is currently implemented as -wait 50. See NOTES.
  • -wait n โ€” after the first paste, wait for n milliseconds. If a subsequent paste request arrives before the timer expires, reset the timer. Once the timer expires, the selection buffer is cleared so the data cannot be pasted again. Timer-based clipboard cleanup, dramatic and functional.

xclip reads text from standard in or files and makes it available to other X applications for pasting as an X selection (traditionally with the middle mouse button). It reads from all files specified, or from standard in if no files are specified. xclip can also print the contents of a selection to standard out with the -o option.

xclip was designed to allow tighter integration of X applications and command line programs. The default action is to silently wait in the background for X selection requests (pastes) until another X application places data in the clipboard, at which point xclip exits silently. You can use the -verbose option to see if and when xclip actually receives selection requests from other X applications. Main character background process behavior.

Options can be abbreviated as long as they remain unambiguous. For example, it is possible to use -d or -disp instead of -display. However, -v couldnโ€™t be used because it is ambiguous (it could be short for -verbose or -version), so it would be interpreted as a filename. Ambiguity check: failed, therefore filename.

Note that only the first character of the selection specified with the -selection option is important. This means that "p", "sec" and "clip" would have the same effect as using "primary", "secondary" or "clipboard" respectively. First-letter girlies, rise.

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

I hate man pages without examples! Same, bestie, same.

uptime | xclip

Put your uptime in the X selection. Then middle click in an X application to paste. Uptime to clipboard pipeline, slay.

xclip -o > helloworld.c

Put the contents of the selection into a file.

xclip -t text/html index.html

Middle click in an X application supporting HTML to paste the contents of the given file as HTML.

xclip -loops 10 -verbose /etc/motd

Exit after /etc/motd (message of the day) has been pasted 10 times. Show how many selection requests (pastes) have been processed. Counted pastes, narrated by -verbose.

๐Ÿงš NOTES ๐Ÿงš

Using the -sensitive option will clear the selection buffer of the sensitive information 50 milliseconds after it has been pasted, effectively only allowing the selection to be pasted once. In some instances this may be too low and will prevent pasting. If this is the case, or if the user needs to be able to paste more than once for some other reason, they may use -wait n instead. -wait is the same as -sensitive, except it allows one to adjust the time to wait before clearing the selection to be n milliseconds. Sensitive data said โ€œone paste and Iโ€™m out.โ€

Ideally, -sensitive would allow exactly one paste and not need a timeout, but due to subtleties in the way the X clipboard protocol works, doing so is not as simple as it may seem. X clipboard protocol said โ€œitโ€™s complicated.โ€

๐ŸŒธ ENVIRONMENT ๐ŸŒธ

  • DISPLAY โ€” X display to use if none is specified with the -display option.

๐Ÿ’€ REPORTING BUGS ๐Ÿ’€

Please report any bugs, problems, queries, experiences, etc. directly to the author. Yes, experiences too โ€” the etc. said so.

๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

  • Kim Saunders <kims@debian.org>
  • Peter ร…strand <astrand@lysator.liu.se>

Okay thatโ€™s the whole page, bestie โ€” xclip(1) from the General Commands Manual, and the footer didnโ€™t give us a version or date, so hereโ€™s your cute sign-off instead: byeeee, go paste something iconic ๐Ÿ’…๐ŸŽ€โœจ๐Ÿซถ

๐Ÿ“ฆ where this page comes from