LINUX.ORG.RU

История изменений

Исправление Dreamdrawer, (текущая версия) :

Не пойму, так у тебя это работает именно в sxiv? У меня не хочет.
Никак не получается заставить скопировать выделенные файлы (для последующей вставки в Браузер/Телеграм). Копируются только по одному. А нужно скопировать все выделенные файлы.

Четыре варианта, которые копируют только один файл (и вставка потом работает):

#!/bin/sh

while read -r file
do
    case "$1" in
	a) xclip -selection clipboard "$file" -t image/png
	    ;;
	b) xclip -selection clipboard -target image/png "$file"
	    ;;
	c) xclip -t "$(xdg-mime query filetype "$file")" -selection clipboard <"$file"
	    ;;
	d) convert "$file" png:- | xclip -selection clipboard -target image/png
	    ;;
    esac
done

Ещё четыре варианта, которые, по идее, должны работать, но не работают:

#!/bin/sh

while read -r file
do
    case "$1" in
	a) xclip -selection clipboard -t image/png "$(readlink -f "$file")"
	    ;;
	b) tr '\n' '\0' | xargs -0 xclip-copyfile
	    ;;
	c) xclip -selection clipboard -t image/png "$(readlink -f "$file")"
	    ;;
	d) while read file; do
            last_file=$file
        done
        extension="${last_file##*.}"
        if [ "$extension" = "png" ]; then
            xclip -selection clipboard -target image/png "$last_file"
        fi
        # This does not work yet - reason unknown
        if [ "$extension" = "jpg" ]; then
            xclip -selection clipboard -target image/jpeg "$last_file"
        fi
        notify-send "sxiv: Image '$last_file' copied to clipboard."
	    ;;
    esac
done

Исходная версия Dreamdrawer, :

Не пойму, так у тебя это работает именно в sxiv? У меня не хочет.
Никак не получается заставить скопировать выделенные файлы. Получилось только копировать по одному. А нужно скопировать все выделенные файлы (для последующей вставки в Браузер/Телеграм).

Четыре варианта, которые копируют только один файл (и вставка потом работает):

#!/bin/sh

while read -r file
do
    case "$1" in
	a) xclip -selection clipboard "$file" -t image/png
	    ;;
	b) xclip -selection clipboard -target image/png "$file"
	    ;;
	c) xclip -t "$(xdg-mime query filetype "$file")" -selection clipboard <"$file"
	    ;;
	d) convert "$file" png:- | xclip -selection clipboard -target image/png
	    ;;
    esac
done

Ещё четыре варианта, которые, по идее, должны работать, но не работают:

#!/bin/sh

while read -r file
do
    case "$1" in
	a) xclip -selection clipboard -t image/png "$(readlink -f "$file")"
	    ;;
	b) tr '\n' '\0' | xargs -0 xclip-copyfile
	    ;;
	c) xclip -selection clipboard -t image/png "$(readlink -f "$file")"
	    ;;
	d) while read file; do
            last_file=$file
        done
        extension="${last_file##*.}"
        if [ "$extension" = "png" ]; then
            xclip -selection clipboard -target image/png "$last_file"
        fi
        # This does not work yet - reason unknown
        if [ "$extension" = "jpg" ]; then
            xclip -selection clipboard -target image/jpeg "$last_file"
        fi
        notify-send "sxiv: Image '$last_file' copied to clipboard."
	    ;;
    esac
done