座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

mpvでシークバー上にサムネ表示するためのLuaスクリプト

mpvで動画再生時, マウスカーソルをシークバーに乗せるとサムネイルを表示してくれるLuaスクリプト.

微妙に期待通りに動かないことがあるけど, 概ね満足. というかこの程度のこと, Youtubeでもエロ動画サイトでも, たいていのサービスに実装されているのだから, mpvが標準でサポートしてくれたらいいようなものだけど.

Bashで小数点を比較

Bashで数値の比較演算を行う場合は, testコマンドを使います.

val1="10"
val2="11"

test $val1 -lt $val2

# or

if [ $val1 -lt $val2 ]; then
    echo "OK"
fi

ところで, 比較する値に小数点が含まれていると, この方法では比較できません. 次のエラーが返されます.

val1="10.1"
val2="11.1"
test $val1 -lt $val2
bash: line 3: test: 10.1: integer expression expected

この場合は, bcコマンドを組み合わせて比較します.

val1="10.1"
val2="11.1"
test $(bc <<< "$val1 < $val2") = "1"

Zshの場合は, もうちょっと簡単に書けますな.

val1=2.1
val2=3.1
test $((val1 < val2)) -eq 1

コマンド実行の出力結果を折り返さないようにする

ターミナルの画面を大きくして使うことが多いですが, デフォルトのウィンドウサイズ (80x24) で使いたいときもあります. そんなとき, コマンドの出力のあっちこっちが折り返されて見づらい, と感じることがないでしょうか.

setterm コマンドで, 折返しの有無を指定できます.

% setterm --linewrap off

得るべき情報を見落としては本末転倒なので, 使いどころを考える必要はありますが.