Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astrand/xclip
Command line interface to the X11 clipboard
https://github.com/astrand/xclip
Last synced: 3 days ago
JSON representation
Command line interface to the X11 clipboard
- Host: GitHub
- URL: https://github.com/astrand/xclip
- Owner: astrand
- License: gpl-2.0
- Created: 2016-02-02T07:35:47.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-01-08T00:06:46.000Z (11 days ago)
- Last Synced: 2025-01-09T05:07:47.304Z (10 days ago)
- Language: C
- Homepage:
- Size: 445 KB
- Stars: 1,091
- Watchers: 20
- Forks: 74
- Open Issues: 86
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
- awesome - xclip - CLI tool for X11 clipboard (Utilities / Copy file contents to clipboard)
- awesome-starred - astrand/xclip - Command line interface to the X11 clipboard (others)
README
WHAT IS XCLIP?
==============xclip is a command line utility that is designed to run on any system with an
X11 implementation. It provides an interface to X selections ("the clipboard")
from the command line. It can read data from standard in or a file and place it
in an X selection for pasting into other X applications. xclip can also print
an X selection to standard out, which can then be redirected to a file or
another program.USING XCLIP
===========Here are some ideas for things you can do with xclip:
Copy your uptime into the selection for pasting:
uptime | xclipCopy your password file for pasting:
xclip /etc/passwdSave some text you have Edit | Copied in a web browser:
xclip -o -sel clip > webpage.txtOpen a URL selected in an email client
mozilla `xclip -o`Copy XA_PRIMARY to XA_CLIPBOARD
xclip -o | xclip -sel clipIn command mode in vim, select some lines of text, then press shift-:
for an ex prompt, and use this command to copy the selected lines of
text to the primary X selection:
!xclip -fUSING XCLIP FOR MOVING FILES
============================The programs xclip-copyfile, xclip-pastefile, and xclip-cutfile can be
used for copying and moving files between different directories and
even machines, assuming that you have a working X11 connection. Here
are some examples:# Copying a file to a remote host
[maggie.lkpg.cendio.se ~]$ echo "A file created on ${HOSTNAME}" > file1
[maggie.lkpg.cendio.se ~]$ xclip-copyfile file1
[sofie.homeip.net ~/doc]$ xclip-pastefile
file1
[sofie.homeip.net ~/doc]$ cat file1
A file created on maggie.lkpg.cendio.se# Copying an entire tree structure
[sofie.homeip.net ~]$ xclip-copyfile doc
[maggie.lkpg.cendio.se ~/tmp]$ xclip-pastefile
doc/
doc/letter-mom-april.txt
doc/file1
doc/letter-dad-march.txt# Copying files with preserved path information
[maggie.lkpg.cendio.se ~]$ xclip-copyfile -p /etc/sysconfig/grub
tar: Removing leading `/' from member names
[sofie.homeip.net ~/tmp]$ xclip-pastefile
etc/sysconfig/grub
[sofie.homeip.net ~/tmp]$ ls etc/sysconfig/grub
etc/sysconfig/grub# Moving files
[sofie.homeip.net ~]$ ls letter-brother-may.txt
letter-brother-may.txt
[sofie.homeip.net ~]$ xclip-cutfile letter-brother-may.txt
[sofie.homeip.net ~]$ ls letter-brother-may.txt
ls: cannot access letter-brother-may.txt: No such file or directory
[sofie.homeip.net ~]$ cd doc
[sofie.homeip.net ~/doc]$ xclip-pastefile
letter-brother-may.txtFEATURES
========* Reads data piped to standard in or files given as arguments
* Prints contents of selection to standard out
* Accesses the XA_PRIMARY, XA_SECONDARY or XA_CLIPBOARD selection
* Accesses the cut-buffers
* Supports the INCR mechanism for large transfers
* Connects to the X display in $DISPLAY, or specified with -display host:0
* Waits for selection requests in the backgroundSELECTIONS
==========For a good overview of what selections are about, have a look at
. Short version:* XA_PRIMARY contains the last text you highlighted
* Middle click pastes XA_PRIMARY
* XA_CLIPBOARD contains text explicitly copied with Edit | Copy, Ctrl-C etc.
* Edit | Paste pastes XA_CLIPBOARD
* xclip uses XA_PRIMARY unless you specify otherwise with -selectionCAN I HELP?
===========Glad you asked! At this stage, I'm pretty happy with the features and
implementation, so if you have anything at all that should be done, I want to
hear about it. Doesn't matter how small, compiler warnings, segfaults, spelling
mistakes, whatever, I want to get it sorted out. xclip is not a big project,
I'd like to get all these things sorted out and then declare it "complete".LICENSE
=======GNU GPL, see the COPYING file for details.
CONTACT
=======Web:
https://github.com/astrand/xclipEmail:
[email protected]Please email me about problems, experiences, patches, fixes, etc.