「Sxiv」の版間の差分
ナビゲーションに移動
検索に移動
(→ステータスバーに画像サイズを表示: 同期) |
Kusakata.bot (トーク | 投稿記録) 細 (文字列「Tips and tricks」を「ヒントとテクニック」に置換) |
||
42行目: | 42行目: | ||
{{Tip|{{ic|mv "$2" ~/.trash}} の代わりに ({{Pkg|trash-cli}} や {{AUR|bashtrash}} などの) [http://freedesktop.org/wiki/Specifications/trash-spec/ 標準互換のゴミ箱ツール] を使うこともできます。}} |
{{Tip|{{ic|mv "$2" ~/.trash}} の代わりに ({{Pkg|trash-cli}} や {{AUR|bashtrash}} などの) [http://freedesktop.org/wiki/Specifications/trash-spec/ 標準互換のゴミ箱ツール] を使うこともできます。}} |
||
+ | == ヒントとテクニック == |
||
− | == Tips and tricks == |
||
=== ファイルを開いた後にディレクトリの画像をブラウズ === |
=== ファイルを開いた後にディレクトリの画像をブラウズ === |
2017年10月12日 (木) 23:16時点における版
関連記事
sxiv (Simple X Image Viewer) は C で書かれている軽量でスクリプト可能な画像ビューアです。
目次
インストール
公式リポジトリの sxiv をインストールしてください (開発版は sxiv-gitAUR でインストールできます)。
sxiv にキーボードショートカットを設定
sxiv は特殊なキーイベントをサポートしています。まず Ctrl-x
を押してから外部のキーハンドラにキーを送信してください。外部のキーハンドラには実行可能ファイル ~/.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
スクリプトには実行可能属性を付与してください:
$ chmod +x ~/.config/sxiv/exec/key-handler
.trash
フォルダが存在しない場合は作成:
$ mkdir ~/.trash
ヒントとテクニック
ファイルを開いた後にディレクトリの画像をブラウズ
このスクリプト を /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}"