clipman - Man Page
a clipboard manager for Wayland
Synopsis
clipman [<options>] <command> [<args> ...]
Description
A basic clipboard manager for Wayland, with support for persisting copy buffers after an application exits.
Options
- -h, --help
Show context-sensitive help (also try --help-long and --help-man).
- --histpath="~/.local/share/clipman.json"
Path of history file
- --primary
Serve item to the primary clipboard. Default: --no-primary
- --notify
Send desktop notifications on errors
- --err-on-no-selection
exit with an exit 1 when no selection is made in the picker.
- --min-char
minimum number of characters before storing
- -v, --version
Show application version.
Commands
help [<command>...]
Show help.
store [<flags>]
Record clipboard events (run as argument to `wl-paste --watch`)
- --max-items=15
history size
- -P, --no-persist
Don't persist a copy buffer after a program exits
- --unix
Normalize line endings to LF
pick --tool=TOOL [<flags>]
Pick an item from clipboard history
- --max-items=15
scrollview length
- -t, --tool=TOOL
Which selector to use: wofi/bemenu/CUSTOM/STDOUT
- -T, --tool-args=""
Extra arguments to pass to the --tool
- --print0
Separate items using NULL; recommended if your tool supports --read0 or similar
clear [<flags>]
Remove item/s from history
- --max-items=15
scrollview length
- -t, --tool=TOOL
Which selector to use: wofi/bemenu/CUSTOM/STDOUT
- -T, --tool-args=""
Extra arguments to pass to the --tool
- -a, --all
Remove all items
- --print0
Separate items using NULL; recommended if your tool supports --read0 or similar
restore
Serve the last recorded item from history
show-history
Show all items from history
Usage
Run the binary in your Sway session by adding to your config:
exec wl-paste -t text --watch clipman store
or to log errors:
exec wl-paste -t text --watch clipman store \ 1>> PATH/TO/LOGFILE 2>&1
It is highly recommended that you run clipman with the --no-persist option, see Known Issues.
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.
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
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"
To only paste if there's something selected:
bindsym $mod+v exec "clipman pick -t wofi --err-on-no-selection \ && wtype -M ctrl -M shift v"
To remove items from history:
clipman clear -t wofi clipman clear --all
To serve the last history item at startup, add this to your Sway config:
exec clipman restore
Bugs
When you experience a clipboard-related bug, try to see if it still happens without clipman running, as it's more likely to be caused by one of our own known issues rather than wl-clipboard.
Known Issues
We only support plain text.
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: vim's visual block mode breaks; copying images in Firefox breaks; if you copy a bookmark in Firefox, you won't be able to paste it in another bookmark folder; if you copy formatted text inside Libre Office you'll lose all formatting on paste.
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.