(突発的に?)光とモバイルのプロバイダを移ったり、窓の異臭漏れ防止シートを正式版に張り替えたりして停滞しているが、Zim+Joplinのシステムは概ね問題なく使えている。
前回から以下を修正・改良して、随分良くなった。
- 行の(ソフト)ラップがないように振る舞う場合があるのを概ね解消した。
- ノートに埋め込んでいる画像の表示幅が広過ぎることが主な原因だったので、設定した最大幅※より大きかったら、自動的に縮小するようにした。
- ただ、設定値が不適切だったり、画像がインデントされていて、画像の幅+インデント量がペーンの幅を超える場合には駄目である。
- ※本来、ペーンやウインドウの幅から画像の最大幅を求めるべきだが、まだそれらが取得できないので、設定に依存している。
- また、テキストのラップ方法にも よるようだったので、単語単位から単語+文字単位に変更した。
- 日本語では単語単位のラップは意味がないので、どうにかして「ちゃんと」したいが、これしか やりようがないのかも知れない。
- そういう点では、このWordPressのエディタや表示は全く優れものだ。
- 日本語では単語単位のラップは意味がないので、どうにかして「ちゃんと」したいが、これしか やりようがないのかも知れない。
- 依然として、問題が起こった場合にHomeキーが思うように効かないので、何とかしたい。
- ノートに埋め込んでいる画像の表示幅が広過ぎることが主な原因だったので、設定した最大幅※より大きかったら、自動的に縮小するようにした。
- ノートを開いた時に、より確実に前回のカーソル位置を復元できるようにした。
- この処理は元々ハッキング的に実装されていたが、時々動作が不完全だったので、復元するための待ち時間(= スクロールする時間?)を結構長くした。
- 起動するたびに/tmpにログディレクトリ(zim-xxxxx)が作られないようにした。
- 特定のディレクトリ(例: /run/user/ID)にログファイルを作るようにした。
- 以前のログは10個くらい残すようにした。
- MDへのエクスポートの改良
- 見出しのMDのタグを標準的なもの(Joplin= gfm?)に合わせた。
- インポート時も同様な修正が要るようだが、未対処である。
- 見出しのMDのタグを標準的なもの(Joplin= gfm?)に合わせた。
- ノート名のボタンのラベルの文字サイズを小さくし、なるべく多くの文字を表示できるようにした。
- (特に書式のエクスポート・インポートのテスト用ノートで)ZimとJoplinの行き来を繰り返すとテストができなくなってしまうので、Joplin→Zimの一方通行だけにできるようにした。
- 画像のインポート用ノートを無駄にZimからJoplinにエクスポートしないようにも使っている。
- (以下、書いたあとでの追加: 12/18 12:43) Joplin→ZimとZim→Joplinの変換(エクスポート・インポート)処理を改良した。
- [Joplin→Zim] コードブロックが正しく表示できない場合があるのを解消した。
- MDをZimに変換するpandocの仕様で、コードブロックを囲むタグが ~~~の場合、ZimのSource Viewというプラグインを使うようになるが、うまく動かないようで、先頭に"{{{code: lang="(改行)"linenumbers="True""などと入り、ブロックの終わりが認識されず、最悪の場合はZimが強制終了する(ブロックが大きくなり過ぎるため)。
- そこで、Joplin→Zimの変換プログラムで、MDの2種類のコードブロック(~~~, ```)をどちらもZimのもの(''')に変換するようにした。
- [Joplin→Zim] 上と同様に、水平線(HR)も、Zimが認識する ---に統一するようにした。
- [Joplin→Zim] 見出し(##など)に下線が付く場合があって煩雑なので、下線を削除するようにした。
- [Joplin→Zim] 同様に、見出しの前後に余分な空行が入らないようにした。
- [Zim→Joplin] ノート先頭に書いた見出しがなくなることがあるので、なくならないようにした。
- 直すまでは、先頭の見出しの前に . のようなダミー行を入れて しのいでいた。修正も同様にしているが、Joplinにインポートする前に除去している。
- [Joplin→Zim] コードブロックが正しく表示できない場合があるのを解消した。
それでも、依然として すごく気になる問題や改良したい点は残って居る。特に以下である。
- 描画の更新がおかしいことがある。
- 大きいノートを変更すると、その行が上下に重複して表示されることがある。
- 他のアプリでは見たことがないのに、どうして起こるのか不思議だ。
- ここにキャプチャを載せようと思って試すと、起こらないw
- とりあえずは「軽い再描画」(ブラウザのF5のもっと軽いイメージ)ができるようにしたい。
- 大きいノートを変更すると、その行が上下に重複して表示されることがある。
- 新しい画像が入ったノートのJoplinへのエクスポート
- Zimで追加した画像をJoplinに取り込めるようにしたい。
前者については、いろいろいじってZimの内部構造やPythonでのグラフィック(GTK)のやり方が分かって来たので、調査・試行錯誤すれば できそうな気はするが、まだ原因が掴めていないので、根本的な対処は難しい。
後者はやり方は分かっているけど面倒なので、純粋に僕のヤル気の問題であるw
逆に言えば、大きな問題は もう2つしかなく、時々イライラはするものの充分実用的(Joplinより10倍以上使いやすい)なので、残った難しい・面倒な問題を片付ける気が なかなか起こらない。まあ、年末の宿題か来年の初仕事だ。
(12/18 12:17) Zimならではの良さの一つに、gitなどでバージョン管理できることがある。Joplinにも履歴機能はあるが、指定期間で削除されてしまうため、古いノートの履歴が参照できない。※ そのため、古いノートの変更に失敗して戻したくなってもできないのだ。
※少し前までは最大*日分残ると誤解して古くても残って居ると思い込んで居たが、そうでなくてがっかりした。
Zimではそんなことはなく、履歴は無限に残る(はず)。データ量は増えるが(それほど多くはないはず)、それよりも、確実に復活できることが重要だ。そして、汎用のツールを使っているので、好きなアプリで履歴を見られるのもうれしい。ただ、履歴を記録するのは定期的なので(ノートを保存した時にも記録されると思う)、残らない履歴もある。
それでも、なくなるよりはずっといい。当初はgitのようなものを使うのは安直だと思っていたが、Joplinのように いい加減な機能を内蔵してプログラムとDBを肥大化させるうえに、いざという時に役に立たずにがっかりさせられるよりはずっとマシだし、ずっといい考えだと思う。
PS. 意外にオリジナル版も少しずつ(残念ながら、細かいものばかり)修正されているので、まとめて適用したい。あと、僕の改良・改造もオリジナル版に入れてもらいたいが、説明や準備が結構な手間なので、やってもフォーク(分岐)程度かと思っている。いずれにしても、描画の更新がおかしいことがある問題が直ってからだ。