やること: チケット
https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2021-12-31T14:58:57Z
やること
Redmine
mikutter - 機能 #1568 (新規): TLのアイコンサイズを変更できるようにしたい
https://dev.mikutter.hachune.net/issues/1568
2021-12-31T14:58:57Z
toshi_a 初音
toshi.alternative@gmail.com
<p><a class="issue tracker-2 status-6 priority-4 priority-default closed" title="機能: TLのアイコンサイズを変更できるようにしたい (却下)" href="https://dev.mikutter.hachune.net/issues/602">#602</a></p>
<p>subpartsではできるのでできないとアンバランスですね</p>
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 - 機能 #1394 (新規): listviewからCRUD操作をされた時、独自のルーチンやフックを実行可能な専用データソースオブジェクトを提供する
https://dev.mikutter.hachune.net/issues/1394
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<ul>
<li>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。
<ul>
<li>また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</li>
</ul>
</li>
<li>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。
<ul>
<li>この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</li>
</ul></li>
</ul>
<p>といった要件を満たすため、設定値の読み書きを行うデータソースを <code>parent_dslobj#[]</code> ではなく、別のデータソースプロキシオブジェクトを挿入可能にする。</p>
<p>少々煩雑になるが、プロキシオブジェクト側にフックは全て実装することになるため、listviewの実装を肥大化させないために<br />この実装にしたい。</p>
<p>加えて、このデータソースプロキシオブジェクトは値の追加・削除・更新を通知し、リアルタイムにlistviewを更新する機能をもたせたい。</p>
mikutter - 機能 #1393 (新規): FormDSLにコマンド選択ウィジェットを追加
https://dev.mikutter.hachune.net/issues/1393
2019-09-21T01:09:16Z
toshi_a 初音
toshi.alternative@gmail.com
<p>FormDSLで、コマンドを一つ選択するウィジェットを提供する。<br />単にコマンドを列挙するのではなく、以下の機能が必要になるので、しんどそう。</p>
<ul>
<li>ツリー表示</li>
<li>インクリメンタルサーチ</li>
</ul>
<p>抽出タブのデータソース選択もツリービューで選択させるようになっているので、もしかしたら同じウィジェットとして実装できるかもしれない?</p>
mikutter - 機能 #1391 (新規): 内部のウィジェットがサブジェクトごとに分かれるDialog DSL
https://dev.mikutter.hachune.net/issues/1391
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>抽出タブ設定では、フォームを3つに分け、タブで切替可能にしている。<br />通常のDialogDSLでこれは実現できないが、良く考えたら設定だってそれの特殊系と言えなくはないので、<br />DialogDSLで、settingsブロックを設定のようにカテゴライズする機能を提供すれば良さそう。</p>
mikutter - 機能 #1390 (新規): listview: UserConfigに保存しているものを変換して一覧する機能
https://dev.mikutter.hachune.net/issues/1390
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブなど、UserConfigにはHashの配列として保存しているが、データソースとしてはModelとして扱いたい場合がある。<br />この場合、当然作成・編集・並び替えが行われたら、Hashに変換して保存する必要がある。</p>
mikutter - 機能 #1389 (新規): listview: 追加されることによってイベントを発生させる
https://dev.mikutter.hachune.net/issues/1389
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldや抽出タブで、CRUD操作が発生した時に、特定のイベントを発生させるなどのフック処理が必要になる。<br />また、あるイベントが発生したらデータソースに引数で渡されたオブジェクトを追加するといった制御も必要になる。</p>
mikutter - 機能 #1388 (新規): listview: 編集を許可しないオプションを追加
https://dev.mikutter.hachune.net/issues/1388
2019-09-21T01:09:15Z
toshi_a 初音
toshi.alternative@gmail.com
<p>Worldでは作成はできるが編集をサポートしないので、これだけを無効にするオプションを追加する。</p>
mikutter - 機能 #1386 (新規): Shortcut Keyの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1386
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「ショートカットキー」にショートカットキー一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1385 (新規): Mastodonの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1385
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「Mastodon」にlistenするサーバのリストがあるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1384 (新規): Extractの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1384
2019-09-21T00:13:54Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「抽出タブ」に抽出タブ一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - 機能 #1383 (新規): Worldの設定に、FormDSLのlistviewを使う
https://dev.mikutter.hachune.net/issues/1383
2019-09-21T00:13:53Z
toshi_a 初音
toshi.alternative@gmail.com
<p>設定画面の「アカウント一覧」にWorldの一覧があるが、これを <a class="issue tracker-2 status-2 priority-4 priority-default" title="機能: Gtk::CRUDに依存しているコードを減らす (実装待ち)" href="https://dev.mikutter.hachune.net/issues/1380">#1380</a> で実装したlistviewメソッドを利用したものに置き換える。</p>
mikutter - ワークフローに関する質問 #1275 (新規): テストだよ
https://dev.mikutter.hachune.net/issues/1275
2018-07-14T12:46:46Z
toshi_a 初音
toshi.alternative@gmail.com
<p>うーんこの</p>
mikutter - 機能 #1203 (新規): Gdk::Cursorのインスタンスを得る方法を変更する
https://dev.mikutter.hachune.net/issues/1203
2018-04-08T17:30:41Z
toshi_a 初音
toshi.alternative@gmail.com
<p>マウスカーソルを変更するときに使う <code>Gdk::Cursor</code> を得る時、現在はGdk::Displayとカーソルの名前を使って参照するのが良いとされていると教えてもらった( <a class="issue tracker-2 status-5 priority-4 priority-default closed behind-schedule" title="機能: MiraclePainter上でマウスを動かしたときにカーソル形状を適切に変更して欲しい (終了)" href="https://dev.mikutter.hachune.net/issues/1197#note-2">#1197-2</a> )。<br />mikutterの標準プラグインで <code>Gdk::Cursor.new</code> を呼び出している部分を全てこの方法に変更し、 Gdk::Tooltip と同じように、mikutter内で種類ごとに単一のGdk::Cursorを使いまわすようにしたい。</p>
mikutter - 機能 #1189 (新規): XDG Base Directory Specification に従って、Environment定数で設定するディレクトリの位置を変える
https://dev.mikutter.hachune.net/issues/1189
2018-03-08T12:27:14Z
toshi_a 初音
toshi.alternative@gmail.com
<p>このチケットをあなたが見つける頃には、mikutterはどのようになっているだろうか。それはわからないけれど、ひとつだけ確かなことがある。<br />……そう、このチケットで指摘している問題について、今日まであなた以外、誰も関心を持っていなかったということだ。</p>
<p>ならば、このチケットをクローズするパッチを書くのは、世界にただ一人、これを読んでいるあなたしかいない、ということも説明に及ばないだろう。</p>
<a name="概要"></a>
<h1 >概要<a href="#概要" class="wiki-anchor">¶</a></h1>
<p>mikutterのcacheディレクトリなどを全て ~/.mikutter/ 以下に収めているが、XDG Base Directory Specificationというのがあって、これに従って適切な場所に配置すると、バックアップのときとかにキャッシュも一緒にバックアップされてしまうみたいなことがなくなって便利。</p>
<p><a class="external" href="https://standards.freedesktop.org/basedir-spec/latest/">https://standards.freedesktop.org/basedir-spec/latest/</a></p>
<a name="注意点"></a>
<h1 >注意点<a href="#注意点" class="wiki-anchor">¶</a></h1>
<a name="サードパーティプラグインのインストール方法"></a>
<h2 >サードパーティプラグインのインストール方法<a href="#サードパーティプラグインのインストール方法" class="wiki-anchor">¶</a></h2>
<p>多くのプラグインが、インストール方法をワンライナーで紹介していて、インストール場所が決め打ちになっているので、コピペでインストールできなくなる。<br />ぱっと思いつく限り、解決方法は2種類ある:</p>
<ol>
<li>プラグインを登録できるアーカイブリポジトリサービスを作ってmikutterプラグインエコシステムを征服し、githubからプラグインをインストールするといった文化を根絶する</li>
<li>cache, tmpといった、容易に別の場所に移動できるディレクトリだけに適用する</li>
</ol>
<a name="キャッシュディレクトリが混ざることでファイルが壊れる可能性について"></a>
<h2 >キャッシュディレクトリが混ざることでファイルが壊れる可能性について<a href="#キャッシュディレクトリが混ざることでファイルが壊れる可能性について" class="wiki-anchor">¶</a></h2>
<p>単純に規定されているような環境変数を読むだけだと、複数のmikutterが同じファイルに書いてしまうことがある。mikutterは複数のconfrootに異なるプラグインを入れて同時に運用したり、プラグイン開発のために異なるconfrootをもったmikutterを同時にいくつも起動することは珍しくないので、配慮する必要がある。</p>