「Sxiv」の版間の差分
他言語へのリンクを追加 |
→ファイルを開いた後にディレクトリの画像をブラウズ: 情報を更新 |
||
| 53行目: | 53行目: | ||
=== ファイルを開いた後にディレクトリの画像をブラウズ === |
=== ファイルを開いた後にディレクトリの画像をブラウズ === |
||
''sxiv''<nowiki/> の開発者は、引数として指定されたファイル名のディレクトリ内のすべての画像をプログラムで参照するように要求されることが何度かありました ([https://github.com/muennich/sxiv/issues/352] および [https://github.com/muennich/sxiv/issues/105]) を参照、望ましい動作を特徴とするフォークがいくつかあります: [https://github.com/doronbehar/sxiv doronbehar's]、[https://github.com/qsmodo/sxiv qsmodo's]、[https://github.com/sammoth/sxiv sammoth's] |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
また、このスクリプトを AUR からパッケージとしてインストールすることもできます: {{AUR|sxiv-rifle}}。 |
|||
| ⚫ | |||
スクリプトの中のコメントに書かれているように、[[ranger]] の中から画像を開くときに使うことができます。 |
スクリプトの中のコメントに書かれているように、[[ranger]] の中から画像を開くときに使うことができます。 |
||
[https://github.com/muennich/sxiv/issues/365] のこのシェルスクリプトは、{{ic|sxiv}} を開始します。 |
|||
渡されたファイル引数がフォルダである場合に限り、サムネイルモードになります: |
|||
{{hc|~/bin/sxiv.sh|<nowiki> |
|||
#!/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 |
|||
</nowiki>}} |
|||
=== ステータスバーに画像サイズを表示 === |
=== ステータスバーに画像サイズを表示 === |
||
2023年11月25日 (土) 04:51時点における版
関連記事
sxiv (Simple X Image Viewer) は C で書かれている軽量でスクリプト可能な画像ビューアです。
インストール
sxiv パッケージをインストールしてください (開発版は sxiv-gitAUR でインストールできます)。
使い方
sxiv にキーボードショートカットを設定
sxiv は特殊なキーイベントをサポートしています。まず Ctrl-x を押してから外部のキーハンドラにキーを送信してください。外部のキーハンドラには実行可能ファイル ~/.config/sxiv/exec/key-handler が必要であり、押されたキーの組み合わせや現在の画像の名前が引数として渡されます。(何もマークされていない場合は、現在選択中の画像となります) sxiv をインストールすると、key-handler のサンプルが同梱されます: /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 filename ~/.trash を実行し、Ctrl+c で現在の画像の名前を xclip でクリップボードにコピーし、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
ヒントとテクニック
ファイルを開いた後にディレクトリの画像をブラウズ
sxiv の開発者は、引数として指定されたファイル名のディレクトリ内のすべての画像をプログラムで参照するように要求されることが何度かありました ([1] および [2]) を参照、望ましい動作を特徴とするフォークがいくつかあります: doronbehar's、qsmodo's、sammoth's
あるいは、sxiv の公式バージョンを使用し、このスクリプト を /usr/local/bin に配置して、次のように呼び出します:
$ scriptname a_single_image.jpg
スクリプトの中のコメントに書かれているように、ranger の中から画像を開くときに使うことができます。
[3] のこのシェルスクリプトは、sxiv を開始します。
渡されたファイル引数がフォルダである場合に限り、サムネイルモードになります:
~/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
# Example for ~/.config/sxiv/exec/image-info
# Called by sxiv(1) whenever an image gets loaded,
# with the name of the image file as its first argument.
# The output is displayed in sxiv's status bar.
s=" | " # field separator
filename=$(basename "$1")
filesize=$(du -Hh "$1" | cut -f 1)
geometry=$(identify -format '%wx%h' "$1")
tags=$(exiv2 -q pr -pi "$1" | awk '$1~"Keywords" { printf("%s,", $4); }')
tags=${tags%,}
echo "${filesize}${s}${geometry}${tags:+$s}${tags}${s}${filename}"