Я хочу, чтобы по хоткею изображение перемещалось вперед или назад на одну позицию в списке (filelist). Но сделать это у меня не получилось.
Я пробовал сделать действие для перемещения файла в списке:
Код: Выделить всё
$ cat move.sh
#!/bin/sh
set -euf
exec >>move.err
ac="$1" # Action.
fl="$2" # Filelist.
n="$3" # Number in filelist.
f="$4" # Filepath (%F).
transpose()
{
# Transpose line "$n" with next line in file "$f".
local n="$1"
local f="$2"
if [ "$n" -le 0 ]; then
echo "Incorrect line number '$n', line numbers start with 1."
return 1
fi
if [ ! -f "$f" ]; then
echo "File '$f' does not exist."
return 1
fi
sed -i -e "$n{
N
s/\(.*\)\n\(.*\)/\2\n\1/
}" "$f"
return 0
}
# Sanity check.
nf="$(head -n "$n" "$fl" | tail -n 1)"
if [ "$f" != "$nf" ]; then
echo "Image number '$n' is not '$f', but '$nf'."
exit 1
fi
case "$ac" in
'fwd' ) transpose "$n" "$fl" ;;
'bck' ) transpose "$((n - 1))" "$fl" ;;
esac
и запускать так
Код: Выделить всё
$ feh --draw-tinted --draw-filename --action1 "./move.sh fwd 1.lst %u %F" --action2 "./move.sh bck 1.lst %u %F" -f 1.lst
но, как и можно было предположить сразу, feh не перечитывает filelist.
Опция '-R', которая вроде бы должна перечитывать filelist, вообще не работает - он просто выходит с ошибкой:
Код: Выделить всё
feh ERROR: No files found to reload.
(впрочем, она работает, если файлы указаны на командной строке, так что, возможно, все так и должно быть)
Действие [reload_image] тоже не перечитывает filelist.
Собственно, может я пытаюсь приспособить его не под ту задачу - я хочу в нем смотреть фотографии, - но, мне кажется, он бы вполне подошел, если бы можно было нормально работать с последовательностью. Перемещать имена файлов в открытом рядом окошке редактора я пробовал раньше. Кроме того, что это ужасно неудобно (тк я должен искать нужный файл по имени, которое просто номер), я еще и не могу сразу увидеть новую последовательность - для этого нужно перезапускать feh (да еще и filelist-а должно быть два, а то feh все изменения перепишет при выходе).
Upd.
А, забыл написать: Debian Wheezy, feh 2.3.