「Linux/イメージビューアsxiv」の編集履歴(バックアップ)一覧はこちら
Linux/イメージビューアsxiv - (2018/01/12 (金) 14:24:45) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
sxiv : Simple X Image Viewer
CLI的に使う軽い画像ビューア
[[Github>>https://github.com/muennich/sxiv]]
[[manpage>>http://muennich.github.io/sxiv/sxiv.1.html]]
* インストール
バージョンが20番台に上がって、サムネイルのサイズを変更とか、いろいろ便利になっているので、githubから
#highlight(c){{
$ git clone https://github.com/muennich/sxiv.git
$ cd sxiv/
#設定ファイルを先に作って、サムネイルのサイズを変更
$ make config.h
- static const int thumb_sizes[] = { 32, 64, 96, 128, 160 };
+ static const int thumb_sizes[] = { 32, 64, 96, 128, 160, 256 };
- static const int THUMB_SIZE = 3;
+ static const int THUMB_SIZE = 6;
$ make
#エラーの出た依存関係をインストール
$ sudo apt install libimlib2-dev libxft-dev libexif-dev
$ make
$ sudo make install
}}
* サムネイルをキャッシュする
$ mkdir -p ~/.cache/sxiv
* キーイベント追加
$ mkdir -p ~/.config/sxiv/exec
~/.config/sxiv/exec/key-handler を作る
#highlight(){{
#!/bin/sh
case "$1" in
"C-d") * remove
rm "$2" ;;
"C-r") * rotate
convert -rotate 90 "$2" "$2" ;;
"C-c") * copy to ~/tmp
cp "$2" ~/tmp/ ;;
esac
}}
$ chmod +x key-handler
/usr/share/doc/sxiv/examples/key-handler にサンプルがある。
* ステータスバーの内容をカスタマイズ
$ mkdir -p ~/.config/sxiv/exec
$ cd $_
$ cp /usr/share/doc/sxiv/examples/image-info .
$ chmod +x ./image-info
ステータスバーにファイルサイズ、画像サイズ、ファイル名が表示される
* 起動
CLIから起動する。
下の例はディレクトリ内の全画像をサムネイルモードで表示
$ sxiv -tfq * &
- t thumnails
- f fullscreen
- q quiet
~/.bashrcに以下追記
alias imageviewer="sxiv -tfq * &"
* 使い方
#highlight(){{
<enter> イメージモード と サムネールモード を切り替え
サムネールモードで左ダブルクリック → イメージモードへ
イメージモードで右クリック → サムネールモードへ
イメージモード
<n> n 次の画像を表示する <space>
<n> p 前の画像を表示する <backspace>
g 最初のイメージへジャンプする
<n> G 最後のイメージ あるいは <n>番めのイメージへジャンプする
+ ズームイン
- ズームアウト
<n> = 100% あるいは <n>% の大きさにする
W ウィンドウの大きさに合わせる
q 終了
}}
sxiv : Simple X Image Viewer
CLI的に使う軽い画像ビューア
githubにある最新版はカスタマイズがある程度できるようになってる
これをemacsのdiredから起動できるようにする
[[Github>>https://github.com/muennich/sxiv]]
[[manpage>>http://muennich.github.io/sxiv/sxiv.1.html]]
* 目次
#contents(,fromhere=true)
* インストール
バージョンが20番台に上がって、サムネイルのサイズを変更とか、いろいろ便利になっているので、githubから
#highlight(c){{
$ git clone https://github.com/muennich/sxiv.git
$ cd sxiv/
#設定ファイルを先に作って、サムネイルのサイズを変更
$ make config.h
- static const int thumb_sizes[] = { 32, 64, 96, 128, 160 };
+ static const int thumb_sizes[] = { 32, 64, 96, 128, 160, 256 };
- static const int THUMB_SIZE = 3;
+ static const int THUMB_SIZE = 6;
$ make
#エラーの出た依存関係をインストール
$ sudo apt install libimlib2-dev libxft-dev libexif-dev
$ make
$ sudo make install
}}
* サムネイルをキャッシュする
$ mkdir -p ~/.cache/sxiv
* キーイベント追加
C-x に続くキーイベントをカスタマイズできる。
$ mkdir -p ~/.config/sxiv/exec
~/.config/sxiv/exec/key-handler を作る
#highlight(){{
#!/bin/sh
readonly KEY="$1";
while read file; do
case "$KEY" in
"C-d") rm "$file" ;;
"C-g") gimp "$file" & ;;
"C-r") convert -rotate 90 "$file" "$file" ;;
"C-c") cp "$file" ~/tmp/ ;;
esac
done
}}
$ chmod +x key-handler
/usr/local/share/sxiv/exec/key-handler にサンプルがインストールされているはず。
* ステータスバーの内容をカスタマイズ
$ mkdir -p ~/.config/sxiv/exec
$ cd $_
$ cp /usr/local/share/sxiv/exec/image-info .
$ chmod +x ./image-info
ステータスバーにファイルサイズ、画像サイズ、ファイル名が表示される
* 使い方
** 起動オプション
*** ディレクトリ内の全画像をサムネイルモードで表示
$ sxiv -t -f -q * &
- t thumnails
- f fullscreen
- q quiet
*** 指定した画像の5番目を開いておいて、残りの画像をサムネイルモード用に読み込み
$ sxiv -f -q -n 5 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg
画像ファイルはアルファベット順になっていること
** キーイベント
#highlight(){{
<enter> イメージモード と サムネールモード を切り替え
サムネールモードで左ダブルクリック → イメージモードへ
イメージモードで右クリック → サムネールモードへ
イメージモード
<n> n 次の画像を表示する <space>
<n> p 前の画像を表示する <backspace>
g 最初のイメージへジャンプする
<n> G 最後のイメージ あるいは <n>番めのイメージへジャンプする
+ ズームイン
- ズームアウト
<n> = 100% あるいは <n>% の大きさにする
W ウィンドウの大きさに合わせる
q 終了
}}
* rifle_sxiv.sh
sxiv IMG.jpg
とやったら、IMG.jpgだけ読み込む。ディレクトリ内の他の画像をバックグラウンドにサムネールモードで読み込んどいてくれてもよさそうな。
これを解消するシェルスクリプト
[[ranger/rifle_sxiv.sh>>https://github.com/ranger/ranger/blob/master/examples/rifle_sxiv.sh]]
rifle_sxiv.sh IMG.jpg
とやったら、IMG.jpgのいるディレクトリ内の画像ファイルをリストにして、その何番目にIMG.jpgがいるかを指定してsxivを起動する
*call-sxiv.el
実は画像の一覧を見るって、FlickrにあげるためにカメラのSDカードを繋いだとき。その場合、SDカード内の最新のファイルが表示されて欲しい。となると、ファイル名がアルファベット順で最後になる画像を最初に表示しておいて、背後にサムネイルモードで全画像が準備されてるっていうのが、正しい。ということで、emacsのdiredでsxivを呼び出して、ディレクトリ内の全画像を表示するための emacs lisp を書いた。
#javascript(){
<script src="https://gist.github.com/kobapan/28908b564b610bd3e6f3fae78637ac8b.js"></script>
}