最近の更新

関連


その他いろいろ

多機能フィードリーダSynapse製作中

2月までは目が回るほど忙しい

MODxでつくる! 最強のCMSサイト カバー
MODxでつくる! 最強のCMSサイト

unilateral task switcher

非インタラクティブ高速タスク切替
初出:2007年12/08 更新:2008年02/19

この文書のキーワード: なし

「ブッ殺す」… そんな言葉は使う必要がねーんだ
なぜなら オレやオレたちの仲間は その言葉を頭の中に思い浮かべた時には!
実際に相手を殺っちまってもうすでに終わってるからだッ!
だから使った事がねェ―――ッ
ジョジョの奇妙な冒険―フィレンツェ行き超特急その1―

Windowsに常駐し、uts呼出用ホットキー+ウィンドウごとのショートカットキーの2ストロークで任意のタスクに切り替えることの出来るアプリケーションです。

各ウィンドウに割り当てられるショートカットキーは修飾なしの1文字(ASCII印字可能文字88種)で、uts起動中は変更されないため、標準Alt+Tab使用時のようにウィンドウの順番が入れ替わって思うように切り替えられないという問題もありません。

対応を覚えればわざわざ画面を確認することなく0.3秒、「タスクを切り替える」と思い浮かべた時には実際にタスクが切り替わっています。(対応を覚えなくてもキャプションバーにキーが表示され、すなわちタスクバーにも表示されます。記憶力に自信がなくてもUnilateralModeが使える!)
逆にタスクバーを非表示にして、必要なときだけutsを開いて確認するという使い方も可能です。

アプリケーションとキーの対応は.iniファイルにより任意に設定できます。

uts呼出ホットキーにAlt+Tabを指定すれば標準タスク切り替えの代替となります。デフォルトはAlt+Jです。

UnilateralMode=1とすることでウィンドウが一切表示されない、本当に非インタラクティブな切替器になります。
極端な硬派ならShortcutInCaption=0と併用することで見た目には全く分からない状態で使うことも可能。Alt+Fでこっそり割り当ての確認もできます。

スクリーンショット

通常の画面 screenshot
枠なし・透明・色指定 screenshot
UnilateralMode
(勿論何も見えない)
screenshot
簡易spy screenshot

ダウンロード

ファイルバージョン日付
uts_025b.zipv0.25beta20080219
uts_024b.zipv0.24beta20080218
uts_023b.zipv0.23beta20071214
uts_022b.zipv0.22beta20071213
uts_021b.zipv0.21beta20071210
uts_020b.zipv0.20beta20071209
uts_012b.zipv0.12beta20071209
uts_011b.zipv0.11beta20071209
uts_010b.zipv0.10beta20071209
uts_001b.zipv0.01beta20071208

設定ファイルの書式

基本的に最新版について記述しています。それ以外の版はアーカイブ中のREADME.txtを参照してください。ベータ版のため、後方互換性がなくなる場合もあります。

[Window]セクション

Left, Top, Width, Height
ウィンドウの位置
HotKeyChar
uts呼出ホットキーの指定。A-Z一文字か、仮想キーコード名(VK_TAB等)を指定します。
例: HotKeyChar=J
HotKeyModifiers
uts呼出ホットキーの修飾指定。!はAlt、^はCtrl、#はWindows、$はShiftとして複数指定できます。
例: HotKeyModifiers=!^
HotKey2Char
2番目のホットキー。UnilateralModeでもウィンドウを表示します。
HotKey2Modifiers
2番目のホットキーの修飾。UnilateralModeでもウィンドウを表示します。
NoThickFrame
サイズ変更用の太いフレームを使わないようにします。
FontFace
フォント名を指定します。 例: FontFace="MS Gothic"
FontSize
フォントサイズを指定します。
ShowIcons
タスクリストにアイコンを表示する方法を指定します。
0: 表示しない
1: 行の高さが十分(16px)あれば表示
2: 常に表示
行の高さが32px以上ある場合、自動的に32pxのアイコンが使用されます。
UnilateralMode
utsウィンドウを全く表示しません。通知領域アイコンクリックで終了します。
(フォーカスは渡っているのでAlt+F4でも終了できます。)
Priority
utsの優先度。
  • IDLE_PRIORITY_CLASS
  • BELOW_NORMAL_PRIORITY_CLASS
  • NORMAL_PRIORITY_CLASS
  • ABOVE_NORMAL_PRIORITY_CLASS
  • HIGH_PRIORITY_CLASS
  • REALTIME_PRIORITY_CLASS
の中から指定します。
BGColor
背景色を#CBC69Fのように指定します。
FGColor
文字色を#303E20のように指定します。
Transparency
透明度を0(不透明)-255(透明)で指定します。
ShortcutKeys
ショートカットとして用いる文字をすべて指定します。ASCII印字可能文字が指定でき、 文字は先頭から使用されます。
デフォルトはfdsajkl;rtewquyiopvbcxzmn,./4352178690-=[]'\`FDSAJKL:RTEWQUYIOPVBCXZMN<>?$#%@!&*^()_+{}"|~
尚、アプリケーション毎のキー設定はこの設定の影響を受けません。
PreviousTaskKey
直前のタスクに切り替えるためのショートカットキーを仮想キー名(VK_RETURN等)で指定します。

[Settings]セクション: 各値は1(有効)または0(無効)です。

Toggle
既にアクティブなウィンドウに切り替えようとするとき、逆に最小化します。
ToggleExtend
Toggle有効時、アクティブでなくても表示されていれば最小化します。
ToggleSelf
ホットキーでutsをトグル。uts表示時にホットキーを押下することで隠れます。
HideOnToggle
Toggle有効時、かつウィンドウを隠したときにutsを隠します。
HideOnFocusLost
utsがフォーカスを失った場合、隠れます。
IgnoreShortcutAlt
ショートカットキーとともにAltキーが押されていても無視します。今のところ1にしない理由はありません。Alt+J+キーの同時押しでも切替可能(Jを離す必要もない)になります。
ShortcutInCaption
各ウィンドウのキャプションバーにショートカットキーを表示します。
ShowPrimaryScreenCenter
プライマリスクリーンの中央にutsを表示します。
MoveMouseCursor
アクティブにしたウィンドウの中央にカーソルを移動させます。
ShowNotifyIcon
タスクトレイのアイコンを表示します。
DefaultAltTabMode
Alt+J押下後Altを離すと直前のタスクに切り替えます。ホットキー修飾がAltの場合以外は動作しません。
IncludeToolWindows
ツールウィンドウをリストに含める

[Exclusions]セクション:カンマ区切りの値を指定します。スペースが含まれる場合は全体を""で囲みます。

ExcludeClasses
utsのリストから除外するウィンドウクラス名。
最初からutsWndClass, CLIPBRDWNDCLASSは登録されています。
ExcludeTitles
utsのリストから除外するウィンドウタイトル。一度除外されると、タイトルが変更されて条件から外れても再登録はされません。

[Inclusions]セクション-:カンマ区切りの値を指定します。スペースが含まれる場合は全体を""で囲みます。

IncludeClasses
本来ならリスト表示されないWS_EX_TOOLWINDOWでもこのクラス名を持つ場合utsに追加します。
付属のiniではデスクトップとタスクバー、通知領域(Progman)を含めるようになっています。

その他のセクション: アプリケーション毎の設定を記述します。名前は上で使われている物でなければ任意です。

Class
ウィンドウクラス名。完全一致でセクション名のアプリケーションと判断します。
TitleまたはClassは必須です。(両方記述した場合はOR)
Title
ウィンドウタイトル。完全一致でセクション名のアプリケーションと判断します。
TitleまたはClassは必須です。(両方記述した場合はOR)
Key
必須キー。 割り当てるショートカットキーをa-zA-Z0-9若しくは記号(ASCII可視文字)で指定します。

更新履歴

v0.25beta 20080219
デバッグ
v0.24beta 20080218
  • ツールウィンドウを捕捉する設定
  • 無駄なフックメッセージを無視
v0.23beta 20071214
直前のタスクに切り替えるショートカットキー
v0.22beta 20071213
  • タスクトレイにアイコンを表示しない設定
  • ショートカットに使うキーの設定
  • 簡易Spy(easyspy.exe)の追加
v0.21beta 20071210
  • 背景色・文字色設定
  • プロセスの優先度設定
  • 半透明化
  • デバッグ
v0.20beta 20071209
  • ホットキーを2つ設定
  • マウスカーソル移動
v0.12beta 20071209
デバッグ(ショートカットキーの解放忘れ)
v0.11beta 20071209
デバッグ
v0.10beta 20071209
  • 非表示モード追加
  • psapi.dllへの依存を解消
  • 多重起動防止
  • ショートカットキーはASCII印字可能文字まで対応
  • アプリケーション毎のキー設定
  • 除外クラス・タイトル
v0.01beta 20071208
βバージョン公開

todo

(*)印は次の.1単位のバージョンアップで対応予定

(-)印はオレやオレたちの仲間には必要無さそうな機能

  • ショートカットキーの実行時変更、リストから削除等
  • <C-D> key => remove, <C-W> key key => swap, <C-O> key => only, <C-L> key => maximize, <C-M> key => minimize
  • (-)ホットキー連打でリスト選択するオプション
  • 時々タイトル変更を拾えていない問題に対応
  • タイトル部分一致、もしくは正規表現
  • ちょっと面倒そう: インタラクティブ低速タスク切替(マウス操作)の実装

easyspyの使用方法

ウィンドウがアクティブになるとリストにウィンドウタイトル、クラス名、拡張スタイル、スタイルが表示されます。行を選択することでクリップボードにコピーされます。uts起動中は使えません。

いろいろ

  • 終了はAlt+F4、Escで隠す
  • PowerToys Alt-Tab Replacement使用中はAlt+Tab割り当てできません
  • 二つ目のホットキーではUnilateralModeに関わらずウィンドウを表示します。
  • クライアント領域ドラッグでウィンドウ移動可能(ShowPrimaryScreenCenter=0限定)
  • うまくutsに捕捉されない場合、Alt-J Alt-Jでウィンドウを表示→非表示にすると捕捉できる場合があります(ウィンドウを閉じるときに列挙し直しています)
  • また、アプリケーションによっては捕捉されていてもタイトルバーにキーが表示されない場合があります。Alt-Fでウィンドウを開いて確認してください。
  • バグ報告歓迎。バージョン・OSとデフォルトから変更した設定を添えてお願いします。

動作環境等

Windows 2000 SP4, XP SP2で作成・検証しています。Vista Home Premiumではリストのアイコン表示に不具合があるようです。(今のところ修正の見込みはありません)