ランチャーのスクリプトを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のやつ)。
| 固定リンク
「kobo」カテゴリの記事
- 2022年新モデル Kobo Clara 2E 新リーク情報(2022.08.08)
- 2022年 新モデルはKobo Clara 2E のようだ(2022.08.05)
- Kobo: アップデート 4.32.19501(2022.04.16)
- Kobo Sage:バッテリー消費とkoreaderの対策(2022.04.19)
コメント
返事が遅くなりまして申し訳ございません。
無事にNickelMenuから直接コレクション作成とフォント調節を有効化することができました。
この度はご教示いただき誠にありがとうございました。
ここからは別件で、soranojiさんお使いのSageの挙動をお聞きしたいです。
当方Formaユーザーですが、常に横画面で使いたいため
menu_item :main :orien-landscape :nickel_orientation :inverted_landscape
をよく呼び出しています。
上記を実行するとメニュー画面は横画面になるのですが、読書後にメニューに戻ると縦画面に戻っています。(読書設定の横画面は有効にしています)
最新のSageだとメニューまで含めて横画面固定にできたりするでしょうか?
投稿: wasd | 2022年3月13日 (日) 11時30分
Sageの挙動は確認していませんが、ハードウェア周りを除けばファームウェアは共通なので、FormaもSageも変わりはないと思います。
ただ、
Kobo eReader.confで、
[DeveloperSettings]
ForceAllowLandscape=true
本来横画面にできないClaraHDで試したものです。
書籍からホーム画面やコレクション画面に戻っても、横画面のままです。
NickelMenuも使っていませんが・・・。
投稿: soranoji | 2022年3月13日 (日) 15時18分
ご確認いただきありがとうございます。
どうも加速度センサーがある機種とそうでない機種とで挙動が異なるようです。
koreaderだと加速度センサー(のイベント)を無視できるようなので、nickelでも無視する方法があるかkobopatch含めて調べてみます。
https://github.com/koreader/koreader/pull/4450/commits/d15a1c5d011723b62cae2b22ba6d4d100ea674aa
投稿: wasd | 2022年3月17日 (木) 09時59分
Sageでも確認しました。
結論から言うと、ForceAllowLandscape=true があれば、OKです。
ForceAllowLandscape=trueのある・なしで挙動が変わるようです。
ちゃんと読んでいませんが、
https://github.com/pgaskin/NickelMenu/pull/70
投稿: soranoji | 2022年3月18日 (金) 20時04分
Sageの動作検証ありがとうございます!
FormaでもForceAllowLandscape=trueでホーム画面に戻って横固定にできました。
(ForceAllowLandscapeを設定したつもりだったのですがスペルが誤っていたようです)
この度はお騒がせいたしました。
今後の記事も楽しみにしております。
投稿: wasd | 2022年3月23日 (水) 23時49分