{"action":"created","issue":{"url":"https://api.github.com/repos/ma8ma/JD/issues/2","repository_url":"https://api.github.com/repos/ma8ma/JD","labels_url":"https://api.github.com/repos/ma8ma/JD/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/ma8ma/JD/issues/2/comments","events_url":"https://api.github.com/repos/ma8ma/JD/issues/2/events","html_url":"https://github.com/ma8ma/JD/pull/2","id":365130162,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE5MTQ2Mzgy","number":2,"title":"[IDEA] gtk3の実験的サポート R2","user":{"login":"ma8ma","id":15698961,"node_id":"MDQ6VXNlcjE1Njk4OTYx","avatar_url":"https://avatars2.githubusercontent.com/u/15698961?v=4","gravatar_id":"","url":"https://api.github.com/users/ma8ma","html_url":"https://github.com/ma8ma","followers_url":"https://api.github.com/users/ma8ma/followers","following_url":"https://api.github.com/users/ma8ma/following{/other_user}","gists_url":"https://api.github.com/users/ma8ma/gists{/gist_id}","starred_url":"https://api.github.com/users/ma8ma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ma8ma/subscriptions","organizations_url":"https://api.github.com/users/ma8ma/orgs","repos_url":"https://api.github.com/users/ma8ma/repos","events_url":"https://api.github.com/users/ma8ma/events{/privacy}","received_events_url":"https://api.github.com/users/ma8ma/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-29T12:56:17Z","updated_at":"2018-09-29T17:02:20Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/ma8ma/JD/pulls/2","html_url":"https://github.com/ma8ma/JD/pull/2","diff_url":"https://github.com/ma8ma/JD/pull/2.diff","patch_url":"https://github.com/ma8ma/JD/pull/2.patch"},"body":"*このPRはマージしません*\r\ngtkmm-2.4のかわりにgtkmm-3.0を使ってJDをビルドするオプションを追加します。\r\n\r\n[INSTALL](https://github.com/ma8ma/JD/blob/gtk3-idea-r2/INSTALL)や[README.md](https://github.com/ma8ma/JD/blob/gtk3-idea-r2/README.md)にも情報が載っているのでそちらも参照してください。\r\n\r\n## 注意\r\n* **開発版(alpha)の段階なのでビルドに失敗したり、動作中にクラッシュ、フリーズやメモリリークする可能性があります。**\r\n* gtk2/3でUIのルック・アンド・フィールが異なる部分があります。\r\n* 応急処置/暫定の変更が含まれています。\r\n* ビルドのオプションに関係なく**プロファイルは共通**です。大事なデータはバックアップをしてから試してください。\r\n\r\n## 要件\r\nJDの導入方法に加えて以下が必要です\r\n* C++11に対応したコンパイラ\r\n* `gtkmm-3.0` (バージョン3.18以上を推奨、Ubuntuでは`libgtkmm-3.0-dev`をインストール)\r\n* `AX_CXX_COMPILE_STDCXX_11`を使うためのautoconfのパッケージ(Ubuntuでは`autoconf-archive`をインストール)\r\n\r\n## configureのフラグ\r\n* `--with-gtkmm3` gtkmm-2.4のかわりにgtkmm-3.0を使う（デフォルトは=no）\r\n* `--with-stdthread` pthreadのかわりにstd::threadを使う（デフォルトは=no）\r\n\r\n２つのフラグは独立しているのでgtkmm3とpthreadまたはgthreadの組み合わせでビルドできます。（逆にgtkmm2とstdthreadの組み合わせも可能）\r\n\r\n## ビルド\r\nリモートを追加してgtk3-idea-r2ブランチをフェッチしチェックアウトするかリポジトリをクローンします。\r\n./configureのフラグを追加してビルドしてください\r\n```bash\r\n# 既存のリポジトリにリモートを追加する場合\r\n$ cd /path/to/JD\r\n$ git remote add ma8ma https://github.com/ma8ma/JD.git\r\n$ git fetch ma8ma gtk3-idea-r2\r\n$ git checkout -b gtk3-idea-r2 --track remotes/ma8ma/gtk3-idea\r\n$ autoreconf -i\r\n$ ./configure (...) --with-stdthread --with-gtkmm3\r\n$ make\r\n```\r\n\r\n## 既知の問題\r\n* gtk3のビルドで板ビューのマウスホイールによるスクロールが動作しない\r\n  → 環境変数`GDK_CORE_DEVICE_EVENTS=1`を設定します\r\n* gtk3のビルドではタブの上でマウスホイールをしてもスレッドや板が切り替わらない  \r\n  → gtk3で機能が削除されています\r\n* LXDEでgtk2のビルドを動作させると特定の状況（ポップアップが被っていた場所やタブのドラッグ後）でスレビューが描画が汚くなることがある\r\n  → LXDE + gtk2 + cairoの組み合わせは相性が悪い？\r\n* GTKテーマによってはUIの配色に問題がある\r\n\r\n## 修正の説明\r\n\r\n### jd-2.90.0-alpha180915 (ma8ma/JD#1) からの変更点\r\nスタイルや不具合を修正したPRであり、機能の追加/削除など大きな変更はありません。\r\n\r\n* コーディングスタイルを変更し1行の最大文字数は設定しなくなった。\r\n  コードは読みやすい位置で改行する。\r\n* README.mdやINSTALLに情報を追加しC++11の機能を使うことを明確にした。\r\n* 新たに見つけた不具合を修正した。\r\n* 複雑だったコードを書き直した。\r\n\r\n### 修正のルール\r\n\r\n#### コーディングスタイル\r\n* clang-formatで修正した部分を整形しています。（一部は手直し）\r\n* JDのコードをベースに設定を作っていますが、設定できないスタイルや意図的に変更したポイントがあります。(https://github.com/ma8ma/JD/commit/08922a02e110c669d55e28d34a1201a080a09f34 を参照)\r\n\r\n#### コミット\r\n* コミットメッセージのサブジェクトの先頭に修正タイプをつけています (E=compile error, C=crash, B=behavior)\r\n* 変更の余地が大きいコミットとして`QUICKFIX`は応急処置、`PROVISIONAL`は暫定を表します\r\n* コミットは大別してgtk2から有効な変更`[gtk2]`とgtk3にのみ影響を与える変更`[gtk3]`があります\r\n\r\n#### 実装の方針\r\n* gtkの機能を使います(同じような機能は作らない)\r\n* 実装の詳細を使う(gtkのソースコードを引用する)ロジックは避けます\r\n* gtk3で削除された機能は自前で再実装しません\r\n"},"comment":{"url":"https://api.github.com/repos/ma8ma/JD/issues/comments/425660013","html_url":"https://github.com/ma8ma/JD/pull/2#issuecomment-425660013","issue_url":"https://api.github.com/repos/ma8ma/JD/issues/2","id":425660013,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNTY2MDAxMw==","user":{"login":"naniwaKun","id":11040100,"node_id":"MDQ6VXNlcjExMDQwMTAw","avatar_url":"https://avatars3.githubusercontent.com/u/11040100?v=4","gravatar_id":"","url":"https://api.github.com/users/naniwaKun","html_url":"https://github.com/naniwaKun","followers_url":"https://api.github.com/users/naniwaKun/followers","following_url":"https://api.github.com/users/naniwaKun/following{/other_user}","gists_url":"https://api.github.com/users/naniwaKun/gists{/gist_id}","starred_url":"https://api.github.com/users/naniwaKun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naniwaKun/subscriptions","organizations_url":"https://api.github.com/users/naniwaKun/orgs","repos_url":"https://api.github.com/users/naniwaKun/repos","events_url":"https://api.github.com/users/naniwaKun/events{/privacy}","received_events_url":"https://api.github.com/users/naniwaKun/received_events","type":"User","site_admin":false},"created_at":"2018-09-29T17:02:20Z","updated_at":"2018-09-29T17:02:20Z","author_association":"NONE","body":"ArchLinuxにおけるAURのパッケージをjdk3-idea-r2にアップデートいたしました。\r\n以降、AURを用いてのインストールではjdk3-ideaのブランチには依存しません。Archにおけるインストール方法に変更はありません。どうぞよろしくお願い致します。"}}
{"actor":{"display_login":"naniwaKun"}}