ここに書かれていない詳細についてはオンラインマニュアルやリポジトリを参照してください。
JDim (JD improved) は gtkmm/GTK+ を使用した"2ちゃんねる"型マルチスレッドBBSを閲覧するためのブラウザです。 JDim は GPLv2 の下で公開されている JD からforkしたソフトウェアであり、 ルック・アンド・フィールや環境設定は JD と互換性があります。
注意: JDim本体は5ch.netのAPIに対応しておりません。 ご不便をおかけして申し訳ありませんが、5ch.netにアクセスする場合はWebブラウザなどをご使用ください。
LinuxなどのUnixライクなOS(FreeBSD,OpenBSD,Nexenta,MacOSXでも動作報告例があります)。 WindowsではMinGWを使ってビルド可能ですが、動作はまだ安定していないようです。
gtkmmのバージョンが2.18未満のプラットフォームはサポートを終了しました。 CentOS 6(2011年)より前にリリースされたディストリビューションを利用されている場合は更新をお願いいたします。
ソースコードからJDimをビルドします。デフォルトの設定ではGTK2版がビルドされますのでご注意ください。 詳細は INSTALL にも書いてあります。
ツールチェーンとライブラリをインストールします。一度インストールすれば次回から事前準備はいりません。
GTK2版
dnf install gtkmm24-devel gnutls-devel libSM-devel libtool automake autoconf-archive git
GTK3版 - gtkmm24-devel
のかわりに gtkmm30-devel
をインストールします。
dnf install gtkmm30-devel gnutls-devel libSM-devel libtool automake autoconf-archive git
sudo apt install libc6-dev make gcc g++ git
sudo vi /etc/apt/sources.list
# ↑エディタは何でも良い。deb-src行でstretch-backportsあるいはbuster以降を有効にする
sudo apt update
sudo apt build-dep jdim
開発環境が入っていない場合は、
sudo apt install build-essential automake autoconf-archive git libtool
必要なライブラリを入れます。(抜けがあるかも)
GTK2版
sudo apt install libgtkmm-2.4-dev libmigemo1 libasound2-data libltdl-dev libasound2-dev libgnutls28-dev
GTK3版 - libgtkmm-2.4-dev
のかわりに libgtkmm-3.0-dev
をインストールします。
sudo apt install libgtkmm-3.0-dev libmigemo1 libasound2-data libltdl-dev libasound2-dev libgnutls28-dev
GTK2版 (デフォルト)
git clone -b master --depth 1 https://github.com/JDimproved/JDim.git jdim
cd jdim
autoreconf -i
./configure
make
GTK3版 - ./configure にオプション --with-gtkmm3
を追加します。
git clone -b master --depth 1 https://github.com/JDimproved/JDim.git jdim
cd jdim
autoreconf -i
./configure --with-gtkmm3
make
実行するには直接 src/jdim を起動するか手動で /usr/bin あたりに src/jdim を cp します。
GTK3版のビルドファイルはAURで公開されています。(Thanks to @naniwaKun.)
https://aur.archlinux.org/packages/jdim-git/
AUR Helper yay でインストール
yay -S jdim-git
詳しいインストールの方法は 本家のwiki を参照してください。
-
buildの高速化
make するときに
-j job数
(並列処理の数) を指定すれば高速にコンパイルできます。 使用するCPUのコア数と相談して決めてください。 -
CPUに合わせた最適化
./configure
を実行するときにCPUの種類(-march=ARCH
や-mcpu=CPU
)と最適化レベル(-O
)をCXXFLAGS
に設定します。./configure CXXFLAGS="-march=core2 -O2"
マシンのCPUは下のコマンドで調べることができます。(GCCの最適化 - Gentoo Wikiより)
gcc -Q -c -march=native --help=target -o /dev/null | grep "march\|mtune\|mcpu"
-
configureチェック中に
AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
に関連したエラーがでた場合ubuntuでは
autoconf-archive
をインストールしてautoreconf -i
からやり直してみてください。 パッケージが見つからないまたはエラーが消えない場合は以下の手順を試してみてください。configure.ac
のAX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
の行を削除する。autoreconf -i
でconfigure
を作りconfigureチェックをやり直す。make CXXFLAGS+="-std=c++11"
でビルドする。
もしこれで駄目な場合はgccのversionが古すぎるので、 gccのバージョンアップをするか、ディストリをバージョンアップしてください。
GTK3版はGTK2版同様のルック・アンド・フィールになるように実装していますが、 技術的な問題やテスト不足から完全な再現はできていません。 もしお気づきの点などがございましたらご指摘いただけると幸いです。
板一覧やスレ一覧でマウスホイールによるスクロールが動作しないことがあります。
環境変数
0.2.0-20190827以降のバージョンで修正されています。GDK_CORE_DEVICE_EVENTS=1
を設定してjdimを起動するとマウスホイール機能が使えます。
# シェルからJDimを起動する場合
GDK_CORE_DEVICE_EVENTS=1 ./src/jdim
- GTK+ 3.14以上の環境でタッチスクリーンによる操作に対応した。 スレビューのタッチ操作についてはマニュアルを参照。
- 書き込みビューの配色にGTKテーマを使う設定が追加された。
- メニューバーの
設定(C) > フォントと色(F) > 詳細設定(R)...
からフォントと色の詳細設定を開く 色の設定
タブにある書き込みビューの配色設定に GTKテーマ を用いる(W)
をチェックして適用する
- メニューバーの
マウスホイールでタブを切り替える機能が動作しない環境がある。(gtk 3.20以上?)0.2.0-20190827以降のバージョンで修正されています。- タブのドラッグ・アンド・ドロップの矢印ポップアップの背景が透過しない環境がある。 (アルファチャンネルが利用できない環境)
スレビュー表示内にアスキーアート(AA)と判定されたレスがあると、スレビュー全体にAAのフォント設定が適用される。 この問題はオプション0.2.0-20190921以降のバージョンで修正されています。--with-pangolayout
を追加してビルドすると回避できる。
使い方は以下のとおりです。
$ jdim [OPTION] [URL,FILE]
引数にURLを付けて起動する事も出来るので、他のアプリケーションから外部コマンドとしてURLを開く事などが出来ます。 (JDimが扱う事の出来るURLでない場合は設定されているWebブラウザに渡されます)
$ jdim http://pc99.2ch.net/test/read.cgi/linux/1234567890/
ローカルにあるdatファイルを指定して、一時的にスレビュー表示させることも出来ます。
$ jdim ./12345.dat
環境変数 JDIM_CACHE
でキャッシュディレクトリの位置を変更・指定することが可能です。
指定しなければ下記の優先順位の通りに決まります。
$ JDIM_CACHE=~/.mycache jdim
環境変数 JDIM_LOCK
でロックファイルの位置を変更・指定することが可能です。
指定しなければ <キャッシュディレクトリ>/JDLOCK
がロックファイルになります。
$ JDIM_LOCK=~/mylock jdim
~/.jd |
$XDG_CACHE_HOME/jdim |
使われるのは… |
---|---|---|
存在する | any | ~/.jd |
存在しない | any | $XDG_CACHE_HOME/jdim |
無効化 | any | $XDG_CACHE_HOME/jdim |
NOTE: 環境変数 XDG_CACHE_HOME
が未設定または空のときはかわりに $HOME/.cache/jdim
が使われます。
オプション | 説明 |
---|---|
-h, --help | ヘルプを表示 |
-m, --multi | 多重起動時のサブプロセスであっても終了しない |
-n, --norestore | 前回異常終了した時にバックアップファイルを復元しない |
-s, --skip-setup | 初回起動時の設定ダイアログを表示しない |
-l, --logfile | エラーなどのメッセージをファイル(キャッシュディレクトリのlog/msglog)に出力する |
-g, --geometry WxH-X+Y | 幅(W)高さ(H)横位置(X)縦位置(Y)の指定。WxHは省略化(例: -g 100x40-10+30, -g -20+100 ) |
-V, --version | バージョン及びconfigureオプションを全て表示 |
マニュアルを参照してください。
JDimの環境設定はJDからフォーマットを継承しているので後方互換性があります。 また、ユーザーインタフェースの変更は今のところありません。 JDimで追加された不具合や機能の修正についてはPull requestsを見てください。
- 後方互換性としてJDのキャッシュディレクトリ(
~/.jd
)はそのまま使うことができます。 ただし、オプション--disable-compat-cache-dir
が指定されたビルドでは互換機能は無効化されます。 - 互換機能が使えないときは
$XDG_CACHE_HOME/jdim
(~/.cache/jdim
) にキャッシュディレクトリを移動してください。$ mv ~/.jd ~/.cache/jdim
- 環境変数
JD_CACHE
でキャッシュディレクトリを設定している場合はかわりにJDIM_CACHE
を使用してください。 - JDとJDimを併存させる(データや設定を共有しない)ためには環境変数によるキャッシュディレクトリの設定が必要です。 (通常の起動を参照)
© 2017-2019 yama-natuki [https://github.com/yama-natuki/JD]
© 2019 JDimproved project [https://github.com/JDimproved/JDim]
パッチやファイルを取り込んだ場合、それらのコピーライトは「JDimproved project」に統一します。
fork元の JD:
© 2006-2015 JD project [https://ja.osdn.net/projects/jd4linux/]
JDim は GPLv2 の下で公開されています。 GNU General Public License, version 2
バグ報告その他は Linux板@5ちゃんねる のJD/JDimスレ、 またはJDimのリポジトリにて行ってください。詳しい方法はガイドをご覧ください。