B(ug)log

開発とかぼやきとかLINEスタンプとか http://line.me/S/sticker/1245783 職探し中

UIAssistant を公開(Hit-a-hint とか)

Hit-a-Hint for Windows、Migemize Windows の後継となるソフトウェアを公開しました。ウィンドウ内のコントロールを列挙して Hit-a-Hint でのクリック操作や、文字列によるコントロールの検索などが可能です。オープンソース、MIT ライセンスで公開しています。

github.com

まだアルファ版ですが、そこそこ動きます。
上記のリンク先では GIF アニメーションで動作イメージを確認できます。

f:id:u338steven:20160429125625p:plain

以下、簡単に特徴、機能の紹介を。

特徴

最低限、ホットキー-コマンド駆動のところだけ理解していただければ、なんとなく使えると思います。もしもの時のための UIAssistant 強制終了キー(LWindows + Escape)もあるので、いざというときはご使用ください。

動作条件

  • Windows7 SP1 以降(ただし動作確認しているのは Windows10 のみ)
  • .NETFramework 4.6 以降
  • 管理者権限での起動を推奨

管理者権限なしで起動した場合、UIAssistant を用いて管理者権限が必要なウィンドウを操作することはできません。

ダウンロード

ダウンロード
アルファ版ですのでご利用は計画的に。

テーマもどき

色やフォントだけでなく、レイアウトもユーザが柔軟に変更できます。(WPF で書ける範囲内であれば、いくらでも変更可能……なはずです)

以下のスクリーンショットは、テーマを変更しているので見た目は違いますが、全て同じ機能を使用しています。

f:id:u338steven:20160501205445g:plain

ちなみに、テーマファイル(.xaml)の編集をミスると、とんでもないことになります。
↓こんな風にヒントが表示されなかったり、最悪 UIAssistant が強制終了します。(無駄がゲシュタルト崩壊しそう)

f:id:u338steven:20160429121357p:plain

ホットキー-コマンド駆動

UIAssistant はホットキーが押下されると、独自のコマンドを実行します。

実行されるコマンドの例: hah WidgetsInWindow Click

コマンド

引数

  • WidgetsInWindow: ウィンドウ内のコントロールを対象
  • Click: ヒント選択時のデフォルトの操作はクリック

詳細な設定内容は、タスクトレイアイコンを右クリックして設定画面のホットキータブで確認してください。コマンドの情報はプラグインが持っているので、プラグインタブにて確認できます。

f:id:u338steven:20160429121343p:plain

プラグイン

キーバインドなどの操作方法は、タスクトレイアイコンから設定画面を開いて、目的のプラグインの設定を確認してください。また、LeftCtrl+U で実行中のプラグインキーバインドを確認できます。

Hit-a-Hint

以下の対象に対して、Hit-a-Hint による操作が可能

対象:

  • ウィンドウ内のコントロール(ボタン、チェックボックスなど) Ctrl+Alt+E
  • タスクバーのコントロール(タスクトレイアイコンも) Ctrl+Alt+R
  • 実行中のアプリケーション Ctrl+Alt+Q
  • 画面を等分割 Ctrl+Alt+G

可能な操作:

  • クリック C
  • 右クリック R
  • キーボードでマウス直接操作 O

など

Search by Text

以下の対象に対して、文字列による検索が可能

検索対象:

  • ウィンドウ内のコントロール(ラベル、ボタン、チェックボックスなど) Ctrl+Alt+T
  • ウィンドウ内の実行可能なコマンド(メニュー、ツールバー、リボンUI) Ctrl+Alt+K
  • フォーカスのあたっているコントロール内(コンボボックス、リストボックスなど) Ctrl+Alt+L
  • 実行中のアプリケーション

Mouse Emulation

キーボードでマウスカーソルを操作できます。

デフォルトではホットキーから利用できませんが、Hit-a-Hint 経由で使用できます。(Hit-a-Hint 画面を等分割Ctrl+Alt+G時のデフォルト操作です)

今後追加したいプラグイン

旧版(Hit-a-Hint for Windows、Migemize Windows)から削除された機能

Hit-a-Hint for Windows から削除された機能

状況によっては動作が不安定なので削除

Migemize Windows から削除された機能

  • Explorer 関連の検索処理
  • Everything との連携処理

アプリケーションに依存した実装が必要になるので削除
デフォルトで配布する基本のプラグインは汎用的な処理だけにしたいのです。

バグを発見したら

f:id:u338steven:20160429121215p:plain

連絡方法はコメントでもメールでも Twitter でもかまいませんが、GitHub に Issue を書いてくださると助かります。日本語で OK です。(必要があれば、こちらでタイトルなどを英語に変更させていただくかもしれませんが)その際、以下の情報をいただけると助かります。

  • UIAssistant のバージョン(自前でビルドしている方の場合はコミットID)
  • Windows のバージョン
  • バグの再現方法(操作対象のアプリケーション、使用したプラグイン、操作内容など)

もしあれば以下の情報もいただければ。

プラグインを作成したいという奇特な方へ

まだ API が色々と迷走して定まっていないため、現時点でのプラグインの作成を推奨できません。API は他のプラグインを作成しながら調整していく予定でいます。あと、ドキュメントもありません……。

それでも作成したいという方は、MouseEmulation のソースを参考程度に見てみるといいかもしれません。今のところ一番シンプルなソースなので。後々、Plugin のサンプルソースも作成します。

TODO

  • 職を探す(どなたか僕に職をください)
  • マニュアル書く、でもだいたいのことは設定画面見てもらうか、LeftCtrl+Uで Usage 見てもらえば……

最後に

Ruby と iPhone と UI とから引っ越してきました。
これからよろしくお願いします。