ランチャーのスクリプトをNickelMenuから実行(とりあえずのやり方)
要望があったので、ランチャー抜きで、NickelMenuから呼び出すためのシェルスクリプトを説明。
すでにランチャーをインストールしている人向け。なので、とりあえずのやり方。
CFWは昔の2chのHackスレの成果物だし、フォント調整のスクリプトも人からいただいたもの。
それらは共有財産だと思うので、何とか使えるようにして公開している。
ただ、これら共有財産を今後も利用し続けたいなら、シェルの知識は持っていたほうがいい。
何かあった時にメンテする人がいなくなったら、自分で対処するしかなくなるから。もちろん、そうなったら諦める、というのもまた人の自由ではある。
linuxマシンがなくても、WindowsならWSLで、Macならターミナルを起動すれば、koboの内部システムと同類のシェルに触れることができる。
---------------------------------------
下のシェルスクリプトをファイルにして、NickelMenuに登録を。
ただのテキストファイルだが、改行コードをunix式(LF)にできるエディタで。
◯コレクション作成
export ROOT=/mnt/onboard/.adds/db_launcher
export VLASOV_ROOT=/mnt/onboard/.adds/vlasovsoft
export FB_ROTATE=$(cat /sys/class/graphics/fb0/rotate)
export FBINK_BIN=/usr/local/fbink/bin/fbink
export FBINK_TT=$VLASOV_ROOT/fonts/ipagp.ttf
killall nickel hindenburg sickel fickel fmon
$ROOT/animation/animation.sh &
$ROOT/DBscripts/CFW/contentupdate.sh
$ROOT/DBscripts/CFW/createbookshelf.sh
killall animation.sh
$ROOT/run_nickel.sh
▼ランチャーと同じ変数を設定(export ....)
ランチャーではファイルやフォルダその他いろいろを変数に格納している。
ランチャーのファイルを流用するので、同じ変数を設定してやらないと、システムにコマンドが伝わらない。
▼nickelを殺す(killall ....)
動いているkoboのアプリケーションを停止。安全のため。
▼その後、CFWのコレクション作成のスクリプトを実行(contentupdate.sh / createbookshelf.sh / animation.sh)
データベースを変更する。「更新中」のアニメーションもついでに表示。
アニメーションはなくてもいいが、画面は静止(たとえばホーム画面のまま)、タッチにも無反応状態で(nickelが停止している)、背後で処理が進むので、あまり気持ちはよくない。
▼最後にnickelを起動(run_nickel.sh)
nickelが起動時にデータベースの変更を認識(コレクション画面に反映される)。koboの通常画面に戻る。
手順はdb_launcher.sh(ランチャーの起動スクリプト)をなぞっている。変数やらnickelの停止・起動の仕方はそこに書かれている。
以上が、ランチャーを立ち上げずにCFWのスクリプトを実行する方法。
このファイルに適当な名前をつけて(拡張子は .shとでも)、適当な場所に配置して(ランチャーのフォルダの中にでも)、NickelMenuに登録。
◯フォント詳細設定(太さや行間調節)有効化
export ROOT=/mnt/onboard/.adds/db_launcher
export VLASOV_ROOT=/mnt/onboard/.adds/vlasovsoft
export FB_ROTATE=$(cat /sys/class/graphics/fb0/rotate)
export FBINK_BIN=/usr/local/fbink/bin/fbink
export FBINK_TT=$VLASOV_ROOT/fonts/ipagp.tt
killall nickel hindenburg sickel fickel fmon
$ROOT/DBscripts/ReplaceLanguageCode_ja_Alt.sh
$ROOT/run_nickel.sh
こちらはReplaceLanguageCode_ja_Alt.sh自体にanimation.shが組み込まれているので、animation.shは不要。
やっていることは同じ。変数を設定して、nickelを殺して、目当てのスクリプトを実行して、nickelを起動。上から順番にコマンドを並べているだけ。
同じように、適当にファイルに名前をつけて、適当な場所に配置して、NickelMenuに登録。
---------------------------------------
最近のkoreaderはもっと慎重なnickelの止め方をしているので、本当は修正したほうがいい。上のスクリプトは本家ランチャーのやり方を踏襲しているだけ。
ランチャーは元々チェスなどのアプリを起動するためのものか、画面を90度回転させるようになっている。そのためスクリプトでも画面回転の設定がある。ランチャーを経由しないなら、その意味でも修正が必要。
あとは、animationのスクリプトもいらないところを削ったり修正しているが・・・。
ランチャーに付属するfbinkはLibra2/Sageに対応していない。つまり、画面の書き換え、アニメーションの表示などができない。fbinkを最新のものに更新する必要がある(KoboStuffのやつ)。