やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2024-03-11T12:52:32Z
やること
Redmine
mikutter - バグ #1595 (分類待ち): mastodonのストリーミング処理で失敗しているケースがある
https://dev.mikutter.hachune.net/issues/1595
2024-03-11T12:52:32Z
あひる 家鴨
<p>raw_server_sent_events_stream.rb における `to_enum` を起点として落ちていることがちょくちょくあります。<br />最後に落ちた時にエラーを記録するのを忘れていたので、後で再現されたら載っけます。</p>
<p>内容としては httpclient の session 周りから `IO::TimeoutError` が出ていた感じです。<br />雑にrescue対象に `IO::TimeoutError` を加えたら数日落ちずにSSEの再接続も動いてるっぽいのでおそらく効いてる感。</p>
<p>いずれにせよ情報があやふやなので、その辺を追記ではっきりさせた上で対応考えます。<br />同様の問題が起きてる人がいたらエラーログとかいただけるとありがたいです。</p>
mikutter - バグ #1584 (分類待ち): リプライ時のリプライ元メッセージ表示に対する領域選択が反転表示にならない
https://dev.mikutter.hachune.net/issues/1584
2022-04-03T09:39:12Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>添付動画 <a class="attachment" href="https://dev.mikutter.hachune.net/attachments/798">mikutter-replay-gtk3.mp4</a> のとおりですが、<br />選択部分の文字色が白、背景色はそのままになっているっぽいです。</p>
mikutter - バグ #1583 (分類待ち): フォント設定を変更すると適用されなくなる
https://dev.mikutter.hachune.net/issues/1583
2022-03-21T03:58:27Z
Akira Ouchi
<p><del>(標準添付されないTwitterの話題なのでどこに書くか迷ったのですがひとまずここに書きます。)</del> コメント1のとおり、どのWorldでも発生しました。</p>
<p><del>Twitter Worldで、</del> フォント設定をしても、設定が反映されず、デフォルト設定が使われてしまっています。<br />また、フォント選択後に一旦ダイアログをとじて、再度設定画面を開くと、フォント名にスペースが含まれている場合、スペースから後ろの文字列が欠損した状態になっています。<br />(本来「01FLOPDESIGN Regular」を選択しているが、Regularが削れてしまっている)</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/796/tweet-config1.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/795/tweet-sample1.png" alt="" /></p>
<p>ただし、選択したフォントの太文字・斜体のスタイルだけは適用されるようです。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/794/tweet-config2.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/793/tweet-sample2.png" alt="" /></p>
<p>Mastodon Worldでは上記のような現象は発生せず、設定したフォントが意図通り使用されています。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/791/don-settings.png" alt="" /></p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/792/don-sample.png" alt="" /></p>
<a name="環境"></a>
<h2 >環境<a href="#環境" class="wiki-anchor">¶</a></h2>
<ul>
<li>macOS Big Sur (Intel)</li>
<li>gtk3 3.24.31_0+x11 (MacPorts)</li>
<li>Ruby 3.0.3</li>
<li>ruby-gnome 3.5.1</li>
</ul>
mikutter - 提案 #1581 (分類待ち): Color Model
https://dev.mikutter.hachune.net/issues/1581
2022-01-16T03:51:58Z
toshi_a 初音
toshi.alternative@gmail.com
<p>mikutter上で色を表現するデータオブジェクトを標準提供する。</p>
<a name="やりたいこと"></a>
<h1 >やりたいこと<a href="#やりたいこと" class="wiki-anchor">¶</a></h1>
現在、色情報を利用する場面は以下のとおりだが、色の表現方法が異なる:
<table>
<tr>
<th>名前</th>
<th>形式</th>
<th>値の範囲</th>
</tr>
<tr>
<td> UserConfig </td>
<td> RGB </td>
<td> 0..0xffff </td>
</tr>
<tr>
<td> Cairo::Color::RGB </td>
<td> RGBA </td>
<td> 0..1 (Float) </td>
</tr>
<tr>
<td> Gtk::Color </td>
<td> RGB </td>
<td> 0..0xffff </td>
</tr>
<tr>
<td> Gdk::RGBA </td>
<td> RGBA </td>
<td> 0..1 (Float) </td>
</tr>
<tr>
<td> CSS </td>
<td> RGB </td>
<td> 0..0xff </td>
</tr>
</table>
<p>現状だと、色をどこで利用するかによって適切に変換しなければならない。<br />異なるクラスなのは仕方ないにしても、UserConfigからCairoに変換するために、各要素を0xffffで割るみたいな処理を毎回実装しなければならない。</p>
<p>レンダリングを行う層以外ではそういった詳細には立ち入りたくないし、現にGtk3移行のときに変換処理がバグっていたことがあった。</p>
<p>mikutterプラグインの共通の色の表現があると、こういった問題を解決できる。</p>
<a name="インターフェイス"></a>
<h1 >インターフェイス<a href="#インターフェイス" class="wiki-anchor">¶</a></h1>
<p>RGBAの要素のみを要求する。<br />精度は、各要素を8bitで返すインターフェイスと、0-1のFloatやRationalで返すインターフェイスが考えられる。<br />アルファブレンド値自体は、無いと困るケースがあるので、このデータオブジェクトで表現に対応する。</p>
<p>ディスプレイは1677万色の表現能力しか持っておらず、24bit (0-255)で十分表現できる。したがって、現在採用しているほとんどの表現形式が過剰である。<br />また、これは人間の識別精度を十分超えているらしく、mikutterのユーザは今のところ地球人のみであると考えているので、これ以上の精度は不要である。</p>
<p>以上のことから、各8bitでも十分である。</p>
<p>一方で、0-1で表現すると、計算が楽で、何をやっているのかわかりやすいというメリットがある。<br /><pre><code class="c++ syntaxhl"><span class="kt">uint16_t</span> <span class="nf">conv</span><span class="p">(</span><span class="kt">uint8_t</span> <span class="n">c</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="n">c</span> <span class="o">*</span> <span class="mh">0x101</span><span class="p">;</span>
<span class="p">}</span>
<span class="kt">uint16_t</span> <span class="nf">conv</span><span class="p">(</span><span class="kt">float</span> <span class="n">c</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="n">c</span> <span class="o">*</span> <span class="mh">0xffff</span><span class="p">;</span>
<span class="p">}</span>
</code></pre><br />ん〜どうしよっかな〜</p>
<a name="永続化について"></a>
<h1 >永続化について<a href="#永続化について" class="wiki-anchor">¶</a></h1>
<p>UserConfigは古いバージョンとの互換性のために現在の形式を維持しなければならない。</p>
<a name="表現"></a>
<h1 >表現<a href="#表現" class="wiki-anchor">¶</a></h1>
<p>各データクラスは、異なる方法でデータを保持するが、同じインターフェイスを持っている。</p>
<p>TrueColor (32bit color)<br /><pre><code class="ruby syntaxhl"><span class="no">Color</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># red</span>
<span class="no">Color</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># red</span>
<span class="no">Color</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s1">'#FF0000'</span><span class="p">)</span> <span class="c1"># red</span>
</code></pre></p>
<p>ContinuouslyColor<br /><pre><code class="ruby syntaxhl"><span class="no">ContinuouslyColor</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># red</span>
<span class="no">ContinuouslyColor</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># red</span>
</code></pre><br />同じインターフェイスを実装しColor Modelの要件を満たす独自の実装をプラグインが行うことによって、mikutterの色の表現方法を拡張できるように注意する。</p>
<a name="操作"></a>
<h1 >操作<a href="#操作" class="wiki-anchor">¶</a></h1>
<p>spellを使った場合、結果は必ずPromiseを受け取ることになる。色の操作はリアルタイム性が求められることが多く、spellは不適切である。<br />よくありそうな操作についてはColor Pluginで用意する。</p>
<a name="UserConfigの読み込み書き出し"></a>
<h2 >UserConfigの読み込み、書き出し<a href="#UserConfigの読み込み書き出し" class="wiki-anchor">¶</a></h2>
<p>RGBAの各要素は同じ方法で取得できるため、UserConfigに書き出せるはず。<br />現実的には、今の所UserConfigはあらゆるModelを永続化するような機能はもっていないため、別のところに変換ルーチンを実装しなければならない。<br /><pre><code class="ruby syntaxhl"><span class="n">c</span> <span class="o">=</span> <span class="no">Plugin</span><span class="o">::</span><span class="no">Color</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">)</span>
<span class="no">UserConfig</span><span class="p">[</span><span class="ss">:color</span><span class="p">]</span> <span class="o">=</span> <span class="n">c</span> <span class="c1"># 理想</span>
<span class="no">UserConfig</span><span class="p">[</span><span class="ss">:color</span><span class="p">]</span> <span class="o">=</span> <span class="no">Color</span><span class="p">.</span><span class="nf">export_to_user_config</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="c1"># 現実</span>
</code></pre><br />一方、読み込みはColor Modelだったらどんなものに復元しても良いため、もう少し直接的になりそう。<br /><pre><code class="ruby syntaxhl"><span class="n">c</span> <span class="o">=</span> <span class="no">UserConfig</span><span class="p">[</span><span class="ss">:color</span><span class="p">]</span> <span class="c1"># 理想</span>
<span class="no">Plugin</span><span class="o">::</span><span class="no">UserConfigColor</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="ss">:color</span><span class="p">)</span> <span class="c1"># こういうのがあってもよい?</span>
</code></pre></p>
<a name="印字変換"></a>
<h2 >印字、変換<a href="#印字変換" class="wiki-anchor">¶</a></h2>
<p>例えばHTML形式で印字したいなど。すべてのColor Modelに実装を要求すると印字形式が拡張できないが、インターフェイスが統一されているのでどうとでもなる。<br /><pre><code class="ruby syntaxhl"><span class="k">def</span> <span class="nf">html_color</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
<span class="s1">'#%02f%02f%02f'</span><span class="p">.</span><span class="nf">format</span><span class="p">(</span><span class="n">color</span><span class="p">.</span><span class="nf">r</span><span class="p">,</span> <span class="n">color</span><span class="p">.</span><span class="nf">g</span><span class="p">,</span> <span class="n">color</span><span class="p">.</span><span class="nf">b</span><span class="p">)</span>
<span class="k">end</span>
</code></pre><br />Cairo::Colorに変換するといった処理は、gtk3プラグインなどが各々提供する。<br /><pre><code class="ruby syntaxhl"><span class="no">Plugin</span><span class="o">::</span><span class="no">Gtk3</span><span class="p">.</span><span class="nf">cairo_color</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
</code></pre></p>
<a name="比較"></a>
<h2 >比較<a href="#比較" class="wiki-anchor">¶</a></h2>
<p>==で比較する場合、RGBA各要素を0-255で表現した値が等しければ等しいとする。<br />Color Modelインターフェイスの精度以上で比較する意味がないからである。</p>
<p>同様に、eql?とhashもすべてのColorModelが同じ計算式で値を算出しなければならない。</p>
<p>大小比較は、多分ソートすることがないので別にいいや</p>
<a name="標準色"></a>
<h2 >標準色<a href="#標準色" class="wiki-anchor">¶</a></h2>
<pre><code class="ruby syntaxhl"><span class="n">c</span> <span class="o">=</span> <span class="no">Plugin</span><span class="o">::</span><span class="no">Color</span><span class="o">::</span><span class="no">RED</span>
</code></pre>
<p>16色とか256色とか用意する。</p>
<a name="備考"></a>
<h1 >備考<a href="#備考" class="wiki-anchor">¶</a></h1>
<p><a href="https://github.com/red-data-tools/red-colors" class="external">red-colros gem</a> は採用しない。<br />目的に対してできることが多すぎるため。<br />あと、色に対する複雑な演算をしたいわけじゃないので、その程度の理由で直接依存を増やしたくない。</p>
<p>Diva::Modelのatomic typeとして追加することも考えたが、wellknownではあるけどatomicではないかな</p>
mikutter - バグ #1573 (分類待ち): mikutter5で投稿のヘッダー(左)・ヘッダー(右)に対してクリック判定ができなくなっている
https://dev.mikutter.hachune.net/issues/1573
2022-01-01T12:28:47Z
Akira Ouchi
<p>mikutter 4.1系までcairo_miracle_painter.rbのrender_main_text(context)定義されていた<br />@hl_regionと@hr_regionがなくなっており、ヘッダーに対してクリック判定とかの設定ができなくなった気がしています。</p>
<pre>
hl_rectangle = Gdk::Rectangle.new(pos.header_text.x, pos.header_text.y,
hl_layout.size[0] / Pango::SCALE, hl_layout.size[1] / Pango::SCALE)
hr_rectangle = Gdk::Rectangle.new(pos.header_text.x + pos.header_text.w - (hr_layout.size[0] / Pango::SCALE), pos.header_text.y,
hr_layout.size[0] / Pango::SCALE, hr_layout.size[1] / Pango::SCALE)
@hl_region = Gdk::Region.new(hl_rectangle)
@hr_region = Gdk::Region.new(hr_rectangle)
</pre>
<p>display_requirements.rbで使われていた機能かと思うのでなくなっても特段問題ない気がしますが気がついたので一応報告します。<br />(display_requirements.rbのほしいやつだけを残す自前プラグインの5対応をしていて気づきましたが自分でもしばらく使ってないことに気づいてます……)</p>
mikutter - バグ #1572 (分類待ち): Macでスクリーンショットを取得すると大半が透ける
https://dev.mikutter.hachune.net/issues/1572
2022-01-01T12:20:02Z
Akira Ouchi
<p>Macでスクリーンショットを取得すると、添付画像のように背景色の大半が透過されます。<br />ややこしいですが、 <strong>画面を目視する分には正常に描画されています。</strong></p>
<p>※ <a class="issue tracker-1 status-13 priority-4 priority-default" title="バグ: Macでスクリーンショット取得時に一部のアイコンが抜け落ちる (分類待ち)" href="https://dev.mikutter.hachune.net/issues/1570">#1570</a> と同じスクリーンショット<br /><img src="https://dev.mikutter.hachune.net/attachments/download/785/mikutter5-timeline-screenshot-on-mac.png" alt="" /></p>
<p>※ <a class="issue tracker-1 status-13 priority-4 priority-default" title="バグ: Gtk::IntelligentTextviewの背景が透過になるためMacで起動した環境で描画が荒れる (分類待ち)" href="https://dev.mikutter.hachune.net/issues/1571">#1571</a> と同じスクリーンショット<br /><img src="https://dev.mikutter.hachune.net/attachments/download/784/intelligenttextview-transparent.png" alt="" /></p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul></li>
</ul>
mikutter - バグ #1571 (分類待ち): Gtk::IntelligentTextviewの背景が透過になるためMacで起動した環境で描画が荒れる
https://dev.mikutter.hachune.net/issues/1571
2022-01-01T12:15:13Z
Akira Ouchi
<p>Mac環境では、Gtk::IntelligentTextviewを使用している部位で以下のように描画が乱れます。<br />(IntelligentTextviewの部分は画面上の表示でもスクリーンショットでも同じ状態です)</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/783/intelligenttextview-transparent.png" alt="" /></p>
<p>該当するコードはこちらで、<br /><a class="external" href="https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/mui/gtk_intelligent_textview.rb#L49">https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/mui/gtk_intelligent_textview.rb#L49</a><br />ここをwhiteに変更すると、以下の通り描画の乱れがなくなります。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/782/intelligenttextview-white.png" alt="" /></p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul></li>
</ul>
mikutter - バグ #1570 (分類待ち): Macでスクリーンショット取得時に一部のアイコンが抜け落ちる
https://dev.mikutter.hachune.net/issues/1570
2022-01-01T11:59:47Z
Akira Ouchi
<p>Macで起動した環境で、タイムラインを表示している状態では特に問題ありませんが、スクリーンショット取得時に一部アイコンが抜け落ちます。</p>
<p><img src="https://dev.mikutter.hachune.net/attachments/download/781/mikutter5-timeline-screenshot-on-mac.png" alt="" /></p>
<p>元旦Discord会での会話から切り分けたところ、アルファチャネルを含む画像はスクリーンショットに残り、アルファチャネルを持たない画像が抜け落ちるようでした。</p>
<ul>
<li>Mac環境の構成:
<ul>
<li>Intel Mac(MacBook Air 2018)</li>
<li>macOS Big Sur 11.6.2</li>
<li>MacPorts
<ul>
<li>gtk3 @3.24.30_0+x11</li>
<li>xorg-server @1.20.11_1 ※XQuartz</li>
</ul>
</li>
<li>Ruby 3.0.3 (rbenv+ruby-build)</li>
</ul></li>
</ul>
mikutter - 提案 #1566 (分類待ち): mastodonのAPIアクセスにFaradayを使う
https://dev.mikutter.hachune.net/issues/1566
2021-12-31T09:27:32Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-12 status-5 priority-4 priority-default closed" title="提案: 起動時、直近のリプライが読み込まれない (終了)" href="https://dev.mikutter.hachune.net/issues/1427">#1427</a> の派生タスク。<br /><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="バグ: Lets EncryptのCA証明書の期限切れ (終了)" href="https://dev.mikutter.hachune.net/issues/1507">#1507</a> Lets EncryptのCA証明書の期限切れ のようなこともあったため、APIアクセスライブラリを <a href="https://github.com/lostisland/faraday" class="external">Faraday</a> に統一する。</p>
mikutter - 提案 #1565 (分類待ち): mastodon_restプラグインとmastodon_sse_streamingプラグインの統合
https://dev.mikutter.hachune.net/issues/1565
2021-12-31T09:21:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-12 status-5 priority-4 priority-default closed" title="提案: 起動時、直近のリプライが読み込まれない (終了)" href="https://dev.mikutter.hachune.net/issues/1427">#1427</a> の派生タスク。<br />この2つのプラグインは、Mastodonからデータを取ってきてデータソースの更新やイベントの発行を行っている。<br />データソースを使うとき、データの取得方法には関心がないので、別々に制御する必要がない。<br />mastodon_sse_streamingのAPI接続の方法としてREST APIの定期アクセスを実装すればシンプルに収まりそうなので、統合を検討してみる。</p>
mikutter for Android - バグ #1564 (分類待ち): お知らせの取得に失敗するとクラッシュする
https://dev.mikutter.hachune.net/issues/1564
2021-12-28T14:10:01Z
あひる 家鴨
<p>お知らせの取得の際にエラーレスポンスを受け取るとクラッシュします。<br />okHttp3のクライアントはエラーレスポンスの際も <code>onResponse</code> コールバックが呼ばれるようです。(<a href="https://square.github.io/okhttp/4.x/okhttp/okhttp3/-callback/on-response/" class="external">onResponse</a>) <br />そのため、エラーレスポンス時にレスポンスボディにエラー文字列が返ってくると下記処理でパースエラーとなってクラッシュします。<br /><a href="https://dev.mikutter.hachune.net/projects/mikutter-for-android/repository/git/revisions/d8b259159ad9f48a588d9b1876fc32c958147f41/entry/app/src/main/java/net/hachune/mikutter/mikutterforandroid/NotificationFragment.java#L68" class="external">NotificationFragment#L68</a><br />事前に <code>response.isSuccessful()</code> でレスポンスコードが200番台か確認する処理を入れることで対応しようと思います。</p>
mikutter - バグ #1552 (分類待ち): 設定>表示 で拡大率を変えると、拡大率変更前にレンダリングされたMiraclePainterのユーザアイコンサイズが倍率変更前のままになる
https://dev.mikutter.hachune.net/issues/1552
2021-12-09T12:24:21Z
toshi_a 初音
toshi.alternative@gmail.com
mikutter - バグ #1544 (分類待ち): shortcutkey: クリックに割り当てたコマンドがTLで実行されない
https://dev.mikutter.hachune.net/issues/1544
2021-11-20T07:03:12Z
toshi_a 初音
toshi.alternative@gmail.com
<p>クリック、ダブルクリックなどにコマンドを割り当てることができるが、タイムライン上で呼び出すことができない。</p>
mikutter - バグ #1541 (分類待ち): gtk3: TLタブを再選択したときにTL表示位置が選択中メッセージ位置に移動してしまう
https://dev.mikutter.hachune.net/issues/1541
2021-11-13T14:22:17Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>gtk3 版ではTLを表示しているタブが一度隠れた後に再選択して表示される場合の動作仕様が変わってしまっているように見えます。</p>
<ul>
<li>(1) タイムラインの一番下までスクロールする</li>
<li>(2) 一番下のメッセージをクリックして選択する</li>
<li>(3) その状態で同じタイムラインの一番上までスクロールする</li>
<li>(4) 同じペインの別のタブをクリックして選択する</li>
<li>(5) 2つ前の(3)で一番上まで戻したタブをクリックして再度選択して表示させる<br /> →なぜか(2)で選択した一番下のメッセージが出る状態までタイムライン表示が下の方に戻っている</li>
</ul>
<p>従来はタブを再選択表示したときには、タブが隠れたときの元の位置が保持されていたような。</p>
mikutter - バグ #1540 (分類待ち): gtk3: TLでメッセージ選択中にTABを押すと次のタブではなく次のメッセージに移動する
https://dev.mikutter.hachune.net/issues/1540
2021-11-10T13:03:43Z
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
<p>以下のやり取りから</p>
<p><a class="external" href="https://social.mikutter.hachune.net/@tsutsuii/107247395574397992">https://social.mikutter.hachune.net/@tsutsuii/107247395574397992</a></p>
<blockquote>
<p>mikutter_gtk3 で TL 中のメッセージ選択中に TAB を押すと次のメッセージに選択が移動するけど、これ次のペインとかにタブに移動してほしいという気もするな。gtk2 だとどうだったか……</p>
</blockquote>
<p><a class="external" href="https://social.mikutter.hachune.net/@akkiesoft/107247419975830860">https://social.mikutter.hachune.net/@akkiesoft/107247419975830860</a></p>
<blockquote>
<p>TABおすと、TL→タブ次のペインのTL→タブ…→ツールバー→postboxの順にいどうしてた</p>
</blockquote>