Download List

프로젝트 설명

Ochusha is a so-called 2ch browser based on GTK+.
It is implemented mainly in C/C++ and employs multi-threading so that it runs considerably quickly. We would like to respond to user's request for features.

System Requirements

System requirement is not defined

Released at 2003-06-22 02:14
ochusha 0.4.3.5 (1 files Hide)

Release Notes

- Solarisでコンパイル可能にした……つもり。
- メイル欄の中身がsageのみの場合には通常のリンクとは違う色でレンダリン
グするように変更した。
- 隠されたスレ(隠すと指定されたスレ)がフィルタ非使用時のスレ一覧に現
れないように設定可能にした。
- 隠されたスレに関して、threadlist.xmlの保存時にキャッシュを消去し、既
読数を0とするようにした。
- 板一覧にポップアップメニューを追加し、カテゴリや板を隠す指定を可能に
した。
- 板一覧でカーソルキーなどが使えなくなっていたので、キーをバインドし
た。
- スレ一覧に表示されるカラムをユーザ指定可能にした。
- その他細かいバグ修正と実装の掃除をいくつか行った。

Changelog

* BBSThreadViewの実装で_gtk_boolean_handled_accumulator()を使うの
をやめた。まぁ、見るからにGTK+のprivate関数っぽいとは最初から思っ
ていたのだが……。とりあえず、accumulatorを使わないようにして対
処した。これにより、同じシグナルに複数のハンドラがconnectされて
いる時の挙動が微妙に変わることになるが、問題ないだろう。
* OchushaNetworkBrokerによるネットワークアクセス時に
Accept-Encodingとしてdeflateを指定してみる実験。今のところ
Content-Encodingにdeflateを返すサーバは見当たらないので、動かな
いかもしれない。なので、バージョン0.4.3.5を出す前にコメントアウ
トするかも。
* libxml2のSAXパーザを使っている部分で、ローカル変数として確保して
いるxmlSAXHandlerを初期化前に0クリアするように変更した。昔は腐っ
たXMLファイルをlibxml2に食わせても落ちたりはしなかったはずなのに
最近落ちるのはこれが原因であるという疑いがある。
* Solaris上でconfigure/makeできそうな感じにconfigure.acを変更した。
* レスのレンダリング時に、メイル欄の中身がsageのみの場合は通常の
リンクとは違う色でレンダリングするように変更した。
* 隠されたスレがフィルタ非使用時のスレ一覧に現れないように設定出来
るように変更した。
* キャッシュファイルをunlinkする時のパス名が間違っていたのを修正し
た。
* OchushaBBSThreadにスレのソース(2chならDATファイル)のキャッシュを
消去するAPIを追加した。
* threadlist.xml保存時に隠されたスレに関して、ソースのキャッシュを
消去するように変更した。また、threadlist.xml読み込み時に、隠され
たスレの既読数を0とするように変更した。
全く未検証。
* 新着レスへ飛ぶボタンを押した時点でレスの既読部分のレンダリングが
終了していなかった場合には、ジャンプを行わないように変更した。こ
れは警告が出るのを避けるだけのための措置。
* 2ch非依存であるべき部分で2ch依存の用語を変数名として使わないよう
に変更した。
* OchushaBoardCategoryとOchushaBulletinBoardにhiddenというフラグを
追加。ここに置くべきかどうか悩むところだが、実装の簡単のため妥協。
* 板一覧の表示時に、隠された(hidden=TRUEな)板やカテゴリを表示しな
いか、あるいは、取消線付き(strikethrough)で表示するように変更し
た。
* 隠された板やカテゴリを板一覧に表示するかどうかの設定を変更するメ
ニューと、隠されたスレをスレ一覧に表示するかどうかの設定を変更す
るメニューをメニューバーに追加した。板一覧の設定は即時にGUIに反
映させているが、スレ一覧の表示し直しはかなり重いので次回描画時ま
で反映されない。
* メニューバーのGtkCheckMenuItemに初期状態としてTRUEをセットすると、
なぜかメニューを選んだときと同じ処理が走って、そこで未初期化部分
に触ってSegmentation Faultを起こす問題があったので、回避するよう
にした。
* BoardlistViewでカーソルキーやスペースなどが使えるように変更した。
* ThreadlistViewのシグナルの型をGTK_TYPE_POINTERから
OCHUSHA_TYPE_BBS_THREADにnarrowingした。
* スレ一覧に表示されるカラムをユーザ指定可能にした。