		oneko - Neko runs over the windows.
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			   Version 2.0 beta
			    March 3rd 1992

			    Aug 9th 1997	(pop-1.1.1)
			    POP by Nobuyuki Sasaki (sasaki@thinkfree.co.jp)


これは oneko 2.0 にある biff 機能を POP 対応にしたものです。
また、同時にメール到着時にコマンドを起動する機能を付け加えてあります。

オリジナルのソースパッケージは、
 Niftyserve UNIXフォーラム LIB 9 (X Window Contrib) #96 
に登録されています。
また、私の WEBページ
 http://www02.so-net.or.jp/‾nsasaki/oneko/
にも置いておきます。

私が追加した機能 (POP 対応、コマンド実行) についての問い合わせを、
sasaki@thinkfree.co.jp 以外に送ることはおやめ下さい。

このパッチは、猫の鳴き声を含め改造・再配布自由とします。
できるだけパッチ全てを配布してください。
特に私に連絡していただく必要はありません。
# おもしろい改造・バグフィックスをしたなら、知らせて頂けると喜びます。

oneko には、深い歴史があります。
オリジナルについての版権を再確認した、
COPYRIGHTS も参照してください。


＜なにが新しいのか？＞

Aug 9th 1997	(pop-1.1.1)
・オリジナルの版権について確認し、COPYRIGHTS を書き足しました
  (つまるところドキュメントの改版だけなんです…)

Aug 5th 1997	(pop-1.1)
・メールチェック時のタイマ動作を見直し、アボートしなくなりました。
・メールチェックの間隔を実用上問題ないだけ長く設定できるようになりました。
・再配布について書き足しました

May 30th 1997	(pop-1.0)
・あの名作 oneko が、pop な oneko になりました。
  遠いところのメールも調べてきます。
  鳴いて知らせることもできます。


＜patch の方法＞

0. このファイルにふくまれているものを確認してください
	README.pop		(このファイル)
	oneko-2.0b-pop1.1.patch	(パッチファイル)
	oneko2.au		(於吉の鳴き声 sun 8bit-law)

1. oneko のオリジナルソースを適当なディレクトリに展開してください。

2. oneko の見えるディレクトリで、パッチをあててください。
	patch -p < oneko-2.0b-pop1.1.patch



＜make の方法＞

make の方法は基本的にオリジナルと同様です。
オリジナルは SunOS4.x, FreeBSD 等で動作するようになってます。

Imakefile の DEFINES に、次のものを指定することができます。
-DPOP:		POP 機能を有効にします。
-DMAILACTION:	メール到着時のコマンド起動機能を有効にします。

define しなければ、機能的にはオリジナルと全く変わりません。

適当な DEFINES を指定した後、オリジナル同様に make してください。
-DPOP -DMAILACTION は、パッチをあてると自動的に定義されます。



＜使用方法＞

追加されているリソースがあります。

Oneko.Popserver:        hostname
Oneko.Mailaction:       command arg1 arg2 ...

Popserver には、POP サーバー名を指定します。
これを指定すると、POP 経由でのみ、メールチェックを行います。
指定しなければ、オリジナル同様メールボックスディレクトリをチェックします。

Mailaction には、メール到着時に起動したいコマンドを指定します。
引数がある場合でも、リテラルで囲む必要はありません。
# とゆーか、書くと動きません。

これらはデフォルトの Oneko.ad には含めてありません。
各自の .Xdefaults 内で指定するか、
デフォルトのリソースファイルに書き足してください。

私が Solaris2.4 上で指定しているものを例として記述しておきます。

Oneko*Popserver:	pop.thinkfree.co.jp
Oneko*Mailaction:	/usr/bin/audioplay -v30 /usr/local/lib/oneko/oneko2.au


メールチェックの間隔はオリジナル同様 Update リソースに設定します。
POP 経由の場合、メールチェックのたびに認証を行うため、
サーバーに負荷がかかりやすくなります。

Oneko.Update:        180

くらいを指定しておくほうが良いかもしれません。
(＜認識している問題＞も参照してください)


POP サーバーに対する認証ユーザー情報は、
 $HOME/.netrc 
に記述します。
ftp 等でも使用するファイルです。
machine popserver login myname password mypassword
のように記述します。
account と macdef タグは無視するようにしたつもりですが、確認していません。

このファイルのパーミッションは 0600 でなければなりません。

詳細は man netrc してください。



POP サーバーのサービスポートとして、"pop3" または "pop" を探します。
名前からポートが引けない場合、ワーニングを出しメールチェックをしません。



＜認識している問題＞

Oneko.Update の値は、オリジナルでは、
 1800 とかの値にすると内部での計算時に変数の格納範囲を越え、
正しく動作しませんでした。
これをある程度の範囲で正常に動作するようにしました。
86400 秒 (24時間) 以上に設定できますので、実用上問題ないはずです。
しかし、オリジナルのコードに対しいい加減なつじつま合わせをしているため、
 Oneko.Intervaltime
の値を 1000マイクロ秒以下にできません。
 Oneko.Intervaltime > 1000 
という制限が新たに加わってしまいました。
(実用上の問題にはならないと思ってますが)

メールチェック時、インターバルタイマを止めているため、
 oneko はちょっとだけ止まるかもしれません。

.netrc による認証方法は、好ましいものではありません。
APOP とかを実装すべきかもしれません。
IMAP ってのもいいかもしれません。



＜追記＞

製作の動機は「oneko に鳴いてもらおう」ということでした。

そのため、数年前に鳴く部分だけを書きました。
当時仕事で SPARCstation の AUDIO デバイスをいぢっていたこともあり、
SPARCstation に依存した音声出力ルーチンを書いて実装していました。

ある日、会社のメールサーバーを POP 経由のみに統一化したため、
NFS マウントでチェックしていた oneko は鳴かなくなってしまいました。

ついでに FreeBSD を使いはじめたこともあり、
どちらでも鳴くようにしたいと思い、
音声出力を外部化し、POP の実装に至ったわけです。

そのため、動作の確認は 
 Solaris2.4 + gcc-2.6.3
 FreeBSD2.1.5 + gcc2.6.3
でしか行っていません。
POP サーバーとして使ったのは qpopper-2.1.4R のみです。
それ以外の環境では試していません。

猫の鳴き声は「於吉(おきち)」という名前の現在 7歳の猫の声です。
大変な内弁慶猫なので、声だけでもいろいろなところを旅行してほしいのです…

こんなパッチで楽しんで頂ければ本望です。


＜謝辞＞

今まで xneko, oneko の開発に携わった方々、楽しませて頂いています。
ありがとうございます。

neko DA 原作の後藤さん <juan@super.win.or.jp> には、
猫の絵の使用について助言を頂きました。

xneko 原作の古場さん <masa-k@sag.hitachi-sk.co.jp> には、
猫の歴史について助言を頂きました。

oneko 原作の加藤さん <kato@lemon.ifnet.or.jp> は、
oneko-2.0 オリジナルの再配布を快諾してくださいました。

山田 泰司さん <taiji@aihara.co.jp> には、
pop 動作時のサーバーへの接続不具合、更新タイマ不具合について助言を頂き、
試験に協力して頂きました。
ありがとうございました。

 
＜作ったひと＞

佐々木伸幸(ささきのぶゆき)
	saaski@thinkfree.co.jp
	nsasaki@da2.so-net.or.jp
	HAG05226@niftyserve.or.jp

