NoteゆうあんのノートメニューコンテンツへスキップHomeSoftwareServicesPuTTYのウィンドウを半透明にする方法SSHクライアントのPuTTYですが、MacやLinuxの人がやってるみたいに、ウィンドウを半透明にして表示すると、ブラウザで参考になるサイトを見ながらプログラミングできたり、あるいは動画を見ながら作業をしたりなんかもできて、いろいろ捗りますよね。ごった煮版に背景半透明化機能を付けた次のバージョンを使っていました。0.59ではうまく動かないということが分かりました。マウスホイールでスクロールすることができません。試した結果、この問題は、PuTTYのバージョンを上げれば解決することが分かりました。そこで、ごった煮のパッチが当たったPuTTYで、背景を半透明にできるものが無いかと探していたら、次のバージョンを見つけました。0.60を元にして描画処理をかなりいじったもののようですが、問題がひとつ。あと、Aeroの機能で透過すると、ぼやけてしまって後ろの文字が見えません。雰囲気はいいんですけどね。いうことで、自分でPuTTYのソースを読んで改良するか?とも思ったのですが、それは難しそう。そこで思いついたのが、Windows2000からOS標準の機能としてウィンドウを半透明にする機能が付いていて、それを利用して任意のウィンドウを透過表示にするアプリケーションが、結構昔からちらほら見かけるぞということでした。透過処理を当てるPuTTYにはこれを選びました。通常のごった煮版です。Vimでのマウス処理も、特別な設定をすること無く使えました。これが半透明で使えたら問題なしですね。半透明にするアプリを探してみると、タイトルバーをShft+クリックとかホイールクリックで、そのウィンドウを半透明にするというタイプのアプリがいくつか。それから、タスクトレイのアイコンを右クリックすると、現在開いているウィンドウの一覧が表示され、その中から任意のウィンドウを選ぶと、そのウィンドウが半透明になるという次のアプリがありました。日経トレンディネットこのアプリは、ウィンドウの透過設定を保存してくれて、次にウィンドウを開いたときに、何もしなくてもまた半透明にしてくれるので便利です。Windows7には対応していませんでした。Windows7で起動すると、タスクバーのスタートボタンの表示がおかしくなってしまうのです。副作用は他にもありました。Air製のアプリの背景を浮き出させてしまうのです。ウィンドウを半透明にするアプリは、昔作られたものが多くて、透過処理が当たり前になった最近のアプリへの影響や、Windows7での動作までを考えられたものは見つけられませんでした。ウィンドウを半透明にするのは意外と簡単です。関数で、透過度合いをセットします。ソースコードは例によって修正BSDライセンスにして、SourceForge.JPに公開しました。SourceForge.JPまだ基本的な機能を実装してみただけの状態ですが、一応使い方を説明しておきます。このプログラムは、ウィンドウを半透明にするためのもので、起動するとタスクトレイに常駐します。タスクトレイアイコンをダブルクリックすると、開いてる全てのPuTTYのウィンドウが、半透明になります。一度ダブルクリックすると、元に戻ります。タスクトレイアイコンを右クリックすると、現在開いているウィンドウのプロセス名一覧を見ることができます。ここで、任意のプロセス名をクリックすると、そのウィンドウの半透明/無透明が切り替わります。この辺りは、「半透明ウインドウマネージャ」のUIを参考にしています。副作用を最低限に抑えるようプログラムしたので、メニューから選ばなければ、PuTTY以外のウィンドウには何もしません。ガジェットとかは右クリックメニューから選ばないようにすれば、特に悪さはしないと思います。透過具合は、メニューの設定から変更できます。なっていますが、値を小さくすればより透明になります。押して、再度透明にし直して下さい。自動的に透過具合が切り替わるような機能はありません。ウィンドウの起動を検知する機能を付けたわけでも無いので、新規にPuTTYを開いたときは、タスクトレイアイコンを2回ダブルクリックして下さい。それじゃあタイトルバーをクリックして半透明を切り替えるアプリとなんら手間は変わりませんね......といった具合です。今後の課題としては、設定した透過具合の値をプログラム終了時に保存すること。Airのアプリなど、初めから副作用が出るとわかっているアプリを、右クリックメニューに出さないようにすること。これはNGリストみたいなのを作ってもらう形で対応するかもしれません。それから、新しくウィンドウが開いたことを検知して、PuTTYを初めから半透明にするようにすること。ウィンドウ一覧をプロセス名ではなくウィンドウタイトルで表示し、ウィンドウのアイコンも表示できるようにすること。したプログラムのアイコンを作ること。あと、既知の問題点として、タスクトレイアイコンを右クリックしたとき、起動して一度目の右クリックが反応しません。一度右クリックすればメニューが出ます。気が向いたらぼちぼち直していきます。バージョンアップしました。新規に起動したPuTTYに対しても透過処理を行うようにした設定値を保存するようにしたメニューで透過済みの項目がチェック状態になるようにしたNGリストを実装(仮)PuTTYに限っては、ダブルクリックで透過する状態にしていた場合に、新規ウィンドウを開くと、そのウィンドウも透過させます。起動の検知にはタイマーを使っていて、500msごとにプロセスを監視しているので、若干の遅れを感じるかもしれません。NGリストは仮実装です。一度起動してから終了すると、TraPtty.xmlというファイルに設定が書き込まれますので、それを書き換えるとNGリストが編集できます。NGリストに書いた文字列と、プロセス名が一致した場合に、右クリックメニューにそのプロセスを表示しないようにします。気にしていなかったのですが、ふと思いついて検索したところ此方のサイトを見つけました。半透明化した方が、やや使いやすくなり重宝しそうです。他のソフトも半透明化できるのも便利です。良いソフトをありがとうございます。コメントを残すコメントをキャンセルAbout孤独でちっぽけなプログラマが思いついたまま書きつづているブログです。内容は主にプログラミングやコンピューターおよびネットワーク技術全般と、つまらない日記。最近はスマートフォンなんかにも興味を持ってみたり。