clipman(1)
π clipman(1) β your clipboard's new bestie π
okay so this is the clipman(1) page from the General Commands Manual, and honestly? it's giving "tiny tool, big job." sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
clipman β a clipboard manager for Wayland π«Ά
πΈ SYNOPSIS πΈ
clipman [<options>] <command> [<args> ...]
π¦ DESCRIPTION π¦
it's a basic clipboard manager for Wayland, bestie β but the icon behavior is that it supports persisting copy buffers after an application exits. like, the app dips and your clipboard still remembers. main character energy fr fr π
π OPTIONS π
-h,--helpβ shows context-sensitive help. also go ahead and try--help-longand--help-manif you're nosy (affectionate) π--histpath="~/.local/share/clipman.json"β the path of the history file. that's the default one right there βοΈ--primaryβ serve the item to the primary clipboard. default is--no-primary, just so you know π--notifyβ sends desktop notifications when there are errors--err-on-no-selectionβ exits with an exit1when no selection is made in the picker--min-charβ the minimum number of characters before something gets stored-v,--versionβ shows the application version
π COMMANDS π
π§ help [<command>...]
shows help. that's it. that's the whole vibe.
πΎ store [<flags>]
records clipboard events β you run this as an argument to wl-paste --watch, iykyk
--max-items=15β the history size-P,--no-persistβ don't persist a copy buffer after a program exits--unixβ normalizes line endings to LF
π pick --tool=TOOL [<flags>]
picks an item out of your clipboard history β¨
--max-items=15β scrollview length-t,--tool=TOOLβ which selector to use:wofi/bemenu/CUSTOM/STDOUT-T,--tool-args=""β extra arguments passed to the--tool--print0β separates items using NULL; highly recommended if your tool supports--read0or similar π--normalize-unicodeβ normalizes to NFC per https://unicode.org/reports/tr15
π§Ή clear [<flags>]
removes 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 passed to the--tool-a,--allβ removes all items--print0β separates items using NULL; recommended if your tool supports--read0or similar--normalize-unicodeβ normalizes to NFC per https://unicode.org/reports/tr15
π restore
serves the last recorded item from history
β show-history
shows all items from history
π§ USAGE π§
run the binary in your Sway session by adding this to your config:
exec wl-paste -t text --watch clipman store
or, if you wanna 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 β go read KNOWN ISSUES, seriously, bestie, do it π
for primary clipboard support, also add this:
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. no cap, both of them. π
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, fyi π
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 actually 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 hit a clipboard-related bug, pls try to see if it still happens without clipman running β because it's more likely to be caused by one of our own known issues rather than by wl-clipboard. don't blame the wrong tool π
π KNOWN ISSUES π
we only support plain text. that's the whole thing. periodt.
by default, we keep serving the last copied item even after its owner has exited. which means that β unless you run with the --no-persist option β you'll always immediately lose rich content. examples, since you asked:
- 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. like, at all. π«
okay that's the whole page!! this was clipman(1) from the General Commands Manual, and the whole thing signs off as clipman(1) β no extra version line, no date, just the page name doing its little wave goodbye. slay, go manage a clipboard ππβ¨
π¦ where this page comes from
- alpine 3.24: clipman-doc 1.6.5-r8 Β· GPL-3.0-only
- nixos 26.05: clipman 1.6.5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms