		oneko - Neko runs over the windows.
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			   Version 2.0 beta-pop1.1-tip1.7

			    May 28th 1998 (tip-1.7)
			    Tip Window version by Yoshishige Arai

  これは oneko 2.0 beta に到着メールのリスト表示ウィンドウを加えた改造版です。
Nobuyuki Sasaki氏の POP対応パッチ oneko-2.0b-pop1.1.patch を当てた後に当てる
パッチの形になっています。改造点は以下の通りです。

  o -popserverの際にデフォルトで .netrcでなく .poprcを読むようにした。
  o ユーザID の確認に getpwuid() を使えるようにした。
  o メールが到着したときとポスト上にマウスカーソルを持って行ったときに到着
    メール数の Tip Windowを出すようにした。
  o 自プロセスの priority を指定できるようにした。
  o ポストをマウスの中ボタンでクリックすると到着メールのリストを表示す
    るようにした。ヘッダの MIMEデコード(Base64, Quoted-Printable)と日
    本語表示も行なうようにした。

  このドキュメントには、tipパッチにで追加された機能、リソースしか説明
  がないことに御注意下さい。オリジナルの機能やリソースに関しては、お手
  数ですが README.jp 及び README.pop に目を通して下さい。


動作確認

  この tipパッチをあてた onekoを実行するには X Window System(X11R5以上)
  が必要です。現在以下の OS で動作確認が取れています。

  FreeBSD 2.2.1R, 2.2.6-stable, 3.0-SNAP-980221 + X11R6.3, 
  Solaris 2.6 + X11R6.3
  SunOS 4.1.4-JLE1 + X11R6
  RedHat Linux 4.2(2.0.30) + X11R6
  HP-UX 9.0 + X11R6


インストール

  オリジナルの oneko-2.0b.tar.gz と
  POP対応パッチ oneko-2.0b-pop1.1-patch.tar.gz が必要です。無ければ、

    http://www02.so-net.or.jp/~nsasaki/oneko/
    http://www.on.rim.or.jp/~ryo2/fsw.html

  のいずれかから拾って下さい。
  oneko のインストールは以下の手順で行なって下さい。

  1) アーカイブを展開しパッチをあてる
    (GNU tar であれば、tar xvzf oneko-2.0b.tar.gz 等で構いません)

    % gzip -dc oneko-2.0b.tar.gz | tar xvf -
    % (cd oneko ; gzip -dc oneko-2.0b-pop1.1-patch.tar.gz  | tar xvf -)
    % gzip -dc oneko-2.0b-tip1.7.tar.gz  | tar xvf -
    % cd oneko
    % patch -p1 < oneko-2.0b-pop1.1.patch
    % patch -p1 < oneko-2.0b-tip1.7.patch


  2) コンパイルとインストール

    以下の二通りの方法でできます。imake を使う場合でも、configure を
    実行して作成された config.h をテンプレートにすると簡単です。


    A) GNU configure を使う場合

      % ./configure
      % make depend
      % make
      % su -
      # make install
      # make install.man

      としてコンパイルとインストールを行なって下さい。これだけで大抵は
      足りますが、必要に応じて configure 時に、以下のようなオプション
      を付けて下さい。configure 後に config.h を編集していただいても
      結構です。

      [ configure の主なオプション ]
     --help
       configure のオプション一覧を表示します。

     --with-gnu-make, --without-gnu-make
       システムの make ユーティリティが GNU make を(使う/使わない)場合
       に指定します。

     --with-kcnv=PROGRAM
       マニュアルをコンバートする漢字コード変換プログラムを指定します。
       デフォルトで --with-kcnv='nkf -e' となっており、日本語 EUC のマ
       ニュアルをインストールします。日本語マニュアルをインストールし
       たくない場合、--with-kcnv=no として下さい。
       JISでインストールしたい場合は、--with-kcnv='cat' でできます。

     --with-pop, --without-pop
       POPサーバから読むオプション(-popserver)を(使う/使わない)場合に
       指定します。デフォルトは --with-pop です。

     --with-lang=TYPE  (i18n, l10n, no)
       国際化(Internationalization)、または日本語のみ(Localization)を
       使うかどうかを指定します。デフォルトは -with-lang=i18n です。

     --with-mail-spool=DIR
       メールスプールのディレクトリを指定します。指定しないと、
       可能な範囲でスプールディレクトリを探します。

     --with-shape
       デフォルトで、Xの Shape拡張を探しますが、configureが libXext
       を見つけられない場合はこのオプションを付けてみて下さい。

     --prefix=DIR
       DIRにはインストール先のディレクトリを指定します。
       デフォルトは /usr/X11R6 で、oneko の bitmap などは、
       ${prefix}/lib/X11/oneko にインストールされます。

     --bindir=DIR
       oneko のバイナリのインストール先を指定します。

     --mandir=DIR
       oneko のマニュアルのインストール先を指定します。デフォルトは 
       ${prefix}/man で、この場合英語マニュアルは ${prefix}/man/man1/ 
       に、日本語マニュアルは ${prefix}/man/$(LOCALE)/man1/ にインストー
       ルされます。


    B) imake を使う場合

      config.h を自分の環境に合わせて編集して下さい。#define でそのオプショ
      ンが有効に、#undef または /* */ でコメントアウトすると無効になります。
      ユーザ定義の項目は以下の通りです。

      [ GNU makeを使う。(Linuxでは pmakeを使わないなら、必ず指定) ]
        #define USE_GNU_MAKE

      [ POPサーバ対応機能(-popserverオプション)を使用可能にする ]
        #define POP

      [ MIME decode機能を有効にする ]
        #define MIME

      [ 国際化機能を有効にし、日本語表示可能とする(Internationalization) ]
        #define I18N

      [ 国際化せずに、日本語表示を可能にする(Localization) ]
      I18N と L10N は、どちらか片方だけを有効にして下さい。
        #undef L10N

      [ メール到着時に、ユーザ指定のプログラムを起動できるようにする ]
        #define MAILACTION

      [ メール到着時にポップアップウィンドウで知らせる機能を使う ]
        #define MAILNOTIFY

      [ メール到着時にマウス中ボタンで一覧を見る機能を使えるようにする ]
        #define SHOWHEADER

      更に、必要に応じて Imakefileを自分の環境に合わせて編集しなければ
      ならない場合があります。
      例えば Solaris2.Xなら Imakefileの DEFINESに -DSYSV -DSVR4を入れ、
      FreeBSD-2.2以上なら EXTRA_LIBRARIES = -lxpg4 として下さい。
      通常 SystemV なシステムでは、デフォルトで #undef HAVE_SETPRIORITY
      としなければなりませんが、#define HAVE_SETPRIORITY として、
      libucb.a をスタティックリンクすれば -priority オプションが使えるよう
      になります。
      日本語 locale はシステムに付属のものを Imakefile の LANG のところに
      指定して下さい。システムにロケールが無いが、X サーバは X_LOCALE 
      付きでコンパイルしたものを使っている場合(例えば Linux)では、ja 
      を指定しておきましょう。
      コンパイルとインストールは以下の手順で行なって下さい。

        % xmkmf
        % make depend
        % make
        % su -
        # make install
        # make install.man


使用可能なコンパイルスイッチ

  以下のスイッチは、Makefile を直接編集して指定することができます。

  -DUSE_NETRC           ~/.netrc を読むようにする(デフォルトは ~/.poprc)
      .netrc を使う場合は、
      machine メールサーバ名 login ユーザ名 password パスワード
      という一行を $(HOME)/.netrc に書く必要があります。

  -DNOTCNVT_ILLEGAL_JP	直接ヘッダに書き込まれた JIS コードは表示しない
      デフォルトでは MIME エンコードされていない日本語も表示します。


起動方法

  インストール直後は、例えば LOCALE が ja_JP.EUC の場合なら
  % rehash
  % xrdb -merge /usr/X11R6/lib/X11/ja_JP.EUC/app-defaults/Oneko
  としてから、起動してみて下さい。(X の再起動後は不要です)
  起動例は以下です。

  (メールスプールを監視する場合)
  % oneko &
  または
  % oneko -file /var/spool/mail/user_name &

  (POPサーバを監視する場合)
  デフォルトで ~/.pooprc を見るようになっています。
  ~/.poprc に、
  server メールサーバ名 protocol pop3 username ユーザ名 password パスワード
  という行を加えて、

  % oneko -popserver mail.server_name.jp
  として起動して下さい。ただし ~/.poprc のパーミッションは 600 となるよう
  に、くれぐれも御注意下さい。


リソースとオプション

  以下は、この tipパッチで追加されたリソースと起動時オプションです。
  必要に応じてリソースを ~/.Xdefaults または ~/.Xresources に記述して下さ
  い。

  追加されたリソース(クラス)                   対応するオプション
  Oneko*tip.font (Font)                        -font, -fn
	Tip ウィンドウで使うフォントセットの指定
	XLFD(X Logical Font Description)をカンマ区切りで複数指定可能

  Oneko*tip.foreground (Tip.Foreground)        -tfg, -tipforeground
	Tip ウィンドウの文字色

  Oneko*tip.background (Tip.Background)        -tbg, -tipbackground
	Tip ウィンドウの背景色

  Oneko*tip.bordercolor (Tip.Bordercolor)      -tbd, -tipbordercolor
	Tip ウィンドウの縁と影の色

  Oneko*tip.text (Tip.Text)                    -text
	Tip ウィンドウに表示する文字列。その中に ASCIIキャラクタで、
	%d を一つ入れると、それがメールの数に置き換わる。
	デフォルトは "メールが %d 通届いています"

  Oneko*tip.linespace (Tip.LineSpace)          -space
	メールリスト表示ウィンドウの行間スペース(デフォルト 2)

  Oneko*tip.column (Tip.Column)                -w
	メールリスト表示ウィンドウの桁数(デフォルト 80)

  POPパッチまでで使えていた他のリソースやオプションも、もちろん使用可能で
  す。


  L10N の追加リソースとオプションについて

  追加されたリソース(クラス)                   対応するオプション
  Oneko*tip.text1 (Tip.Text1)                   -text1
  Oneko*tip.text2 (Tip.Text2)                   -text2

  L10Nで Build した場合、locale は要りません。
  デフォルトでは -DI18N と同じメッセージになりますが、表示文字列は
  "○○○ %d △△△" の形式で固定され、tip.text (-text オプション)は無効に
  なります。代わりに、"○○○" の部分と "△△△" の部分の日本語 EUC の文字
  列をそれぞれ tip.text1, tip.text2 で指定できますが、jisx0201 なフォント
  や 1 byte ASCIIキャラクタは混在できません。


版権について

  このパッチは、自由に改造、再配布して下さい。その際には、
私、荒井良重 (ryo2@on.rim.or.jp)または佐々木伸幸氏(saaski@thinkfree.co.jp)
まで連絡をいただければ嬉しく思います。
動作報告、バグレポート等も、もちろん歓迎致します。


oneko tipパッチの履歴

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.1 (Jan. 17 '98)
  ・-popserver の際に .netrc でなく .poprc を読むようにした。
  ・ユーザID の確認に getpwuid() を使えるようにした。
  ・メールが到着したときとポスト上にマウスカーソルを持って行ったときに
    到着メール数の Tip Windowを出すようにした。
  ・自プロセスの priority を指定できるようにした。

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.2 (Jan. 20 '98)
  ・Tip Window を国際化(L10N/I18N)した。(Tip Windowは fvwm95の 
    module/FvwmTaskBar/Goodies.c を参考にしました)

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.3 (Jan. 27 '98)
  ・ポストを中ボタンクリックすると到着メールのリストを表示する。
  ・Tip Window関係のリソース読み込み部分を付けた。

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.5 (Feb. 15 '98)
  ・-popserver の場合でも、POP サーバからメールヘッダを読みだし、
    到着メールの Subject, From をリスト表示するようにした。
  ・メールヘッダのフィールドが複数行にわたる場合の処理を追加。
  ・リスト表示の MIME デコード(Base64, Quoted-Printable)処理を付けた。
   (MIMEデコードに関しては、metamail のソースを参考にしました)
  ・I18Nの日本語リソース埋め込みを無くした。

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.6 (Apr. 17 '98)
  ・メールヘッダ保存バッファの byte alignに関するバグ修正。
  ・help, oneko.man, oneko.man.jp の追加と修正。

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.7b (Apr. 24 '98)
  ・メールヘッダ表示で、From行の最後の 1 byteが消えるバグの修正。
  ・メールヘッダ表示で、一部の行が表示されないバグの修正。
  ・コンパイルオプションを config.h に分離し、GNU configure導入、他。

 Oneko version 2.0beta Patchlevel 5 +pop-1.1.1+tip-1.7b2 (May. 1 '98)
  ・Shape Extension無しの場合の表示を修正。
  ・configure の数々の不具合を修正。
  ・日本語マニュアルのインストールは、デフォルトで EUC にした。

 Oneko version 2.0beta Patchlevel 6 +pop-1.1.1+tip-1.7 (May. 20 '98)
  ・存在しない locale を指定した場合に SIGSEGV で落ちるバグ修正。
  ・L10N のコンパイルエラーと表示が乱れるところを修正、他。


謝辞

  oneko Tip Window版に対して、数々の御示唆と助言をいただいた
佐々木伸幸氏(sasaki@thinkfree.co.jp)に感謝いたします。
福田和真氏(kazuma@cc.tuat.ac.jp)には Linux対応のパッチをいただき、
マージさせてもらいました。原作者の加藤氏(kato@lemon.ifnet.or.jp)には、
L10N の際のバグの御指摘をいただきました。また、以下の方々には動作テス
トと各 OS での動作報告、バグ報告をしていただき、どうも有難うございまし
た。
  井口 剛氏(zinnia@jan.ne.jp)
  田中宏司氏(t-kouji@kuee.kyoto-u.ac.jp)
  米谷和巳氏(yonep@mks.or.jp)



荒井良重 <ryo2@on.rim.or.jp>
