rifle 起動オプション(1.9.2)
rifleはrangerのアプリランチャー。
ヘルプ
$ rifle --help Usage: rifle [-fhlpw] [files] Options: --version show program's version number and exit -h, --help show this help message and exit -f FLAGS use additional flags: f=fork, r=root, t=terminal. Uppercase flag negates respective lowercase flags. -l list possible ways to open the files (id:label:flags:command) -p KEYWORD pick a method to open the files. KEYWORD is either the number listed by 'rifle -l' or a string that matches a label in the configuration file -w PROGRAM open the files with PROGRAM -c CONFIG_FILE read config from specified file instead of default
-l
$ rifle -l 任意ファイル
そのファイルで起動できるアプリリスト
...
アプリリストは以下のような内容。
番号:ラベル:フラグ:実行コマンド
テキストファイル。
$ rifle -l ~/.config/ranger/rifle.conf 0:editor::bash -c "xdotool key ctrl+shift+t && xdotool sleep 1 && xdotool key ctrl+shift+i && xdotool sleep 1 && xdotool type $@ && xdotool sleep 1 && xdotool key Return && xdotool sleep 1 && xdotool type ${VISUAL:-${EDITOR:-sensible-editor}}' '$@ && xdotool sleep 1 && xdotool key Return" 1:pager::"$PAGER" -- "$@"
画像ファイル。
$ rifle -l /usr/share/rpd-wallpaper/cliff.jpg 0::f:sxiv -- "$@" 1::f:gimp -- "$@" 2:editor:f:gimp -- "$@" 3:::ask 4:editor::${VISUAL:-${EDITOR:-sensible-editor}} -- "$@" 5:pager::"$PAGER" -- "$@"
-p
指定したファイルに適したアプリで実行する。
rifle -p 0 ~/.config/ranger/rifle.conf rifle -p editor ~/.config/ranger/rifle.conf rifle -p pager ~/.config/ranger/rifle.conf rifle -p wallpaper /usr/share/rpd-wallpaper/cliff.jpg rifle -p viewer /usr/share/rpd-wallpaper/cliff.jpg rifle -p viewer /usr/share/raspberrypi-artwork/raspberry-pi-logo.svg
rifle -p
の引数値である<label>
には/usr/bin/
配下にある実行ファイル名が入るのか?
$ rifle -p viewer /usr/share/rpd-wallpaper/cliff.jpg Traceback (most recent call last): File "/usr/bin/viewer", line 14, in <module> from PIL import Image, ImageTk ImportError: cannot import name 'ImageTk'
viwer
という名前の実行ファイルがあった。これはpythonソースコードだった。たしかPILは画像処理のパッケージだったはず。新しいのはPillow
という名前になったはず。
pip3 install Pillow
以下で実行すると画像が表示された。
rifle -p viewer /usr/share/rpd-wallpaper/cliff.jpg
だがベクタ画像(SVG)は非対応らしい……。
$ rifle -p viewer /usr/share/raspberrypi-artwork/raspberry-pi-logo.svg Traceback (most recent call last): File "/usr/bin/viewer", line 50, in <module> im = Image.open(filename) File "/home/pi/.local/lib/python3.5/site-packages/PIL/Image.py", line 2687, in open % (filename if filename else fp)) OSError: cannot identify image file '/usr/share/raspberrypi-artwork/raspberry-pi-logo.svg'
wallpaperはおそらく壁紙を変更するコマンド。feh
がないと動かないと思われる。
sudo apt install -y feh
ただ、Raspbianならpcmanfm
のコマンド引数で壁紙を変更できる。
$ pcmanfm --help ... -w, --set-wallpaper=FILE 画像ファイルをデスクトップの壁紙に設定する --wallpaper-mode=MODE デスクトップ壁紙のモード設定。 MODE=(color|stretch|fit|crop|center|tile|screen) ...
pcmanfm --set-wallpaper /usr/share/rpd-wallpaper/cliff.jpg
以下の実行コマンド部分を変更すればできるはず。
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1" label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1" label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
でも画像ファイル選択をどうやるか。ビューアで表示させたいが面倒。なので省略。
これまで判明したlabelは以下。
- label
editor
pager
viewer
wallpaper
-w
$ rifle -w leafpad ~/.config/ranger/rifle.conf
え、意味あるの? 以下のように普通に呼び出したほうが早いと思う。
leafpad rifle -w leafpad ~/.config/ranger/rifle.conf pluma ~/.config/ranger/rifle.conf vim rifle -w leafpad ~/.config/ranger/rifle.conf
-c
$ rifle -c /tmp/my-rifle.conf
デフォルトでなく指定ファイルから読む。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12
- python 2.7.13, pip 9.0.1
- python3 3.5.3, pip3 9.0.1
- ranger 1.9.2
$ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux