Jump to content

# sxiv (Українська)

From ArchWiki

Повʼязані статті

- feh

sxiv, це простий переглядач зображень для X написаний на мові C. Він невибагливий до ресурсів, а також дозволяє писати до нього скрипти.

## Як встановити?

Встановіть пакунок sxiv або sxiv-gitAUR для версії в розробці.

## Використання

### Як задати гарячі клавіші?

Ви можете використовувати сторонній скрипт для обробки комбінацій клавіш в sxiv. Для цього натисніть `Ctrl-x` та ще одну клавішу. Вона буде передана до стороннього скрипта. Цей скрипт має знаходитися у файлі `~/.config/sxiv/exec/key-handler`. Він приймає комбінацію натиснутих клавіш як аргумент, а назви виділених зображень — через stdin. Якщо жодне зображення не вибране, то скрипт отримає те зображення, що зараз на екрані. Приклад такого скрипта-обробника можна знайти в `/usr/share/sxiv/exec/key-handler`. Його можна взяти за основу, коли створюватимете власний.

    $ mkdir -p ~/.config/sxiv/exec/
    $ cp /usr/share/sxiv/exec/key-handler ~/.config/sxiv/exec/key-handler

Не дозволити скрипту запускатися.

В прикладі нижче, комбінація `Ctrl+d` виконуватиме команду `mv назва файлу ~/.trash`, `Ctrl+c` копіюватиме назви обраних зображень в буфер обміну, а `Ctrl+w` встановлюватиме тло для робочого столу через nitrogen. Звісно ж деякі команди мають смисл лише для одного зображення. Що робити, якщо до скрипта передали декілька зображень вирішуйте самі.

    ~/.config/sxiv/exec/key-handler

    #!/bin/sh
    while read file
    do
            case "$1" in
            "C-d")
                    mv "$file" ~/.trash ;;
            "C-r")
                    convert -rotate 90 "$file" "$file" ;;
            "C-c")
                    echo -n "$file" | xclip -selection clipboard ;;
            "C-w")
                    nitrogen --save --set-zoom-fill "$file" ;;
            esac
    done

Якщо у вас нема теки `.trash`, то її треба створити:

    $ mkdir ~/.trash

Порада Краще буде скористатися однією із загальноприйнятих програм смітників[broken link: invalid section] (на кшталт trash-cli чи bashtrashAUR[пакет відсутній: package not found]) ніж командою `mv "$2" ~/.trash`.

## Корисні поради

### Як подивитися всі зображення в теці, якщо відкрив лише одне?

Розробника sxiv кілька разів просили додати можливість переглядати всі зображення, що знаходяться в одній теці з файлом, що його назва була передана як аргумент. (див. [1] і [2]). Існують форки, де така можливість додана: від doronbehar-а, від qsmodo та від sammoth-а.

Інший спосіб — використовувати стандартний sxiv, але помістити в теку `/usr/local/bin` цей скрипт. Викликати його треба так:

    $ назва_скрипта зображення.jpg

Як сказано в коментарі до скрипта, його можна використовувати всередині файлового переглядача ranger.

А цей скрипт з [3] запускає `sxiv` в режимі списку ескізів (thumbnail mode) якщо переданий аргумент це назва теки (лише в цьому випадку):

    ~/bin/sxiv.sh

    #!/bin/sh

        if command -v sxiv >/dev/null 2>&1; then
          if [ -d "${@: -1}" ] || [ -h "${@: -1}" ]; then
            sxiv -t "$@"
          else
            sxiv    "$@"
          fi
        elif command -v feh >/dev/null 2>&1; then
          feh "$@"
        else
          echo "Please install SXIV or FEH!"
        fi

### Як показати розмір зображення на нижній панелі?

Помістіть нижченаведений скрипт у файл `~/.config/sxiv/exec/image-info` і переконайтеся, що ви встановили пакунок exiv2:

    ~/.config/sxiv/exec/image-info

    #!/bin/sh

    # Це приклад скрипта ~/.config/sxiv/exec/image-info
    # sxiv(1) викликає його кожного разу, коли завантажує якесь зображення,
    # а його назву передає як перший аргумент.
    # Результат виводиться на панелі статусу.

    s=" | " # Розділювач між полями

    filename=$(basename "$1")
    filesize=$(du -Hh "$1" | cut -f 1)

    # The '[0]' stands for the first frame of a multi-frame file, e.g. gif.
    geometry=$(identify -format '%wx%h' "$1[0]")

    tags=$(exiv2 -q pr -pi "$1" | awk '$1~"Keywords" { printf("%s,", $4); }')
    tags=${tags%,}

    echo "${filesize}${s}${geometry}${tags:+$s}${tags}${s}${filename}"

## Див. також

- Обговорення на форумі Arch Linux.
- Sxiv для розкладки bépo (це розкладка в стилі Dvorak, але для французької) : Sxiv bépo.

Category:

- Image (Українська)

Hidden categories:

- Pages with broken section links
- Pages with broken package links

sxiv (Українська)
Add topic