「Sxiv」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
12行目: 12行目:
 
{{Pkg|sxiv}} パッケージを[[インストール]]してください (開発版は {{AUR|sxiv-git}} でインストールできます)。
 
{{Pkg|sxiv}} パッケージを[[インストール]]してください (開発版は {{AUR|sxiv-git}} でインストールできます)。
   
  +
== 使い方 ==
== sxiv にキーボードショートカットを設定 ==
 
  +
sxiv は特殊なキーイベントをサポートしています。まず {{ic|Ctrl-x}} を押してから外部のキーハンドラにキーを送信してください。外部のキーハンドラには実行可能ファイル {{ic|~/.config/sxiv/exec/key-handler}} が必要であり、押されたキーの組み合わせや現在の画像の名前が引数として渡されます。
 
  +
=== sxiv にキーボードショートカットを設定 ===
  +
  +
sxiv は特殊なキーイベントをサポートしています。まず {{ic|Ctrl-x}} を押してから外部のキーハンドラにキーを送信してください。外部のキーハンドラには実行可能ファイル {{ic|~/.config/sxiv/exec/key-handler}} が必要であり、押されたキーの組み合わせや現在の画像の名前が引数として渡されます。(何もマークされていない場合は、現在選択中の画像となります) sxiv をインストールすると、key-handler のサンプルが同梱されます: {{ic|/usr/share/sxiv/exec/key-handler}} この例は、ショートカットをカスタマイズするための素晴らしいスタートです。
  +
  +
$ mkdir -p ~/.config/sxiv/exec/
  +
$ cp /usr/share/sxiv/exec/key-handler ~/.config/sxiv/exec/key-handler
  +
  +
必ずスクリプトに [[ヘルプ:読み方#実行可能属性の付与|実行可能属性を付与]] してください。
   
 
以下の例では、バインディング {{ic|Ctrl+d}} によって {{ic|mv ''filename'' ~/.trash}} を実行し、{{ic|Ctrl+c}} で現在の画像の名前を {{Pkg|xclip}} でクリップボードにコピーし、{{ic|Ctrl+w}} で [[nitrogen]] を使って現在の壁紙を設定します。
 
以下の例では、バインディング {{ic|Ctrl+d}} によって {{ic|mv ''filename'' ~/.trash}} を実行し、{{ic|Ctrl+c}} で現在の画像の名前を {{Pkg|xclip}} でクリップボードにコピーし、{{ic|Ctrl+w}} で [[nitrogen]] を使って現在の壁紙を設定します。
33行目: 41行目:
 
done
 
done
 
</nowiki>}}
 
</nowiki>}}
 
スクリプトには実行可能属性を付与してください:
 
$ chmod +x ~/.config/sxiv/exec/key-handler
 
   
 
{{ic|.trash}} フォルダが存在しない場合は作成:
 
{{ic|.trash}} フォルダが存在しない場合は作成:

2023年4月11日 (火) 20:49時点における版

関連記事

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+wnitrogen を使って現在の壁紙を設定します。

~/.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
ヒント: mv "$2" ~/.trash の代わりに (trash-clibashtrashAUR などの) 標準互換のゴミ箱ツール を使うこともできます。

ヒントとテクニック

ファイルを開いた後にディレクトリの画像をブラウズ

このスクリプト/usr/local/bin に配置して以下のように呼び出して下さい:

$ scriptname a_single_image.jpg

また、このスクリプトを AUR からパッケージとしてインストールすることもできます: sxiv-rifleAUR

スクリプトの中のコメントに書かれているように、ranger の中から画像を開くときに使うことができます。

ステータスバーに画像サイズを表示

以下の実行可能スクリプトを ~/.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}"

参照