clipman/README.md

60 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2019-03-22 15:13:41 +01:00
# Clipman
2019-03-23 12:22:29 +01:00
A basic clipboard manager for Wayland, with support for persisting copy buffers after an application exits.
2019-03-22 15:13:41 +01:00
2019-05-13 12:41:44 +02:00
## Installing
2020-03-08 09:48:02 +01:00
### From source
2019-05-13 12:41:44 +02:00
Requirements:
2019-03-22 15:13:41 +01:00
2019-05-09 08:42:43 +02:00
- a windows manager that uses `wlr-data-control`, like Sway and other wlroots-based WMs.
- wl-clipboard >= 2.0
- a selector: wofi, bemenu, dmenu or rofi are specially supported, but you can use what you want
2020-03-08 09:48:02 +01:00
- notify-send (optional, for desktop notifications)
2019-03-22 15:13:41 +01:00
2019-05-22 11:36:39 +02:00
[Install go](https://golang.org/doc/install), add `$GOPATH/bin` to your path, then run `go get github.com/yory8/clipman` OR run `go install` inside this folder.
2019-05-13 12:41:44 +02:00
2020-03-08 09:48:02 +01:00
### Distros
2020-05-04 13:34:07 +02:00
These distros ship with clipman binaries in their repos:
2020-05-08 16:24:56 +02:00
[![Packaging status](https://repology.org/badge/vertical-allrepos/clipman.svg)](https://repology.org/project/clipman/versions)
2019-05-13 12:41:44 +02:00
2019-03-22 15:13:41 +01:00
## Usage
Run the binary in your Sway session by adding `exec wl-paste -t text --watch clipman store` (or `exec wl-paste -t text --watch clipman store 1>> PATH/TO/LOGFILE 2>&1 &` to log errors) at the beginning of your config.
2020-09-30 08:30:22 +02:00
For primary clipboard support, also add `exec wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"` (note that both the `-p` in wl-paste and the `-P` in clipman are mandatory in this case).
2019-03-22 15:13:41 +01:00
2020-02-19 14:27:47 +01:00
To query the history and select items, run the binary as `clipman pick -t wofi`. You can assign it to a keybinding: `bindsym $mod+h exec clipman pick -t wofi`.
2020-02-23 14:54:10 +01:00
You can pass additional arguments to the selector like this: `clipman pick --tool wofi -T'--prompt=my-prompt -i'` (both `--prompt` and `-i` are flags of wofi).
You can use a custom selector like this: `clipman pick --print0 --tool=CUSTOM --tool-args="fzf --prompt 'pick > ' --bind 'tab:up' --cycle --read0"`.
2019-03-23 12:22:29 +01:00
2020-02-19 14:27:47 +01:00
To remove items from history, `clipman clear -t wofi` and `clipman clear --all`.
2019-09-16 21:44:20 +02:00
2019-10-27 09:22:40 +01:00
To serve the last history item at startup, add `exec clipman restore` to your Sway config.
2019-03-23 12:22:29 +01:00
For more options: `clipman -h`.
2019-09-09 19:30:24 +02:00
2019-10-13 15:39:48 +02:00
## Known Issues
### Loss of rich text
2019-10-13 16:51:25 +02:00
- All items stored in history are treated as plain text.
2020-02-19 14:27:47 +01:00
- By default, we continue serving the last copied item even after its owner has exited. This means that, unless you run with the `--no-persist` option, you'll always immediately lose rich content: for example, if you copy formatted text inside Libre Office you'll lose all formatting on paste; or, if you copy a bookmark in Firefox, you won't be able to paste it in another bookmark folder.
2019-10-13 15:39:48 +02:00
2020-06-29 23:10:10 +02:00
### Vim's Visual Block mode breaks if persistence is enabled
Run `clipman store` with the `--no-persist` option if you are affected. Unfortunately, it seems that there is no way to make them play well together.
2019-09-09 19:30:24 +02:00
## Versions
This projects follows SemVer conventions.
2020-02-18 19:36:01 +01:00
## License
GPL v3.0
2019- (C) yory8 <yory8@users.noreply.github.com>