-- 追記 ---
もっと簡単で安定しているランチャー版を作った。
「Kobo: 行間・余白、フォント調節有効化、ページめくり方向変更を簡単にランチャーで」参照。
このページのものは削除した。
-- 追記おしまい ---
以前の「設定編」でpythonのスクリプトの作者さんからコメントをいただき、さらにKobo Start Menu用のシェルスクリプトも書いたとのこと。前回の記事のコメント参照
このKobo Start Menuというのは、ごちゃごちゃ機能が多すぎてちょっと・・・・。
CFWではもう使えなくなているパスワードロックとか、認証回避とか、アップデートのコントロールとか、便利なのかもしれないが、使わない機能が多くてちょっと邪魔くさい。
そこで、KSM用のシェルスクリプトをもっと単純に使えないかと考えたところ、昔使ったことがあるKobo files monitor(fmon)でやってみようかと。
たいして使い心地がいいわけでもないが、ssh/telnetでログインしてコマンド・・・という作業はなし。要するにタップするだけ。
fmonがどういうものかというと、
Kobo端末にひとつ画像を入れる。すると本と同じようにホーム画面やライブラリー(「本」)なんかに縮小画像(アイコン?)が表示される。で、これをタップすると仕込んでおいたスクリプトを実行する、というもの。
前回の設定編で出たシェルスクリプトなりpythonのスクリプトなりを連携させればよい、というわけ。
すでにあるものをパクって、ちょっと手を加えただけ。
・fmon
http://www.mobileread.com/forums/showthread.php?t=218283
・このページにはなぜかもうfmon本体しか置いていないので、KoboLauncher for standalone Qt appsのfmon回りのスクリプト
・koreaderのfmon経由の起動スクリプト
https://github.com/koreader/koreader/tree/master/platform/kobo
・そしてラマダンさんによるKSM用のシェルスクリプト
https://dl.dropboxusercontent.com/u/47735857/kobo-shell-scripts.zip
これらを適宜変更して作成。
というわけで、前回の記事のpythonのスクリプトを実行する部分の代わりがこれ。
以下の作業はデータベース(.kobo/KoboReader.sqlite)のバックアップを取ってから。
ダウンロード:
「fmon_for_kobo-shell-scripts.zip」
追記:
さらに更新(2015/03/08)
「fmon_for_kobo-shell-scripts.zip」
- データベース更新後のKoboの再起動をやめ、nickelのみの再起動に変更。処理中のアニメーション画面も正常に。ようやくまともになったか?
更新(2015/03/06 )
「fmon_for_kobo-shell-scripts.zip」
- 処理作業中を示す「■□□□□ 更新中」のアニメーション画面を有効にした(update-animator.sh)。これまでは画像が表示されるだけで、処理中なのか処理が終わったのかわからなかった。
- ミスの修正もあるので、すでに使っている人は(いるのか?)再インストールを。
- あわせて、下記の記述も変更
◯インストール(簡略説明編)
1. zipを解凍してできた、画像が入ったfmonpngsフォルダをKobo端末にコピー。USB接続を解除して、画像がホーム画面に現れるのを確認。この確認は必須。
2. KoboRoot.tgzをKobo端末の.koboフォルダにコピー。USB接続を解除すると再起動する。インストールはこれで終了。
3. その画像をタップすると、データベースを変更するスクリプトが実行される。デフォルトでは行間・余白を有効にする、言語のja > enm変換。別のスクリプトにしたい場合は下記参照。
◯インストール(詳細編)
1. ダウンロード・解凍
KoboRoot.tgzと、fmonpngs(画像フォルダ)がある
先に画像フォルダを端末へ
2. PCにつないだKobo端末(ドライブの一番上へ。それ以外は不可)にfmonpngsフォルダをコピー。
USB接続を解除すると、「コンテンツを処理しています・・・」の画面になり、それが終わるとホーム画面になる。
注意は、ここでホーム画面にコピーした画像ファイルの縮小画像(アイコン?)があるか確認すること。「ライブラリに1冊追加」みたいなやつ。
これが出ないうちは、次の作業に移らないこと。(画像がないと連動したスクリプトも実行できるわけないから)
3. 次にKoboRoot.tgzをKobo端末の.koboフォルダにコピー。
USB接続を解除すると再起動される。これでインストール終了。
4. あとはスクリプトの画像をタップすれば、スクリプトが実行される。ReplaceLanguageCode_ja_Alt.sh(言語をenmにする。フォント詳細設定と行間・余白の調節が有効になる)が実行され、自動的に再起動する。
データベースの大きさ(本の数)によって処理時間は変わる。本が多いほど、再起動まで待たされる。
5. 別のスクリプトを使いたいときはタップせず、スクリプトの追加・削除を自分でおこなう(下記「スクリプトの追加・削除」参照)。
*同じ画像ファイルの追加・削除を繰り返していると、その画像ファイルがホーム画面に現れなくなることがある。そういうときは別の画像をKoboに追加して、無理やりデータベースを更新させるといいみたい。
◯スクリプトの追加・削除
ラマダンさんによるスクリプトは全部入っている(ただしすべての動作確認はしていない)。おもにページ送りの変更などのスクリプト。
スクリプトの簡単な説明は、端末の.fmon/reserve/fmonpngs/にある画像を参照。
1. 画像タップでスクリプト実行という仕組みなので、画像ファイルとスクリプト・ファイルを所定の位置に配置する。
以下のフォルダに追加、もしくはそこから削除する
画像ファイル:Kobo端末/fmonpngs
スクリプト・ファイル:Kobo端末/.fmon/run
画像ファイルとスクリプト・ファイル置き場はreserveというフォルダ
画像ファイル: .fmon/reserve/fmonpngs
スクリプト・ファイル: .fmon/reserve/run
ここから上のフォルダにコピーしてやる。
画像ファイルが、aabbcc.pngだとすると、対応するスクリプトは、run_aabbcc.sh になる。
aabbcc部分は共通。また、スクリプトに"run_"をつけておいたのは、runフォルダに入れるものだと明示するため。
また、"run_"がついていないスクリプト(.sh)には触らないこと。
インストール済みのReplaceLanguageCode_ja_Alt.png(画像)とrun_ReplaceLanguageCode_ja_Alt.sh(スクリプト)がある場所にならってやればいい。
2. さらに再起動が必要
ファイルの配置が終わり、USB接続を解除すると、「コンテンツを処理しています・・・」の画面になり、その後、ホーム画面に追加した画像が現れる。
あとはタップするだけ、と思いきや残念ながらそうではない。タップしてもまだスクリプトは実行されない。再起動を。
(fmonはKoboの起動時に所定のフォルダにあったファイルを監視している。だから、Kobo起動後に追加されたスクリプトは監視の対象になっていない。だからタップしてもスクリプトは起動しない。)
あとは
◯新しく本を追加したとき
・本を追加した後、スクリプト画像をタップ。
「■■□□□」の「更新中」の黒い画面になり、その間にデータベースの書き換えが行われる。再びホーム画面になる。
・ログはKobo端末の.fmon/log/fmon.log.txt
・Koboのホーム画面は変化するので、スクリプト画像はそのうちホーム画面から消える。「コレクション」を開いたとき、番上に来るようなコレクション名を考えて、そこに入れておけば見つけやすいかも。
◯アンインストール
ファイルは基本すべてPCからUSB接続でアクセスできる場所にインストールするようにしたので、PCにつないで、.fmonフォルダとfmonpngsフォルダを削除すればよい。
/ectc/init.d/on-animator.shだけはシステムの領域の残るが、これは.fmonフォルダがないと何もしないので問題はない。気になるなら、telnet/sshでログインして削除。いや、削除してはダメだった。
あとは前回の記事のフルスクリーン化(とくに余白調節はフルスクリーンでないとうまくいかない)とパッチ(フォントの太さ調節など)を必要に応じて。
まあ、こんなところか。あくまでも自己責任で。
もっとちゃんとしたスクリプトを書いてやるぞ、という人はぜひ。
CFWは使わなくなってずいぶん経つが、あのopt/cfw/scripts以下にあるデータベース関連のスクリプト群も少し修正すれば、fmonで使える?
CFWみたいにたくさんの機能をパッケージ化したものをメンテ・開発するのは大変だろうが、必要な部分だけ利用するんだったら、楽な気もするけど。すべての人がCFWのすべての機能を利用する、というわけでもあるまいし。