WGGの活動log

都内でゲーム開発だったりVRだったりをしてるかもしれないエンジニアです. WGGは「ワグ」と読みます

ウィンドウを透過するショートカットキーを作成した

普段作業をしていると,「文章を書きながら動画も見たい」なんて思うことがありました.
かといってウィンドウを分割するとそれぞれの面積が小さくなり文章は書きづらくなります.

そこで,ウィンドウを半透明にできれば1つの領域に2つのウィンドウを置くことができます.

今回作ったもの

www.youtube.com

使ったアプリケーション

www.gigafree.net

TranspWnds

TranspWndsはウィンドウ拡張ツールです.
キー+マウスで以下のような機能を利用することができます.

  • タイトルバー以外をドラッグしてもウィンドウを移動できる
  • ウィンドウの端以外をドラッグしても拡大縮小できる
  • タイトルバーを非表示にする
  • ウィンドウを最前面に固定する
  • ウィンドウの透過率を指定する

今回は,透過率指定の機能を利用します.

TranspWnds単体使用の問題点

TransWndsだけを用いると,ウィンドウの透過はALT/CTRL/SHIFT/Win キー + マウスホイールの回転でしか実行できません
僕のようにマウスを使わないユーザーにとっては非常に使いづらいので,これをキーボードだけで実行できるようにするのが,AutoHotKeyです

AutoHotKey

AutoHotkeyはホットキーへの機能の割り当てなど常駐ソフトの作成に特化したスクリプトエンジン。多彩なコマンドが用意されており、GUIを持ったプログラムの作成も可能。
任意のキーの割り当て変更、マクロ、ウインドウ操作 ...
オープンソースの簡易プログラム言語、Windowsフリーソフト
(AutoHotkey Wiki)

つまりは,スクリプトを書いて実行するだけで,入力内容を変更する常駐ソフトを作成することができます!

スクリプト作成例

今回は,AutoHotKeyとTranspWndsを組み合わせて,「Win+Tでウィンドウを半透明に,Win+Shift+Tで半透明にしたウィンドウを元に戻す」ように実装してみます.
まず,TranspWndsのオプションで「Transparent」の項目をALTだけチェックを入れておきます
次に,適当なファイルを作成し,拡張子を.ahkにして以下を記述します.

;;; Win + T → Windowを半透明に
#t::
  Send,{Alt Down}
  Send,{WheelDown 30}
  Send,{Alt Up}
  return

;;; Win + Shift + T → Windowの半透明化を元に戻す
#+t::
  Send,{Alt Down}
  Send,{WheelUp 30}
  Send,{Alt Up}
  return 


これに対してRun Script を実行することで,Win+Tキーでアクティブウィンドウを半透明にすることができます.
透明度はTranspWndsで上限を設定しておいてください

ahkスクリプトの説明

#+t::

#:Windowsキー

  1. :Shiftキー

t:tキー
の3つを同時に押したときに処理を実行します

Send,{Alt Down}
Send,{WheelUp 30}
Send,{Alt Up}

Send,{Alt Down}で Altキーを押した状態に変更,
Send,{WheelUp 30}で マウスホイールを上に30ミリ秒間回転
Send,{Alt Up}でAltキーを離します

まとめ

こんな感じで,AutoHotKeyを使うと,Windows標準ではできないショートカットの作成など,色んな機能を追加できます.
スクリプトの規則もそこまで複雑ではないのでぜひ試してみてくださいね♪