howm のメニュー (C-c , ,) にザウルスのカレンダー、ToDoの内容を表示する Emacs Lisp。
軽い気持ちで書き始めたら、繰り返し日程の扱いがえらく大変で困りました。繰り返しのルールそのものを変換するだけの ZiCal の場合と違って、ルールに従って自力で展開しないといけないので。いちおううまく動いていそうですが、まだ怪しいかも。
Posted by Hiroyuki KUROSAKI at 2004年11月28日 21:27SL-A300から全データ移行を行ったら、とても重たくなってしまったので、とりあえずキャッシュをつけました (Revision 1.2)。それでも最初のメニュー表示のときには2分近く待たされますが…。
csv.elをよく見ると、データ中のダブルクオートは、ダブルクオート2つではなくて、バックスラッシュでエスケープするものと解釈しているようなので、zdbatの出力とは合わないかもしれません。
icalendar.el といい、Ulf Jasper さんのコードはいつもなんか惜しいなぁ。
自前でCSVを解釈するようにしたので、csv.el は不要になりました (Revision 1.3)。速さ (遅さ) はあまり変わりません。
バグフィックス (Revision 1.5)。今日より後から始まる繰り返し日程が表示されませんでした。
上記は説明が逆でした。今より前に始まった繰り返し日程が表示されない、でした。
その他速度向上のためにいろいろ修正しています。
Posted by: noir123 on 2004年12月07日 23:50howmzのインストールなのですが、placeholderの設置とPathを通すにはどのようにすればよいのでしょうか。howm-menu.elとかをみてもよくわからないので
Posted by: T.Okano on 2004年12月10日 13:14T.Okanoさん (EBtの作者の方ですよね?) こんにちは。
興味をもっていただきありがとうございます。
%ztodo と %zschedule を書くところですが、howm のメニューファイル (デフォルトでは ~/howm/0000-00-00-000000.howm だと思います) を
開いて、%todo や %schedule の後ろの行などに書いておけば、C-c , , したときにそこに表示されることになります。
また、howmz.el は Emacs の load-path の通っている場所に置いてください。X/Qt Server Project で配布されている Emacs だと、/home/QtPalmtop/share/emacs/site-lisp あたりが適当だと思います。
それから、Zaurusにhowmをインストールした場合、データを置くディレクトリがデフォルトの ~/howm のままではすぐに容量不足になってしまいそうなので、私は ~/Documents/howm に置くことにし、~/.emacs で
(setq howm-directory "~/Documents/howm")
と設定しています。
ありがとうございます。ちなみにEbtの作者はOkadaさんで私はEbtのサイトにあーだこーだと質問している方で、まったくLinuxはずぶの素人です。Emacsも少しずつ勉強しながら、URLに記載のMobileMemoというWikiにその教わったことを書いています。今回もhowmを知り、いろいろと試してみてうまくいったことをWikiに上げたいと思ってます。Kuro-sanのサイトでext3化などを勉強させてもらってます。
Posted by: T.okano on 2004年12月11日 00:09howmの取り扱いですけれど、なかなかlinuxで修正をかけたりできないので、TreeExploreで/hdd3/Documents/howmに移動して、リンク貼り付けでもとのところにシンボリックリンクを貼るというように、素人くさい手段でいかにZaurusSL-C3000を活用するかをかんがえているようなわけです。
Posted by: T.Okano on 2004年12月11日 00:13大変失礼いたしました…。MobileMemoのほうも拝見しました。
howmzの設定をしないでC+c,,のときに
「Fontifying block...(void-function nil)と表示され
howmz.elに記載されている.emacsへの追加部分を加えた後起動すると
「Error in init file:Symbol's value as variable is void:howm-huge-」と表示されます
debaug-initオプションでみると、一部バイナリーのようなので
そこを省いて記載すると
Debugger entered--Lisp error:(void-variable howm-huge-)
byte-code(略)
[current-load-list howm-huge- howm-menu-file default-boundp
set-default nil howm-menu-name-format
"*howmM:%s*" howm-menu-schedule-days 7
howm-menu-schedule-days-before 0 howm-menu-todo-num 50 howm-menu-todo-priority howm-menu-expiry-hours howm-menu-hook howm-menu-keyword-regexp "^%.*%$" howm-menu-top "%menu%"] 3)
require(howm-menu)
eval-buffer(#> nil "howmz" nil t)
;;; Reading at buffer position 1753
load-with-code-conversion("/opt/QtPalmtop/share/emacs/site-lisp/howmz.el"
"howmz" nil t)
require(howmz)
eval-buffer(# nil "~/.emacs" nil t)
;;; Reading at buffer position 7998
load-with-code-conversion("/home/zaurus/.emacs" "~/.emacs" t t)
load("~/.emacs" t t)
中略
[init-file-user system-type user-init-file-1
user-init-file otherfile source ms-dos "~"
"/_emacs" windows-nt directory-files "~"
nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "~"
"^_emacs\\(\\.elc?\\)?$" "~/_emacs" "~/.emacs" vax-vms
"sys$login:.emacs" "~" "/.emacs" t
load expand-file-name file-name-nondirectory file-name-as-directory
".emacs.d" file-name-directory file-name-extension "elc"
file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 assoc "default" alt custom-file load-history inhibit-default-init inhibit-startup-message] 8]() command-line() normal-top-level()
というようなメッセージがでています。
Posted by: T.Okano on 2004年12月12日 14:33howm-reminder.el に定義されている howm-huge- という変数を、howm-menu.el が参照していて、それが howm-reminder.el の読み込み前なのが原因のようです。
とりあえず、~/.emacs で
(require 'howmz)
の前に
(require 'howm)
を入れてみてください。
(require 'howm)を書くとCannot open load file と出ますね。なんでみつからないのだろ。
Posted by: T.Okano on 2004年12月12日 19:31PCで解凍してみると徒然な覚書さんのPackageにはhowm.elは入ってないですね。tarで落としたほうにはhowm.elがあるのですが。この辺の違いでしょうか
Posted by: T.Okano on 2004年12月12日 20:02徒然な覚書さんのところで配布されているのは 1.1.2 ですね。私のほうで動作確認しているhowmのバージョンは 1.2 です。
ソースからだとたしか make コマンドがないとインストールできないので、make がない場合は、howm-1.2 の doc/README.ja.rd の「手動インストールの場合」を参考にするとよいでしょう。
一度アンインストールして手動インストールに変更してみます。
Posted by: T.Okano on 2004年12月12日 21:19howm 1.2 の ipk を作ってみました。
http://noir.s7.xrea.com/pub/zaurus/howm_1.2-1_arm.ipk
これでうまくいきますか?
howmのサイトを見ると昨日付けで 1.2.1 が出てますね。ううむ動作確認しなくては。
さっそく手動インストールしました。
今度はSCANまでいったのですが、menuに書き込んだ%zscheduleのところが%here%(howmz-menu-schedule)と表示され、同様に%ztodoも%here%・・・と表示、下にArgs out of range:"20050731",13,15というコメントが出てしまいます。
すみませんちょっとずれてました。再度IPKにインストールしなおします。
Posted by: T.Okano on 2004年12月12日 22:24ipkを入れなおしても結果としては同じでした。
zdbatで単純にdatebookをcsv化するときに、エラーをたくさん出しながら最後にCSVができるようなのですが、スケジュールデータの問題かもしれません。
zdbatがエラーをたくさん出すのはそういう仕様らしいです。
たぶんzdbatの出力データを解釈するところで何か問題が起こっているのだと思います。調べてみます。
カレンダーのデータを全部削除して、新しいデータだけにしてみました。するとうまく表示されました。いろいろお手数をおかけしました。
もともとこのカレンダーデータはPalm、途中シグマリオン、CLIEと歴史を重ねて生きているので、いろいろとフラッグなどが挿入されているので、正月休みにでも一度全部CSVにしてデータを再構築したほうがよさそうです。
うまくいきましたか。
今回の問題とは直接関係ないですが、バグが一つありましたので修正しました (Revision 1.7)。繰り返し日程の最後の日が表示されませんでした。
いろいろとありがとうございました。まさかipkまで作っていただけるとは思ってませんでした。
ipkの作成が自分でできるようになると良いのですが、そのあたりは今後の課題ということで。
howmなどemacsでできることをいろいろ追求してみたいと思ってます。今後もよろしくお願いします。
こんばんは
Todoの件ですが、全部削除したうえで、Qualenderで置き換えたTodoに新しく1件登録し、howmzで読み込むとArgs out of range:"20041217",13,15というエラーが出てしまいます。
Qualenderをはずすとうまくいくようです。
ありがとうございます。Qualendarが書き込むデータのどのへんが違っているのか、調べてみます。
日付時刻を文字列からEmacs Lispの内部データ型に変換するところを修正してみました (Revision 1.8)。
Qualendar をインストールしていないので実際に試してはいないんですが、これでうまくいくかもしれません。
そうそう、howm-1.2.1 も ipk にしました。
http://noir.s7.xrea.com/pub/zaurus/howm_1.2.1-1_arm.ipk
メニューコマンド (カーソルを置いてEnter) で Qtopia のToDo、カレンダーが実行できるようにし、あわせて ~/.emacs での設定も (require 'howmz) だけで済むように変更しました (Revision 1.9)。詳細は冒頭のコメントに書いてあります。
noirさんありがとうございました。Qualendarのtodoの連携確認しました。また、インストールがシンプルになったこと。
それと、ジャンプで直接カレンダーとToDoが開くというのも面白いアイデアで大変便利だと思います。カレンダーは母艦との連携があるので、QTの方がメインですし、Todoは、メインはQtですが、覚書やメモなどでは、howmも併用する環境なので大変便利です。
howmのメニューに表示されるスケジュール (%schedule) と同じものを
Qtopiaのカレンダーにエクスポートするコマンド (M-x howmz-export-schedule)
を追加しました (Revision 1.11)。
登録されたエントリのメモ欄には (howm) という文字列が入り、
次回エクスポート時にはこれをチェックしていったん削除します。
削除したくなければメモ欄を編集してください。
[2004-12-31 12:00]! 会議 のように、〆切 (!) 形式で書いた
ものは、アラームが鳴るように設定されます。デフォルトは0分前ですが、
変数 howmz-export-schedule-alarm-minute で変更できます。
まだ十分にテストしていないので、~/.emacs で
(setq howmz-use-dangerous-feature t)
と書いておかないと、何もしないようにしてあります。
登録したスケジュールが文字化けしていたり、
ゴミデータが登録されてしまうことがあるようです。
また、PCとのシンクロナイズを行っているときの影響も不明です。
howm-1.2.2 ~ 1.2.3 で howmz を使うには
(defalias 'howm-view-sort-items 'howm-sort)
を書き加えないといけないようです.
次の howm-1.2.4 では直る予定.
サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)