fromFileNameというルール

TextRunRun には、 fromFileName と呼んでいる特殊なルールのものがあります。

簡単に説明すると、これは 1つのファイルにつき、 1つの アイテム やショートカットキーを登録する というものです。

このページではこの fromFileName についての紹介をします。

fromFileName の概要

1つのファイルにつき 1つの アイテム などを登録する、 この fromFileName ですが、ファイルを作ってそして登録内容を記入しながら作らなければならないので一見不便な事をするルールに思えます。

ですが、この方法を使うと 作ったものを削除する事と再利用する事 が手軽にできるようになります。

TextRunRun が便利なものだといえる一番の理由がこのルールが使える事だったりします。

fromFileName の構成

画像

これはフォルダの階層です。

TextRunRun のフォルダの中には fromFileName というフォルダがあります。

正確には TextRunRun の実行ファイルがあるフォルダには trrEvery のフォルダがあり、その中に fromFileName があります。

fromFileName のフォルダの中には first というフォルダがあり、さらにその中には

  • hotkeyAllGround
  • hotkeyOnText
  • item
  • snippet
  • startup

というフォルダがあります。

アイテム を作る場合は、 item のフォルダの中にファイルを作る事で アイテム が作れます。

前回のページで、 TextRunRun には テキスト上のキー常時使用のキー がある事を紹介しました。

その テキスト上のキー を作る場合は hotkeyOnText のフォルダの中に、

常時使用のキー を作る場合は hotkeyAllGround のフォルダの中にファイルを作る事でショートカットキーを作れます。

それと、 startup のフォルダの中にファイルやフォルダを作る事で TextRunRun の起動時に任意の処理を実行させる事ができます。

fromFileName のカテゴリーフォルダ

fromFileName のフォルダの中には first というフォルダがあります。

これはカテゴリーフォルダと呼んでいるものです。

画像

一見 first のフォルダは余計なものの様に見えます。

ですが、この構成にしておくことでジャンル別に分ける事ができ、削除と再利用がしやすくなっています。

以上が fromFileName のルールです。単純に説明するとこの様なルールのものです。

fromFileName で作ってみた例

一つ例を作ってみます。

以下のものは 「ウインドウを指定しておき、ショートカットキーを押すとそのウインドウをいつでもアクティブにする」というものを作った例です。

以下のはファイル名とファイル内に記入してある文字です。

ファイル名 1_winActiv.txt
global wa_winClass
ファイル名 winClass.txt
; 入力欄を閉じてからクラス名を取得
&guiHideTextExecutor
WinGetClass , wa_winClass , A
%--

この 2 つは アイテム として作るためのファイルです。
item のフォルダ内にこの 2 つのファイルを配置します。

ファイル名 Shift_Ctrl_a.txt
WinActivate , ahk_class %wa_winClass%

これは 常時使用のキー として作るためのファイルです。
hotkeyAllGround のフォルダ内にこのファイルを配置します。

先程の 1_winActivアイテム は、起動時に実効させたいファイルなので、 start のフォルダ内に 1_winActiv のフォルダを作成します。

以上で作るものは全てです。

カテゴリーフォルダとして winActiv とでも名付けたものを使い、その中に以上の全てのファイルを配置したとします。

以下の様に配置するという訳です。

画像

黄色がフォルダで、水色がファイルを表しています。

さて、これによって出来たものの使い方を説明します。

先程も書いていますが、作ったのは「指定したウインドウをいつでもアクティブにする」といったものです。

まず、ウインドウを指定します。

コマンドランチャーの入力欄を使って、 winClassアイテム を実行します。

winClass

これによって、コマンドランチャーの入力欄のウインドウが閉じた後にアクティブになるウインドウのクラス名を変数に代入します。

この winClass の実行も、ショートカットキーから使える様にしてもいいかもしれません。

そしてその後は Shift+Ctrl+A のキーを押すと、「そのウインドウのクラス名を取得したウインドウをアクティブにする」という事をします。

以上が作ったものに関する事と使い方です。

この様に fromFileName は、ファイルから アイテム やショートカットキーを登録するといったものです。

「ウインドウをいつでもアクティブにする」という処理をするためだけに大げさな事をしている事になります。

ただ、この例の作ったものは fromFileName の直下にある winActiv のフォルダを移動か削除をするだけで取り除く事ができます。

そして、取り除いたとしても再び使いたいと思った時には移動していたフォルダを元に戻す事で 再利用 する事もできます。

この 再利用 しやすいものとして作れる事が fromFileName の特徴です。

少し細かい事

fromFileName で作ったものは、 TextRunRun を起動した時に読み込む様になっています。

編集をした場合は、すぐに内容が変更される訳ではなく TextRunRun を再起動した時に内容が反映されます。

ただ、 アイテム&itemReloadOneFromFileName という TextRunRun 用のコマンドを使う事で再起動をせずに読みこみ直す事が可能です。

今回の例で使うとするなら、
&itemReloadOneFromFileName winClass
を実行する事で winClassアイテム を編集したものを再起動せずに反映させる事ができます。

AutoHotkey のプログラムは編集をした場合、再起動して反映させる事になります。

これを使う事で再起動せずに AutoHotkey のプログラムを編集してテストしていくといった使い方が可能になると思います。

ファイルを用意し、ファイルの中身を記入して配置しなければならないので、普通に登録していくより若干手間がかかります。

TextRunRun を使い始めたユーザーは不便な仕組みに思えるかもしれません。

しかし使い慣れてくると fromFileName の方を使って登録する方が便利になってくると思います。

どうせプログラムを書くなら、エディターでファイルを記入してそれをそのまま使った方が楽だからです。

ファイルを編集して、その内容をそのまま使えるショートカットキーとして使えるので「その都度作って使う」という使い方をする時にも便利さを発揮すると思います。

長々と書きましたが、このルールに関する紹介は以上です。