名前
       jd - 2ch browser for Linux

書式
       jd

URL

       http://www.geocities.jp/jd4linux/



//////////////////////////////////////////////////////////////
//
// ライセンス、コピーライト
//

最新のGPL(今のところGPL2)

(c)2006 JD project


パッチやファイルを取り込んだ場合、それらのコピーライトは「JD project」に統一します。
またGPL3以降へのライセンス変更に関しては作者に一任させて頂きます。



//////////////////////////////////////////////////////////////
//
// make、実行方法
//

・動作環境

gtkmm24-2.4.8 以上必須
zlib-1.2 以上必須
openssl-0.9 以上必須

kernel2.6以上推奨
gtkmm2.6以上推奨 ( 2.4の場合レイアウトが一部崩れる )
UTF-8環境推奨 ( EUC環境は動作保証外 )


・makeに必要なツール、ライブラリ

autoconf
automake
libtool
gtkmm24-devel
zlib-devel
openssl-devel( 又は libssl-devel )


・make 方法( rpmbuild の場合 )

rpmbuild -tb 〜.tgz でrpmファイルが出来るのであとは rpm -Uvh 〜.rpm
ライブラリが足りないといわれたら yum install 〜-devel
起動はメニューから起動するか、端末で jd と打ち込んでエンターを押す。



・make 方法( configure + make の場合 )

./autogen.sh
./configure
make
(お好みで) strip src/jd

実行するには直接 src/jd を起動するか手動で /usr/bin あたりに src/jd を cp する。



以上の操作でmakeが通らなかったり動作が変な時はconfigure.in の user settingsの項を修正する。

use_xsmp : XSMPを使ってセッション管理をする
use_gnomeui : GNOMEUIを使ってセッション管理をする。libgnomeui-develが必要。use_xsmp=yesの時は無効
use_ms932 : MS932ではなくCP932で文字コード変換をする



//////////////////////////////////////////////////////////////
//
//  datファイルのインポート
//

JDのキャッシュ構造はnavi2chの上位互換仕様なので、navi2chからインポートする場合は
起動する前に cp -r .navi2ch .jd というようにディレクトリごとコピーするだけで良い。

また、設定ファイル(~/.jdrc)の path_cacheroot の行を

path_cacheroot = ~/.navi2ch/

とすればnavi2chとキャッシュを共有できるがあくまで自己責任でおこなうこと。


個別にdatファイルをインポートする場合は、対象の板を一度開いてからjdを終了し
キャッシュディレクトリにdatファイルを全てコピーしてからもう一度起動して
その板を開くと自動でインポートされる。

なおインポート後に初めてその板を開いたときはdatファイルを解析するため少し時間がかかる。



//////////////////////////////////////////////////////////////
//
// バックアップ、アンインストール 
//

バックアップは設定ファイル( ~/.jdrc )、及びキャッシュディレクトリ(デフォルトでは ~/.jd )を保存する。


・アンインストール方法( rpm の場合 )

rpm -e jd


・アンインストール方法( 手動の場合 )

rm (インストールパス)/jd
rm -rf キャッシュディレクトリ
rm ~/.jdrc



//////////////////////////////////////////////////////////////
//
// お気に入りの編集、登録、削除方法
//

板、スレ、画像に関してお気に入りの登録が可能。左のサイドバー内のfavorite
タブをクリックするとお気に入り(Favoriteビュー)が表示される。

お気に入りはドラッグ&ドロップで直接編集可能。また、お気に入りの設定ファイル
(キャッシュディレクトリ内にあるfavorite.xml)はXML形式なので手動で編集しても可。


登録方法

(1) スレ一覧(board)、スレ(article)などの各ビューのタブをFavoriteビューにドラッグ&ドロップ
(2) 各ビューのお気に入りボタンを押す
(3) boardビューでctrl+クリックで複数のスレを選択 -> Favoriteにドラッグ&ドロップ
(4) boardビューでctrl+クリックで複数のスレを選択 -> 右クリック -> お気に入りに登録 
(5) 画像アイコンをFavoriteにドラッグ&ドロップ
(6) 画像(image)ビューで右クリック -> お気に入りに登録 


削除方法

(1) Favoriteビューでctrl+クリックで複数のスレを選択 -> 右クリック -> 削除
(2) Favoriteビューでctrl+クリックで複数のスレを選択 -> delete キー



//////////////////////////////////////////////////////////////
//
// 板移転について
//

Fileメニューから板リストを再読込したときに移転した板があるときは自動で移転処理する。




//////////////////////////////////////////////////////////////
//
// 外部板登録
//

現在の対応板

2ch互換板
livedoorしたらば
まちBBS


まちBBSはListビューに表示される(表示されてい無い時は板一覧を更新する)。

その他の板を登録するにはキャッシュディレクトリにある etc.txt にアドレスを書く。
登録した板はEtcビューに表示される。


etc.txtの形式はnavi2ch互換で

板の名前
板のURL
板のID

の順。なお板のIDはJDでは使用しないので適当で可。またURLの最後は必ず'/'で終わらせること。

(例)

Linux板
http://pc8.2ch.net/linux/
linux
JBBSの板(適当)
http://jbbs.livedoor.jp/computer/123456/
123456



//////////////////////////////////////////////////////////////
//
//  操作方法
//


・共通操作

h, 左: 前のビューに戻る(例えばArticleビューならBoardビューに戻る)
l, 右: 次のビューに進む
Alt + x : Boardview <-> Article 切替え (2ペーンモード時)
q, Ctrl+w : 閉じる
s, F5 : 再読込
ESC : ロード停止
ctrl + h, ctrl + 左, ctrl + Pageup, Ctrl + Shift + Tab : 左のタブへ移動
ctrl + l, ctrl + 右, ctrl + PageDown, Ctrl + Tab : 右のタブへ移動
タブをダブルクリック : 再読み込み
タブを中クリック : 閉じる
タブをドラッグ -> タブにドロップ :  ページの入れ替え
タブをドラッグ -> Favoriteにドロップ :  お気に入り登録


・board ←→ article の切り替え方法

デフォルトで2pane表示になっているので、boardビューとarticleビューを切り替えたいときは

(1) マウスジェスチャ(マウス右ボタンを押しながら ↓ に動かしてボタンを放す)を使う
(2) ←→キー、又は h,l キー又は alt+x で切り替える
(3) ctrl+w でarticleを閉じる
(4) タブで切り替える
(5) メニューのView -> 2pane のチェックを外して3paneモードにする


・検索

Ctrl+f, / : 検索ボックスにフォーカスを移して後方検索開始
? : 検索ボックスにフォーカスを移して前方検索開始
検索ボックスに検索文字列を入れてEnter: 検索開始
検索ボックスに検索文字列入れてCtrl+Enter: ( articleビューのみ ) レス抽出
Esc : 検索中止
Enter, F3, n : 後方検索
Shift+Enter, Ctrl+F3, N : 前方検索

( articleビューのみ )単語をスペースで分けて検索すると全ての単語を検索する



・List、Etc、Favoriteビューの操作

j , 下 : １行下
k, 上 : １行上
h, 左 : ディレクトリ閉じる
l, 右 : (ディレクトリが開いてないなら)ディレクトリを開く
space : 板を開く
del : 選択行削除( Favorite のみ )

行を中ボタンクリック : 板をタブで開く
Ctrl+クリック : 複数行選択



・Boardビューの操作

基本操作はListビューと同じ

del : 選択スレのキャッシュ削除

選択スレをドラッグ -> Favoriteにドロップ : 選択スレをお気に入りに登録 
列名クリック : ソート状態変更

列幅の変更は、最後に閉じたBoardビューの幅が記憶されるので
他のBoardビューを全て閉じてからおこなうこと


・ Articleビューの操作

多段ポップアップの方法

ポップアップ表示されている時にマウスの右ボタンをクリックし、そのままボタンを離さずに
カーソルを動かすと、ポップアップが固定されて閉じなくなるのでカーソルを他のホップアップ
の上に移動できる。ポップアップの外にカーソルが出ると閉じる

本文中の数字を範囲選択してマウスポインタを上に移動 : 対応したレスをポップアップ表示
本文中の"ID:〜"を範囲選択してマウスポインタを上に移動 : ID抽出してポップアップ表示

何もないところで中クリック : オートスクロール開始
何もないところで右クリック : 通常メニュー表示

レスアンカーの上でクリック : メニュー表示
レスアンカーの上で中クリック : 対象の周辺のレスを抽出して別のタブに表示
レスアンカーの上で右クリック : 通常メニュー表示

レス番号の上でクリック : メニュー表示
レス番号の上で中クリック : ブックマーク設定/解除
レス番号の上で右クリック : 現在のレスを参照しているレスを抽出してポップアップ表示

IDの上でクリック : メニュー表示
IDの上で中クリック : ID抽出して別のタブに表示
IDの上で右クリック : ID抽出してポップアップ表示

リンクの上でクリック : 開く
リンクの上で右クリック : 通常メニュー表示

画像リンクの上でクリック : 開く
画像リンクの上で中クリック : バックグラウンドで開く
画像リンクの上で右クリック : 通常メニュー表示

ESC: ロード停止、ポップアップ表示を消す

Space, PageDown : １ページ下
d : 半ページ下
j , 下 : １行下

b, PageUp : １ページ上
u : 半ページ上
k, 上 : １行上

F2 : 次のブックマークに移動
Ctrl+F2 : 前のブックマークに移動

Home, g, < : Home
End, G, > : End
F4 : 新着へ移動

w : 書き込みウィンドウ表示


・ Messageビューの操作

alt + c : 書き込みをキャンセル
alt + w : 書き込み実行


・ Imageビューの操作

マウスでドラッグ : 画面スクロール
ダブルクリック : 画像再読み込み
中クリック : 閉じる
右クリック : メニュー表示

z: 元の画像サイズ
x: 画像を画面にフィットさせる
+: 画像の拡大
-: 画像の縮小
c: 画像のモザイク解除
Ctrl+s : 保存
Delete : 削除


//////////////////////////////////////////////////////////////
//
//  マウスジェスチャ
//

右ボタンを押しながら下のジェスチャを入力しボタンを放すとコマンドが実行される

← : 前のビューに戻る
→ : 次のビューに進む
↓→: 閉じる
↑↓ : 再読込
↑ : ロード停止(Escape)
↓ : Boardview <-> Article 切替 (2ペーンモード時)
↑← : 左のタブへ移動
↑→ : 右のタブへ移動
→↑ : Home
→↓ : End
→↓→ : 新着へ移動
↓←: 書き込み
↓↑ : 画像のモザイク解除




//////////////////////////////////////////////////////////////
//
//  履歴 
//

- 1.51b.060601

64bit対応パッチを当てた
articleviewで検索したときに再描画がかからない時があるバグを修正
articleviewで検索対象の文字列が最後のレスに含まれているとリンク下線がずれるバグを修正
一度articleviewを閉じないと最初にブックマークしたレスにジャンプ出来ないバグを修正
ダブルクリックで板やスレを開けないバグを修正
articleviewの行間幅を真面目に計算で求めるようにした
手動で下線や改行位置を調節できるようにした( adjust_underline_pos, adjust_line_space )
画像をオリジナルサイズで最初から開けるようにした( zoom_to_fit )
板のプロパティでhanaの確認と削除を出来るようにした
cookieを真面目に解析して作成するようにした(PON,NAME,MAILを取得)
ヘルプメニューからサポートBBSにアクセス出来るようにした


- 1.50.060601

誤った正規表現を入力すると落ちるバグを修正
正式版リリース


- 1.5rc.060528

hana仕様変更対応


- 1.5rc.060527

タブを中クリックで全て閉じると落ちるバグを修正
hanaに暫定対応
テスト項目消化


- 1.5b.060522

フォーカスアウト周りの処理をKDEなどの環境に合わせて変えるのを止めた
→GdkEventCrossingのmodeをみてフォーカスアウトするかどうか決定


- 1.5b.060518

KDE環境でリンクをクリックしても反応が無い問題を修正
KDE環境で多重ポップアップ出来ない問題を修正
まちBBSでレスの引用書き込みが出来なかったバグを修正
gtk2-2.9のツリービューのパス取得の仕様が変わったせいで固まるバグを修正


- 1.5b.060514 フィーチャーフリーズ

キーワードやIDなどを抽出するときは抽出元のスレの隣にタブを開くようにした
マウスジェスチャやショートカットキーボタンの設定を細かく出来るようにした
名前がデフォルトの名無しの時は数字をアンカーにしないようにした
sprintfになっていた部分をsnprintfに直した
FreeBSDでhistoryがセグフォ出していた問題を修正
書き込み確認のダイアログを表示するようにした( always_write_ok )
書き込み中に「書き込み中」と表示するようにした
書き込みがタイムアウトしたら再読みしろというダイアログを出すようにした
FreeBSDでもautogen.shが通るようにした
履歴を板とスレで分けた
履歴の保持数を設定できるようにした( history_size )
板一覧でカテゴリ全体をまとめてお気に入りに登録できるようにした

(追加変更した操作)
タブをダブルクリック : 再読み込み
ダブルクリック : 画像再読み込み
alt + q : 書き込みをキャンセル ( alt + c から変更 )


- 1.5b.060415

configure.inを修正
libgnomeuiでは無くてXSMPをデフォルトで使用するようにした
ポップアップ中にマウスホイールを回したらポップアップの方をスクロールさせるようにした
ポップアップとカーソルの間のマージンを設定出来るようにした( margin_popup )
板一覧でカテゴリをひとつだけしか開かないように設定可能にした( open_one_category )
メニューにショートカットキーを表示するようにした
設定ファイル(keyconf.xml)でキーバインディングを設定出来るようにした

(追加変更したショートカットキー)
alt + c : 書き込みをキャンセル
alt + w : 書き込み実行
F3 : 新着へ移動が次検索と被っていたのでF4に変更


- 1.5b.060401

gnomeセッションを終了時にセッション情報を保存するようにした(要libgnomeui-devel)
configure.in.vineを消してconfigure.inひとつに統一した
コンパイルオプションに-Wallを付けて出てきた警告を全部消した


- 1.5b.060319

自前のツールチップの表示部を作りなおした(背景色をテーマに合わせるようにした)
タブの色がテーマによっては変になるバグを修正
"123-124"みたいなアンカーがあるとき、半角の"-"も認識するようにした
いつの間にかポップアップでスクロールバーが出なくなっていたので修正
SIGINTやSIGHUPを受け取ったときにお気に入りをバックアップするようにした(テスト不十分)
ローダがget_addrinfoに失敗すると落ちるバグを修正


- 1.5b.060311

他のスレをポップアップした直後にそのスレを消して再ポップアップすると落ちるバグを修正
ロード開始直後にすぐスレを閉じると落ちるバグを修正
キャッシュのルートディレクトリがうまく設定できないバグを修正
正規表現クラス実装
rawモード読み込み対応(?)
まちBBSの読み書きに対応(スレ立てはテスト出来ないので未実装)
bbslist,board,articleビューで正規表現による抽出・検索機能実装
範囲指定のみでXのバッファに文字列をコピーするようにした
多重起動防止実装( ロックファイルは (キャッシュルート)/JDLOCK )
ファイルローダでsendしたときのエラーチェックがいい加減だった問題を修正
zlib1.1系に対応(-DUSE_OLDZLIB)
その他ファイルローダの安定化
articleビューでスクロール時の負荷を大幅に減らした
HTMLパーサを少しだけ最適化
リンクの上を範囲選択してマウスを上げると開いてしまうバグを修正
オートスクロール中にキーを押すとスクロールが止まるバグを修正
画像インジケータのアイコン画像の比率が変だったバグを修正
板別に最後にソートした列を記録するようにした
windowを最大化/最大化解除したときにタブの幅を調整するようにした
jd.spec, jd.png、jd.desktopを付属( thanks to 189, 190氏 )
その他細かい修正


- 1.5b.060219

ファイルロード時にconnectに失敗していてもsendしていた問題を修正


- 1.5b.060214

アイコンバーのアイコンを並び替えるとスクロールが変になるバグを修正
画像のロード中に画像保存ダイアログを開くとロードが停止するバグを修正
名前欄のトリップの中の数字をリンクしないようにした
Fileメニューにお気に入り保存を追加

(追加、変更したショートカットキー、マウスジェスチャ)
F3 : 新着へ移動
→↓→ : 新着へ移動
z: 元の画像サイズ
x: 画像を画面にフィットさせる
+: 画像の拡大
-: 画像の縮小
c: 画像のモザイク解除  ( x から変更、gthumbに合わせるため )



- 1.5b.060207

ファイルローダで一度タイムアウトすると再読み込みしなくなるバグを修正
縦3paneモード実装


- 1.5b.060205

subject.txtが壊れていると落ちるバグを修正
ファイルローダでsend時にタイムアウトしているのにエラーチェックを素通りしていたバグを修正
ファイルローダをhttps対応にした
ファイルロード中にロード停止したときの反応を良くした
Gtk::Stock::MEDIA_RECORDを使うのを止めた


- 1.5b.060204

コードを大幅整理(特にスレ標示部)
ユニコード文字参照に対応
書き込み中にarticleビューの書き込みボタンを押してもmessageを閉じないようにした


- 1.5b.060115

履歴をクリアした後板を開くと落ちるバグを修正
ツリービューのスクロール処理を自前でするようにした( .jdrcのtree_scroll_sizeで調整 )
ダブルクリックで文字列を範囲選択出来るようにした


- 1.5b.060113

GLIBのスレッド初期化忘れを修正
コンパイルオプションに -DNOUSE_MS932 を与えるととCP932で文字コード変換するようにした
iconvでMS932からUTF8にマッピング出来なかった文字を□に変換するようにした
起動時のimageの復元機能実装
SETTING.TXTのローダ作成
操作性向上(主にタブ操作、画像操作まわり)


- 1.5b.060106

favoriteで名前が変更出来ないバグを修正
画像を保存した後に画像をダウンロードすると固まるバグを修正
起動時のboard,articleの復元機能実装
history機能実装
文字参照の一部を実装(thinsp, ensp, emsp, etc.)


- 1.0.060101 

リリース
