toolsだが、ようやく書いた。Toolsと言ってはいるが、ほぼatnowがメインだ。diary.resumeは要は日付別のファイルをエディタで開くだけだからだ。atnowはタブセパレートのCSVとして理解可能な日記ならぬ瞬間記だ。その瞬間に起きたことを記録していき、これにより検索し、分析することを容易にする。記憶しておくことが困難な私には欠かせない。そのデザインが重要なのだが、今回2つのポイントがあった。ひとつは、atnowは他のスクリプトから呼ばれる可能性もあるため、ファイルは必ずロックされなくてはいけない。それをシェルスクリプトでやるとなるとなかなかハードルが高い。zshには公式モジュールとしてflockが提供されている。)zsh/zsystemモジュールをロードすることで使用可能だ。substitionの結果が$?で取れるらしい。zenityが値として何を返すのかということを今回チェックしたが、基本的に入力した内容、選択なら選択したテキストが返り、キャンセルやいいえを選択した場合、non-zero終了するらしい。ランチャに配置して完了。ちなみに、これをメール通知するため、muttとmsmtpをセットアップした。