Scroll to navigation

clipman(1) General Commands Manual clipman(1)

NAME

clipman - 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

Show context-sensitive help (also try --help-long and --help-man).
Path of history file
Serve item to the primary clipboard. Default: --no-primary
Send desktop notifications on errors
exit with an exit 1 when no selection is made in the picker.
minimum number of characters before storing
Show application version.

COMMANDS

help [<command>...]

Show help.

store [<flags>]

Record clipboard events (run as argument to `wl-paste --watch`)

history size
Don't persist a copy buffer after a program exits
Normalize line endings to LF

pick --tool=TOOL [<flags>]

Pick an item from clipboard history

scrollview length
Which selector to use: wofi/bemenu/CUSTOM/STDOUT
Extra arguments to pass to the --tool
Separate items using NULL; recommended if your tool supports --read0 or similar

clear [<flags>]

Remove item/s from history

scrollview length
Which selector to use: wofi/bemenu/CUSTOM/STDOUT
Extra arguments to pass to the --tool
Remove all items
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.