22 8月

TascherVer.1.63公開

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.63を公開しました。

○Ver.1.63 – 2020/08/22
・インクリメンタルサーチで絞り込むとサムネイルが選択中のウインドウにならない不具合を修正。
・Migemo検索を開始するまでの時間の初期値を30に変更。
・ウインドウを透過させる「opacity0」~「opacity100」「opacitytoggle」を追加。
・最背面表示する「background」を追加。
・マルチモニター環境で、カーソルのあるモニターにTascherのウインドウを表示できるように。(Special Thanks!:razgriz13様)
・マルチモニター環境で、画面端の判断をプライマリモニターだけでなく、モニター全体で判断できるように。(Special Thanks!:razgriz13様)
・表示用ホットキーでWindowsキーが使えるように。(Special Thanks!:涼様)
・設定から「タスクバー相当の表示」を削除。
・設定から「取得したアイコンをキャッシュ」を削除。
・設定から「ウインドウにフレームを表示」を削除。(Tascher.cfgの直接編集では対応可能)
・設定から「候補のウインドウが1つなら確定」遅延時間」を削除。(Tascher.cfgの直接編集では対応可能)
・設定から「Migemo検索を開始するまでの遅延時間」を削除。(Tascher.cfgの直接編集では対応可能)
・[表示方法]-[マウスの移動][ホットキー]設定に「選択項目にカーソルを移動」を追加。
・[表示方法]-[共通]-[「選択項目にカーソルを移動」が有効なら表示時に移動]を追加。
・設定ダイアログを閉じた時、最小化している最前面属性を持つウインドウがアクティブになる不具合を修正。
・ウインドウを切り替えた時に最前面属性が解除されてしまう不具合を修正。
・D&Dの判定方法を変更。
・[マウス]で設定できる組み合わせに中央クリックやX1/X2クリック等を追加。(Special Thanks!:Jun様)
・[コマンド]を追加。追加したコマンドはメニュー、[ショートカットキー]、[マウス]で選択できるようになります。(Special Thanks!:Jun様)
・[高度な設定]-[サムネイル]に「表示位置」を追加。
・[表示方法]-[マウスの移動]に「表示までの時間」を追加。
・UWPアプリで最小化されている場合のウインドウの特定方法を変更。
・「MMHook.dll」を廃止。RawInputで処理するように。
・ウインドウの切り替え方法を変更。
・「マウスホバーで選択」が「マウスアウトで確定」が有効でないと機能しない不具合を修正。
・隠し設定にカーソルを非表示までの時間を追加。
・サムネイルサイズをオリジナルで表示できる設定を追加。(thumbnailoriginal)
・[表示方法]-[マウスの移動][ホットキー]設定に「カーソルを移動しない」「カーソルを○○へ移動」を追加。
・隠し設定にダブルクリック判定時間及びクリック+ホイール判定時間を追加。
・表示・非表示を繰り返すと重複してアイテムを追加してしまう不具合を修正。
・隠し設定にマウスの移動表示及びホットキー表示時のカーソル位置マージンを追加。
・[全般]-[管理者権限で起動]を追加。
・ドラッグ中にホットキー表示でウインドウ外だとタイムアウト確定してしまう不具合を修正。
・ドラッグ中だとマウスホイール操作ができない不具合を修正。
・migemo.dllの辞書ファイルをmigemo.dllがあるディレクトリから取得するように。
・Windows8以降の環境で「自動起動する」設定でも起動しない不具合を修正。
・切り替えてカーソルをウインドウ中央へ移動する「centercursor」を追加。
・隠し設定にウインドウリスト非表示の際はMigemoを解放するオプションを追加。
・「デスクトップ」を表示する方法を変更。
・[情報を表示](info)でプロセスが管理者特権かどうか表示するように。
・隠し設定にマウスカーソルの移動範囲を一定時間制限するオプションを追加。
・AND検索を行う「and」を削除。インクリメンタルサーチ中であれば設定しなくともスペースでAND検索するように。
・ウインドウリスト上ではIMEを無効にするように。
・インストーラの配布を中止。
・二重起動であれば元のTascherのウインドウリストを表示するように。
・「2番目にアクティブなウインドウを選択」で2番目にアクティブなウインドウがなければ先頭のウインドウを選択するように。
・[高度な設定]-[マルチモニタ]-[表示位置][アクティブモニタのウインドウのみ表示]を追加。
・アクティブモニタにウインドウを移動する「movetoactivemonitor」を追加。
・指定モニタにウインドウを移動する「movetomonitor」を追加。
・プライマリモニタ以外ではウインドウリストの高さの調整ができていなかった不具合を修正。
・[表示方法]-[マウスの移動]-[モニタごとに画面端を判定]を追加。
・画面中央にウインドウを移動し表示する「center」を追加。
・[仮想デスクトップ]-[アクティブな仮想デスクトップのウインドウのみ表示]を追加。
・「情報を表示」の処理方法を変更、コマンドラインが一度目は表示されない不具合を修正。
・隠し設定に画面端と判断する端からの距離を指定するオプションを追加。
・表示後すぐの左クリックが効かない場合がある不具合を修正。
・ウインドウタイトルの取得タイミングを変更、アイコン・ウインドウの取得を別スレッド化。
・ウインドウ切り替え方法の変更。別スレッド化。

見た目はあまり変わっていませんが、色々と機能が増えていたりします。

好きなコマンドを実行できるようになっていたり、

マルチモニタにちょっとだけ対応したり、

サムネイル表示位置をちょっとだけ変えることができたり、

あと選択項目にカーソル移動できたりとかできるようになりました。
「MMHook.dll」も不要になりました。
ちょっとだけマルチスレッドにもなりました。
Windows10の仮想デスクトップ対応にもチャレンジしました。(完全ではないかもです)

ダウンロードはこのへんから。

27 3月

Tascher Ver.1.62公開

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.62を公開しました。

○Ver.1.62 – 2017/03/27
・タスクバーへのアイコン登録に失敗すると操作ができなくなる不具合を修正。
・Migemo検索において特殊記号「[」「]」「~」でもマッチできるように。
・ウインドウリストのフレームを非表示にできない不具合を修正。
・Ver.1.61までの隠し設定を設定ダイアログの「高度な設定」タブから編集できるように。
・[表示方法]-[マウスの移動]に「上」「左」「右」「下」「マウスホイール回転時のみ」を追加。
・「restore」をShowWindow(SW_RESTORE)ではなくPostMessage(WM_SYSCOMMAND,SC_RESTORE)で行うように
・中断しているUWPアプリを列挙しないように。
・UWPアプリのアイコン表示やファイル名取得に対応。(Windows 10に対応)
・ウインドウのサムネイル表示ができるように。
・ウインドウリスト非表示時に関係のないウインドウに切り替わってしまう不具合を今度こそ修正。

ストアアプリ(UWPアプリ)の列挙やアイコン取得に対応しました。
以下、Note.txtの内容掲載。
《UWPアプリ対応メモいろいろ》

  • 中断かつタスクバーに表示されていないUWPアプリ(「設定」、「ストア」、「フォト」等々)を弾くため、
    1. WS_EX_NOREDIRECTIONBITMAPの有無でUWPアプリか確認。
    2. DwmGetWindowAttribute(DWMWA_CLOAKED)でFALSEを返すウインドウのみを列挙。
  • ↑で列挙されるウインドウはクラス名「ApplicationFrameWindow」、プロセス名は「ApplicationFrameHost.exe」とUWPアプリ共通なので、
    FindWindowEx(hWnd,NULL,”Windows.UI.Core.CoreWindow”,NULL)
    で取得したウインドウハンドルを利用し個別のプロセスを操作。
  • UWPアプリが最小化されている場合、「Windows.UI.Core.CoreWindow」は「ApplicationFrameWindow」以下ではなくトップレベルに存在するため、
    1. トップレベルの「Windows.UI.Core.CoreWindow」を列挙。
    2. ↑のウインドウタイトルを含む「ApplicationFrameWindow」を親とする。

    という処理に。
    ただ、これだと一部UWPアプリに対応出来ないと思われます。

  • UWPアプリのアイコンはSendMessage(WM_GETICON)やGetClassLongPtr(GCLP_HICON)で取得することができません。
    アイコン(HICON)取得方法は以下の通り。
    1. ↑で取得した「Windows.UI.Core.CoreWindow」のウインドウハンドルからGetWindowThreadProcessId()でプロセスIDを取得。
    2. OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION)で開く。
    3. GetPackageFullName()でパッケージ名取得。
    4. GetPackagePathByFullName()でUWPアプリのディレクトリを取得。
    5. PackageIdFromFullName()でパッケージIDを取得。
    6. UWPアプリのディレクトリにある「AppxManifest.xml」をMSXMLで開く。
    7. Square44x44Logoからロゴのパスを取得。(Windows 8.1ならSquare30x30Logo、Windows 8ならSmallLogoらしい。未確認。)
      (Microsoft Edgeなら”Assets\MicrosoftEdgeSquare44x44.png”が取得出来ました。)
    8. BackgroundColorから背景色を取得。
    9. “@{パッケージ名?ms-resource://パッケージID/Files/ロゴのパス}”をSHLoadIndirectString()に投げ、ロゴ用PNGファイルをパスを取得。
    10. Gdiplus::Bitmap()でロゴを開く。
    11. 表示用アイコンのサイズでGdiplus::Bitmapを作成し、Gdiplus::Graphics()で開き、FillRectangle(BackgroundColor)で塗りつぶす。
    12. 読み込んだロゴをDrawImage()で描画し、GetHICON()でHICONを取得。
  • 上記は全てWindows 10で確認しました。Windows 8/8.1で動作するかは不明です。

サムネイルの表示機能なんかも実装してみました。
Windows10導入と同時にXPが故障したため、XPでは動作を確認していません。

21 4月

Tascher Ver.1.61公開

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.61を公開しました。

○Ver.1.61 – 2016/04/21
・アイコンの取得をリスト表示時のみに限定する設定[ListView]CacheIconを追加。
・ドラッグ時のみマウスホバーを有効にする設定[ListView]DragMouseHoverを追加。
・ドラッグ時のみタイムアウトを有効にする設定[ListView]DragTimeOutを追加。
・コマンドメニューで設定が有効ならばチェックを付けるように。
・ウインドウリスト非表示時に関係のないウインドウに切り替わってしまう不具合を修正。
・不透明度が255でない場合に限り、WS_EX_LAYEREDを付加するように。
・ウインドウ切り替え時に落ちる場合がある不具合を修正。
・アイテム数が多い場合にウインドウリスト下部に余白が発生していた不具合を修正。
・デフォルトでウインドウリストにフレームを表示するように。
・ウインドウリストから除外するファイル名を指定する設定[Exclude]FileNameを追加。
・インクリメンタルサーチの結果、選択していたウインドウが絞り込み対象外となる場合、先頭ではなく順序が近いウインドウを選択するように。
・Migemo「デフォルトで有効」を「小文字入力で有効」に名称変更。
・Migemo「常に有効」を追加。

細かい不具合修正がメインです。
相変わらずウインドウ切り替え処理は安定しません^q^
自己解凍ファイルをインストーラに変更しました。
アップデートが少し楽に…?

Tascher161ss

29 3月

Tascher Ver.1.60公開

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.60を公開しました。

○Ver.1.60 – 2016/03/29
・インクリメンタルサーチ中、選択しているウインドウがリストにある限り選択し続けるように。
・「候補のウインドウが1つなら確定」で切り替えるまでの時間を指定できるように。(Special Thanks!:hokorobi様)
・「close」「restore」等で処理後もTascherがフォーカスを保持したままになる不具合を修正。
・メニュー表示中にホットキーを押下するとメニューが残ったままになる不具合を修正。
・リスト外アイテムのウインドウタイトルがインクリメンタルサーチの検索対象とならないことがある不具合を修正。
・Migemo検索の対象をリスト内のウインドウに限定するように。
・最小化されているウインドウに切り替える場合にまず元の大きさに戻すように。
・インクリメンタルサーチ「あいまい検索」機能、コマンド「flexmatch」(あいまい検索)を追加。
・設定項目[IncrementalSearch]ForwardMatchをMatchModeに変更。
・コマンド「uniquewindow」(候補が1つなら切り替えする/しない)を追加。
・透過PNGや透過GIFを背景画像として使用できるように。
・「背景画像」の「明るさ」を「不透明度」に変更。
・設定項目[Background]Colorを廃止。
・「背景画像」のオフセットを相対値ではなく座標値で指定するように。
・アイテム数が多い場合に、背景画像が一瞬スクロールされてしまう不具合を修正。

Tascher160ss

背景画像はまがりひろあき先生に描いていただいた、せせりちゃんです。

  

続きを読む

16 11月

Vector新着ソフトレビュー「Tascher -Task Switcher-」

Vector 新着ソフトレビュー 「Tascher -Task Switcher-」 – マウスでもキーボードでも快適に操作できる、インクリメンタルサーチ機能搭載のタスクスイッチャ

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascherについてのレビューを書いていただきました。

まさかあのVectorのソフトレビューに掲載していただけるとは…これ程嬉しいことはありません!!!!

#今回のレビュー掲載にあたり、Vectorの中の人様には大変お世話になりました。この場を借りて御礼申し上げます。

万人におすすめできるようなソフトウェアではありませんが、少しでも皆様のお役に立つことができれば幸いです。

広告