basyura's blog

あしたになったらほんきだす。

Raindrop + IFTTT + Twitter

#via@raindrop を付けると Twitter に流すようにしてみた。

IFTTT は前から気になってはいたけど使うのは初めて。無料プランだからかログインしてないと使えないのは若干残念だが仕方なし。

コメントを入れられると良いなぁと思わなくはないけど、それはそれで某ブックマークっぽくなるので無い方がいいのかも。そもそも Twitter に流す事の必要性は無くて、見つけたよ 的に流してるとも言えるけど、結局は自己顕示欲なんだろうなと思うのともにょるけど自己満足大事、かな。

CraftLaunch

Windows (スタート) メニューを表示して文字列を打ち込んでアプリを起動することは多いのだけど専用のランチャーもやっぱりほしい。仕事で使ってる端末は v2 を長らく使ってるけど (10 年以上あたりまに使ってる気がするが)、せっかくの新しく購入した Win11 端末には v3 を導入。

ぱっと見分かりにくいけど、v2 と同様にドラッグ&ドロップでコマンドを登録できる。あとは config ファイルが python になっているので細かい処理を記述できるようだけど、まだあまり試してない。

対象コマンドのディレクトリをエクスプローラーで開く処理を書いてみた。コマンドを入力してる状態で C-E すると該当コマンドのディレクトリを開く。

def open_dir(info):
    path = os.path.join( getAppExePath(), 'clnch.ini' )
    ini = configparser.ConfigParser()
    ini.read(path, encoding='utf-8')
    cmds = ini["COMMANDLIST"]

    for cmd in cmds:
        # command_0 = ('Startup', 'explorer.exe', '{arg}', '{dir}')
        values = eval(cmds[cmd])
        if values[0] == info.args[0]:
            dir = os.path.dirname(values[1])
            shellExecute( None, "explorer.exe", dir, "" )
            break

# Ctrl-E でコマンドのパスをエクスプローラーで表示する
window.cmd_keymap[ "C-E" ] = open_dir

Inkdrop - jsmigemo でノート選択

js で migemo できるようなので、Inkdrop の plugin に組み込んでみた。

組み込み先は ↑ で、ノートをキーワードで絞り込んで選択して表示するもの。オリジナルは ココ だけど、個人的に色々変えたいところがあってひっそりと fork 版を使っている。

常に使っていて、無くてはならない plugin になっている。

辞書づくり

サンプルコードがあるので使い方は分かるのだけど、migemo 初心者なので辞書の作り方が分からない。

jsmigemo にも同梱されているけど、 上記を参照しつつ自分でも作れるようにしてみる。
今回は Windows + GitBash な環境で開発。

nkf インストール (参考: https://zenn.dev/yotto428/scraps/1d9ed1df6ab55d)

$ wget https://ja.osdn.net/projects/nkf/downloads/70406/nkf-2.1.5.tar.gz
$ tar zxvf nkf-2.1.5.tar.gz
$ cd nkf-2.1.5
$ make
$ mkdir /usr/local/bin
$ make install

migemo ビルド

$ make cyg

辞書ビルド

$ make cyg-dict

js 用辞書作成

  • bin/jsmigemo-dict.mjs を実行する
  • C/Migemo で生成した辞書を指定する
./node_modules/jsmigemo/bin/jsmigemo-dict.mjs 
                    '{ path to migemo-dict}' migemo-compact-dict

jsmigemo を組み込む

plugin 設定に辞書のパスを持たせる

module.exports = {
  config: {
    migemoDictPath: {
      title: "migemo ditionary file path",
      type: "string",
      default: "",
    },
  },
  ・・・
}

plugin に組み込む

constructor(props) {
 ・・・
  const dictPath = inkdrop.config.get("switch-note.migemoDictPath");
  if (dictPath != "") {
    const buf = fs.readFileSync(dictPath);
    const dict = new migemo.CompactDictionary(buf.buffer);
    const jsm = new migemo.Migemo();
    jsm.setDict(dict);
    this.jsm = jsm;
  }
}

searchNotes = (_options, query) => {
  // Lowercase the query to make searching easier.
  if (this.state.all == null) {
    return [];
  }

  query = query.toLowerCase();
  // use migemo
  if (this.jsm != null) {
    const regex = new RegExp(this.jsm.query(query));
    return this.state.all.filter((option) => {
      const text = option.text.toLowerCase();
      if (regex.test(text)) {
        return true;
      }
    });
  }

  // use lower includes
  return this.state.all.filter((option) => {
    const text = option.text.toLowerCase();
    if (text.includes(query)) {
      return true;
    }
  });

まとめ

べんり。

Inkdrop - 右 shift でアクティブ化 with keyhack

サクッとメモを取りたい場合。 Alt+Tab 等でウインドウを切り替えようとすると Tab を何回か押す必要がある (間にアクティブなウインドウがいくつかあると)。近くならいいけどたまにかなり遠いことがあって選ぶまでにメモしたいことを忘れてしまう可能性がある。winows + 数字 のショートカットを使う案もあるけど、windows キーの位置が地味に押しづらい。キーボードを眺めていたら、前から "右 Shift" キーを全く使っていないことに気がつく。

ということで、"右 Shift" キーを押したら Inkdrop がアクティブ化するよう kyehack の設定ファイルに書く。

def configure(keymap):
  all = keymap.defineWindowKeymap()
  all[ "RShift"  ] = keymap.ActivateWindowCommand( "Inkdrop.exe" )

いい感じ。右 Windows キーも使っていないので、何かを割り当てたくなる。

特に勉強する際はメインモニタはブラウザや開発環境、サブモニタに Inkdrop を Distraction Free モードで配置しておくと、メモをチラ見しながら活動できるのはもちろんメモをしたい場合に Shift を押すと一瞬でフォーカスを当ててメモを書けるので便利。戻るときは Alt+Tab 一発。

※ たまに右手だけで Shift+Up or Shift+Down で選択状態を変更したりするときに誤爆するけど優先度の問題で採用中。

ViEmu will go open source

新PC に Visual Studio 2022 をセットアップして放置していたけど、いつでもコードが書けるように準備しておこうと思い立ったところ。長年、これ無しでは開発できないようになった ViEmu をインストールしようと思ってサイトに行ったけど 2022 用が無い。試しに 2019 用をダウンロードしてみたけどインストールできない。これは困ったとフォーラムを開いたら同様に困っている人達のコメントと共に作者のコメントがあった。

更に他を見ると作者のアナウンス。

ViEmu がビジネスとして成立せず新しいスタートアップに取り込んでいる模様。ViEmu はオープンソースとして公開される予定で、過去バージョンのライセンスが必要な場合はメールすれば無料でキーを返してくれる模様。

個人的に Visual Studio を使って何か大きめのものを作る予定は無いからオープンソース化を待つけど、公開されたところで大変そうであれば 2019 を入れ直すか考えどころ。

どちらにしても ViEmu があることで eclipse (vrapper) から移った後も開発がスムーズに行えたのは事実なので感謝したい。

マキタ 掃除機

白を買ったつもりだったのだけどオリーブだった。サイクロンは迷いつつ購入したけど結果としては良かった。ぶーんと掃除したあとにゴミ箱にポイして水洗いできる。便利。これが前の掃除機はできなくてゴミ捨ても掃除も億劫になってたのだった。音は最大パワーでもあまり大きくないので良いけど、もうちょっとパワーがあってもいいかなと思わなくもない。通常の掃除であれば問題ないけど。

スタンドも買ったけどサイクロンが邪魔して若干フィットしてない。かけられるけど。

総じて買ってよかった。