selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
[ -s "$selection" ] || { echo "plugin .cbcp error: empty selection" >&2 ; exit 1; }
-if type xsel >/dev/null 2>&1; then
+if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
+ # Wayland
+ tr '\0' '\n' < "$selection" | wl-copy
+elif type xsel >/dev/null 2>&1; then
# Linux
tr '\0' '\n' < "$selection" | xsel -bi
elif type xclip >/dev/null 2>&1; then
elif type clip >/dev/null 2>&1; then
# Cygwin
tr '\0' '\n' < "$selection" | clip
-elif type wl-copy >/dev/null 2>&1; then
- # Wayland
- tr '\0' '\n' < "$selection" | wl-copy
elif type clipboard >/dev/null 2>&1; then
# Haiku
tr '\0' '\n' < "$selection" | clipboard --stdin
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
getclip () {
- if type xsel >/dev/null 2>&1; then
+ if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
+ # Wayland
+ wl-paste
+ elif type xsel >/dev/null 2>&1; then
# Linux
xsel -bo
elif type xclip >/dev/null 2>&1; then
elif [ -r /dev/clipboard ] ; then
# Cygwin
cat /dev/clipboard
- elif type wl-paste >/dev/null 2>&1; then
- # Wayland
- wl-paste
elif type clipboard >/dev/null 2>&1; then
# Haiku
clipboard --print