https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2016-09-10T06:48:42Z
やること
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=1971
2016-09-10T06:48:42Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ステータス</strong> を <i>新規</i> から <i>実装待ち</i> に変更</li><li><strong>担当者</strong> を <i>Katsuyoshi MATSUMOTO</i> にセット</li></ul><p>メインの担当者として、Rubykaigi2016でこの件に関して名乗りを挙げてくれたkatsyoshiをアサインします。</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=1975
2016-09-12T23:17:07Z
toshi_a 初音
toshi.alternative@gmail.com
<ul></ul><p>どんな起動オプションでやってる?<br />俺はとりあえずgtk3だけ読み込むために</p>
<blockquote>
<p>mikutter --confroot=/tmp/mikutter.887 --plugin=gtk3 --debug</p>
</blockquote>
<p>みたいなことをしている。情報共有を円滑にするために起動オプション(厳密にはロードするプラグイン)共有してほしいです</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=1982
2016-09-16T00:54:21Z
Katsuyoshi MATSUMOTO
github@katsyoshi.org
<ul></ul><blockquote>
<p>どんな起動オプションでやってる?</p>
</blockquote>
<p>基本的にまだ絞り込んでない</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=3637
2018-08-26T03:58:18Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>こんにちは.gtk3対応に興味があったのでやってみています. <a class="external" href="https://github.com/yuntan/mikutter/tree/gtk3">https://github.com/yuntan/mikutter/tree/gtk3</a> に置いてます.topic/887-gtk3をmaster(557b03b)にrebaseしてその続きで作業しています.起動できるところまで作業を進めましたが,<code>MiracrlePainter</code>で苦戦しています.</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=3643
2018-08-26T21:34:34Z
Osamu Koga
osak.63@gmail.com
<ul></ul><p>すごい。<br />さっそく<a href="https://github.com/yuntan/mikutter/commit/7a1a902f201a5c21721c252975e9788ce0159c80" class="external">7a1a902f</a> を手元で動かしてみたところ、初回起動時に paneの <code>page_added</code> が発火したところで落ちてしまいました。<br />デバッグのため、 <code>pry</code> と <code>pry-stack_explorer</code> をGemfileに追加しています。</p>
<pre>
% bundle exec ruby mikutter.rb --debug --confroot=dummy
(エラーまで省略)
From: /home/osamu/app/mikutter-gtk3/core/utils.rb @ line 131 Object#into_debug_mode:
=> 131: def into_debug_mode(exception = nil, bind = binding)
132: if Mopt.debug and not Mopt.testing
133: require_if_exist 'pry'
134: if binding.respond_to?(:pry)
135: log "error", exception if exception
136: $into_debug_mode_lock.synchronize {
137: begin
138: $into_debug_mode = Set.new
139: bind.pry
140: ensure
141: threads = $into_debug_mode
142: $into_debug_mode = false
143: threads.each &:wakeup end }
144: return true end end end
[1] pry(#<Plugin>)> show-stack
Showing all accessible frames in stack (22 in total):
--
=> #0 into_debug_mode <Object#into_debug_mode(exception=?, bind=?)>
#1 [method] mon_synchronize <MonitorMixin#mon_synchronize()>
#2 [method] into_debug_mode <Object#into_debug_mode(exception=?, bind=?)>
#3 [method] type_strict <Object#type_strict(args, &proc)>
#4 [block] block (3 levels) in <top (required)>
#5 [block] block in define_method <Gtk::Notebook#append_page(*arguments, &block)>
#6 [method] widget_join_tab <self.widget_join_tab(i_tab, widget)>
#7 [block] block (2 levels) in <top (required)>
#8 [method] call <Pluggaloid::Listener#call(*args)>
#9 [block] block (2 levels) in call_all_listeners <Pluggaloid::Event#call_all_listeners(args)>
#10 [block] block in call_all_listeners <Pluggaloid::Event#call_all_listeners(args)>
#11 [method] call_all_listeners <Pluggaloid::Event#call_all_listeners(args)>
#12 [block] block in call <Pluggaloid::Event#call(*args)>
#13 [method] run <Delayer::Procedure#run()>
#14 [method] run_once <Delayer::Extend#run_once()>
#15 [method] run <Delayer::Extend#run(current_expire=?)>
#16 [method] method_missing <Delayer.method_missing(*args, &proc)>
#17 [block] block in boot <#<Module:0x000055ec221094d8>.boot()>
#18 [block] block in define_singleton_method <Gtk.main(*arguments, &block)>
#19 [method] mainloop <Mainloop#mainloop()>
#20 [method] boot! <Object#boot!(profile)>
#21 [main] <main>
[2] pry(#<Plugin>)> f 4
NoMethodError: undefined method `f' for #<Plugin:0x000055ec2058b5f8>
from /home/osamu/.gem/gems/pluggaloid-1.1.1/lib/pluggaloid/plugin.rb:257:in `method_missing'
[3] pry(#<Plugin>)> frame 4
Frame number: 4/21
Frame type: block
From: /home/osamu/app/mikutter-gtk3/core/plugin/gtk3/gtk3.rb @ line 109 :
104: false }
105: pane.ssc(:switch_page){ |this, page, pagenum|
106: if pagenum == pane.page
107: i_pane.set_active_child(pane.get_nth_page(pagenum).i_tab, true) end }
108: pane.signal_connect(:page_added){ |this, tabcontainer, index|
=> 109: type_strict tabcontainer => ::Gtk::TabContainer
110: Plugin.call(:rewind_window_order, i_pane.parent) if i_pane.parent
111: i_tab = tabcontainer.i_tab
112: next false if i_tab.parent == i_pane
113: Plugin.call(:after_gui_tab_reparent, i_tab, i_tab.parent, i_pane)
114: i_pane.add_child(i_tab, index)
[4] pry(#<Plugin>)> tabcontainer
=> #<Gtk::Box:0x55ec22dd4de8 ptr=0x55ec24b8b490>
</pre>
<p>環境は以下の通りです。<br /><pre>
[2018-08-26 16:31:36-0500][/home/osamu/app/mikutter-gtk3]
osamu@glados(gtk3|✚1…)> pkg-config --modversion gtk+-3.0
3.22.30
[2018-08-26 16:31:41-0500][/home/osamu/app/mikutter-gtk3]
osamu@glados(gtk3|✚1…)> bundle exec ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
</pre></p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=3644
2018-08-26T22:16:54Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>担当者</strong> を <i>Katsuyoshi MATSUMOTO</i> から <i>toshi_a 初音</i> に変更</li></ul><p>良いですね。これを基準に進めましょう。</p>
<p>こちらで試したところおさけーさんと同様のエラーが発生したようです。まとまった時間が取れないので詳しいことは調べていません。</p>
<p>MiraclePainterは、gtk3に移行するには問題を抱えているため、一度Gtk依存を取り除こうと試みています( <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="機能: Miracle Painter 2 (却下)" href="https://dev.mikutter.hachune.net/issues/1245">#1245</a> )。<br />が、gtk3のことを何もわかっていないので、先にそっちを理解してからMiraclePainterも作業をしないと二度手間にならないかなぁ、と迷っていたりもします。</p>
<p>担当者は、一旦katsyoshiさんより比較的反応が可能な私に変更しておきます。</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=3645
2018-08-27T01:25:40Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><blockquote>
<p>さっそく7a1a902f を手元で動かしてみたところ、初回起動時に paneの page_added が発火したところで落ちてしまいました。</p>
</blockquote>
<p>ありがとうございます.未コミットの変更がありました. d6f939a だと上手くいくはずです.</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4178
2019-09-15T02:08:19Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ブロック元</strong> <i><a class="issue tracker-2 status-2 priority-4 priority-default" href="/issues/1380">機能 #1380</a>: Gtk::CRUDに依存しているコードを減らす</i> を追加</li></ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4268
2019-10-04T13:48:15Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>TODOです.</p>
<ul>
<li><code>MiraclePainter</code>を<code>GtkTreeView</code>から独立した<code>GtkWidget</code>とする</li>
<li><code>GtkTimeline</code>を<code>GtkTreeView</code>から,gtk3で新設された<code>GtkListBox</code>に移行する</li>
</ul>
<p>めでたくコミッタになったので,GitHubに上げてたbranchをこちらにpushしようと思います.</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4269
2019-10-04T15:44:26Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>動作がかなり不安定(表示されたりされなかったりする)ですが,MiraclePainterを表示させることが出来ました.</p>
<p><img src="https://i.gyazo.com/bc5c3bfdeb91ecc3440d358c828ed1b6.png" alt="" /></p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4270
2019-10-09T13:43:38Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p><code>MiraclePainter</code>を<code>Gtk::Widget</code>のサブクラスとして再実装できそうです.タイムラインを<code>TreeView</code>から<code>ListBox</code>にして,中に<code>Widget</code>を詰めるというのをやってみました.元の<code>MiraclePainter</code>のcairoを用いた描画処理がそのまま使えるので,そこまででかい変更にはならなさそうです.</p>
<p><img src="https://i.gyazo.com/6da21131f08f9e3720411818f6a57aaa.png" alt="" /></p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4275
2019-10-13T02:39:50Z
toshi_a 初音
toshi.alternative@gmail.com
<ul></ul><p>これ試したいんですが、どこにpushされてますか?(まだしてない?)</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4276
2019-10-13T04:13:15Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>pushしてないです</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4278
2019-10-13T05:19:30Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul><li><strong>担当者</strong> を <i>toshi_a 初音</i> から <i>ふぇのまー 葱野</i> に変更</li><li><strong>対象バージョン</strong> を削除 (<del><i>4.0</i></del>)</li></ul><p><code>topic/887-gtk3-yuntan</code>にpushしました.</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4279
2019-10-13T05:20:23Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul><li><strong>担当者</strong> を <i>ふぇのまー 葱野</i> から <i>toshi_a 初音</i> に変更</li><li><strong>対象バージョン</strong> を <i>4.0</i> にセット</li></ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4280
2019-10-13T05:20:55Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul></ul><p>なんもしてないのにフィールドが変になった.</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4626
2020-06-12T14:35:33Z
Yuto Tokunaga
yuntan.sub1@gmail.com
<ul><li><strong>関連している</strong> <i><a class="issue tracker-12 status-6 priority-4 priority-default closed" href="/issues/1453">提案 #1453</a>: gtk3: MiraclePainterをGtk::Widgetベースの実装に書き直す</i> を追加</li></ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4788
2021-09-08T15:02:59Z
Shibafu Midorino
<ul></ul><p>お久しぶりです。現在 <code>topic/887-gtk3-shibafu</code> にて下記の作業を実施しています。</p>
<ul>
<li>最新のdevelopへの追従</li>
<li>gtk3 3.4.9 を採用し、upstreamに取り込まれたvirtual function実装サポートを使うよう書き換え</li>
</ul>
<p>2つ目に関しては課題が残っており、upstreamにpatchを投げています。それが取り込まれるまでは <code>plugin/gtk3/patch.rb</code> でモンキーパッチしてやり過ごします。</p>
<p>作業が完了したらどこからやりましょうかね〜</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4789
2021-09-08T16:19:12Z
Shibafu Midorino
<ul></ul><p>一旦最新のdevelop <a class="changeset" title="refactoring refs #1490" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/86b703388eee78e8c8271f8065f01448d11a1025">86b703388eee78e8c8271f8065f01448d11a1025</a> までマージしましたが、直近の変更が大規模なプラグイン分割だったこともあり、見落としているデグレがいくらでもありそうです。</p>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4790
2021-09-09T15:39:32Z
Shibafu Midorino
<ul></ul><p>気づいたことメモ</p>
<ul>
<li>TLコンテキストメニューの項目を選択しても、warningログが出力されるだけで何も実行されない<br /><pre>
/home/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:614: warning: GRClosure invoking callback: already destroyed: GtkMenu::deactivate
/home/shibafu/git/mikutter-gtk3/vendor/bundle/ruby/3.0.0/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:614: warning: GRClosure invoking callback: already destroyed: GtkImageMenuItem::activate
</pre>
<ul>
<li>恐らくgemにメモリ管理のバグがある。Gtk::Menuをどこかのインスタンス変数等にバインドしておけば回避できる。</li>
</ul>
</li>
<li><del>TLで右クリックした時、マウスポインタの位置の要素が選択された状態にならない</del> → <a class="issue tracker-1 status-5 priority-4 priority-default closed child" title="バグ: gtk3: Timelineで右クリックした位置の要素は選択状態になってほしい (終了)" href="https://dev.mikutter.hachune.net/issues/1499">#1499</a></li>
<li><del>タブを切り替えようとしても切り替わらないか、表示が切り替わり続ける?ような動作を起こすことがある</del> fixed <a class="changeset" title="[gtk3] タイムラインを2回以上切り替えるとループが発生するのを修正" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/b194ce6dfc8782f32b0b5ce4d4ac71b748761324">b194ce6dfc8782f32b0b5ce4d4ac71b748761324</a></li>
<li><del>Intentダイアログの中身が空になる</del> → <a class="issue tracker-1 status-5 priority-4 priority-default closed child" title="バグ: gtk3: Intentやカスタム投稿のダイアログに何も表示されない (終了)" href="https://dev.mikutter.hachune.net/issues/1493">#1493</a></li>
</ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=4960
2021-10-31T08:51:24Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>対象バージョン</strong> を <i>4.0</i> から <i>5.0</i> に変更</li></ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=5080
2021-12-12T05:35:56Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ブロック元</strong> を削除 (<i><a class="issue tracker-2 status-2 priority-4 priority-default" href="/issues/1380">機能 #1380</a>: Gtk::CRUDに依存しているコードを減らす</i>)</li></ul>
mikutter - 機能 #887: gtk3
https://dev.mikutter.hachune.net/issues/887?journal_id=5081
2021-12-12T05:36:42Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ステータス</strong> を <i>実装待ち</i> から <i>終了</i> に変更</li><li><strong>プラグイン名</strong> を <i>gtk3</i> にセット</li></ul><p>merged.</p>