<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>yuuAn&#039;s Note</title>
    <link>http://www.yuuan.net/blog/</link>
    <description></description>
    <!-- optional tags -->
    <language>ja</language>           <!-- valid langugae goes here -->
    <generator>Nucleus CMS v3.64</generator>
    <copyright>&#169;yuuAn</copyright>             <!-- Copyright notice -->
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://www.yuuan.net/blog/nucleus/yuuan.png</url>
      <title>yuuAn&#039;s Note</title>
      <link>http://www.yuuan.net/blog/</link>
    </image>
    <item>
 <title><![CDATA[Firefoxでよく使うメニュー項目にアイコンを付けた]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=833</link>
<description><![CDATA[<a href="./index.php?itemid=830" title="yuuAn's Note / Firefoxからリンクをメールで送るとかそういうの滅多にしないよ">前回書いた記事</a>のこのスクリーンショットで、「名前を付けてリンク先を保存」のところにアイコンが付いているのに気が付かれたでしょうか。<br />
<br />
Firefox の右クリックメニューってアイコンが付いていないのが多くて、目的の項目を探すのにじっくり目をこらさないといけなかったんですよね。<br />
<br />
中でも特によく使う項目として、「名前を付けてリンク先を保存」と「名前を付けて画像を保存」があって、それにおまけで「名前を付けてページを保存」を加えて、それらにアイコンを付けるアドオンを作ってみました。<br />
<ul class="link"><li><a href="https://addons.mozilla.org/ja/firefox/addon/saveicon/" target="_blank">saveicon :: Add-ons for Firefox</a></li></ul>
以下のスクリーンショットは、リンクされた画像を右クリックしたときのもの。<br />
<br />
Firefox のデザインは CSS で行うことができるのですが、既存のメニュー項目にアイコンを付けるには、class の値を変更しないといけないみたいだったので、JavaScript で書きました。<br />
<br />
以下は、メニュー項目のアイコンを変更している部分のソースコードです。<br />
<div class="code">var saveicon = {<br />
&nbsp;&nbsp;&nbsp;&nbsp;init: function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var savepage = document.getElementById("<span class="red">context-savepage</span>");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (savepage) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;savepage.className = "menuitem-iconic";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;savepage.style.listStyleImage = 'url("chrome://saveicon/skin/images/SavePage.png")';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var saveimage = document.getElementById("<span class="red">context-saveimage</span>");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (saveimage) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saveimage.className = "menuitem-iconic";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saveimage.style.listStyleImage = 'url("chrome://saveicon/skin/images/SaveImage.png")';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var savelink = document.getElementById("<span class="red">context-savelink</span>");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (savelink) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;savelink.className = "menuitem-iconic";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;savelink.style.listStyleImage = 'url("chrome://saveicon/skin/images/SaveLink.png")';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;},<br />
}<br />
<br />
window.addEventListener('load', saveicon.init, false)<br />
</div><br />
これは、上のリンクからダウンロードした xpi ファイルを展開するか、あるいはインストール後に下記のフォルダの中を見ると見付けることができます。<br />
<div class="term">C:\Users\<span class="blue">yuuAn</span>\AppData\Roaming\Mozilla\Firefox\Profiles\<span class="blue">********.default</span>\extensions\saveicon@yuuan.net\</div><br />
<strong>\chrome\skin\classic\saveicon\images</strong><br />
この中に16x16サイズのアイコン画像があるので、差し替えるなり追加するなりして下さい。<br />
<br />
<strong>\chrome\content\saveicon.js</strong><br />
これを開くと上のコードが出てくるので、上で赤く書いたIDの部分を好きなものに書き換えると、他のメニュー項目にもアイコンを付けることができます。<br />
]]></description>
 <category>Firefox</category>
<comments>http://www.yuuan.net/blog/?itemid=833</comments>
 <pubDate>Thu, 16 Feb 2012 15:00:18 +0900</pubDate>
</item><item>
 <title><![CDATA[Firefoxからリンクをメールで送るとかそういうの滅多にしないよ]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=830</link>
<description><![CDATA[Firefox で画像を右クリックすると、「画像の URL をメールで送信」っていうメニュー項目が出てくる。<br />
<br />
けどこれ、滅多に使わない。<br />
てゆーか、間違えてクリックしちゃったとき<span class="footnote"><a class="fn" href="#830-1" title="「名前を付けて画像を保存」の直下にあるから間違ってクリックしやすい。">*1</a><a name="830-1f"></a></span>に、いちいちメーラーが起動して鬱陶しい！邪魔！<br />
<br />
ってことで、消しました。<br />
<br />
いじったのは userChrome.css というファイルで以下にあります。<br />
<div class="term">C:\Users\<span class="blue">yuuAn</span>\AppData\Roaming\Mozilla\Firefox\Profiles\<span class="blue">********.default</span>\chrome\</div><br />
あるいは無いので、新規作成し、次のようなCSSを書きます。<br />

<div class="code"><span class="green">/*<br />
&nbsp;* 「リンクの URL をメールで送信」を非表示<br />
&nbsp;*/</span><br />
<br />
#context-sendlink {<br />
&nbsp;&nbsp;&nbsp;&nbsp;visibility: collapse;<br />
}<br />
<br />
<span class="green">/*<br />
&nbsp;* 「ページの URL をメールで送信」を非表示<br />
&nbsp;*/</span><br />
<br />
#context-sendpage {<br />
&nbsp;&nbsp;&nbsp;&nbsp;visibility: collapse;<br />
}<br />
<br />
<span class="green">/*<br />
&nbsp;* 「画像の URL をメールで送信」を非表示<br />
&nbsp;*/</span><br />
<br />
#context-sendimage {<br />
&nbsp;&nbsp;&nbsp;&nbsp;visibility: collapse;<br />
}<br />
<br />
<span class="green">/*<br />
&nbsp;* 「動画の URL をメールで送信」を非表示<br />
&nbsp;*/</span><br />
<br />
#context-sendvideo {<br />
&nbsp;&nbsp;&nbsp;&nbsp;visibility: collapse;<br />
}<br />
<br />
<span class="green">/*<br />
&nbsp;* 「オーディオの URL をメールで送信」を非表示<br />
&nbsp;*/</span><br />
<br />
#context-sendaudio {<br />
&nbsp;&nbsp;&nbsp;&nbsp;visibility: collapse;<br />
}<br />
</div><ul class="footnote"><li><a name="830-1"></a><a class="fn" href="#830-1f">*1)</a> 「名前を付けて画像を保存」の直下にあるから間違ってクリックしやすい。</li></ul>]]></description>
 <category>Firefox</category>
<comments>http://www.yuuan.net/blog/?itemid=830</comments>
 <pubDate>Thu, 16 Feb 2012 06:03:44 +0900</pubDate>
</item><item>
 <title><![CDATA[「タブバー上をホイールスクロールでタブ切り替え」が誤動作]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=828</link>
<description><![CDATA[<br />
Firefox の <a href="https://addons.mozilla.org/ja/firefox/addon/tab-mix-plus/" target="_blank" title="Tab Mix Plus :: Add-ons for Firefox">Tab Mix Plus</a> というアドオンに「タブバー上をホイールスクロールでタブ切り替え」という機能があるのですが、Firefox のバージョンを 10 にしたら、ホイールを回したときに <strong>ふたつ</strong> 隣のタブに切り替わるようになっちゃいました。<br />
<br />
どうやらこの機能をFirefoxが標準でサポートして、それとTab Mix Plusの機能が重なって起こる現象のようですね。<br />
Tab Mix Plus側のこの機能をオフにしたら直りました。<br />

]]></description>
 <category>Firefox</category>
<comments>http://www.yuuan.net/blog/?itemid=828</comments>
 <pubDate>Thu, 16 Feb 2012 02:01:33 +0900</pubDate>
</item><item>
 <title><![CDATA[Xperia acro HDさわってきた]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=826</link>
<description><![CDATA[<a href="http://www.dcm-spl.com/" target="_blank" title="docomo smartphone lounge ホーム | NTTドコモ">docomo スマートフォンラウンジ</a>に行って、Xperia acro HDを触ってきました。<br />
<br />
一番気になっていたブラウジングはかなりサクサクしていて、読み込んでるときには多少カクつくページもありましたが、一度読み込んでしまえば、画像やFlashなどが多い重たいページでもスムーズに見ることができました。<br />
スクロールとか拡大縮小をしまくると、多少不自然な感じがしましたが、処理の遅さよりも、タッチセンサーの感度が原因な気がします。みなさんが今後のチューニングに期待と言ってる部分ですね。<br />
<br />
タッチキーは見ながらタッチすれば押し間違えたりすることはありませんでした。反応も良かったです。<br />
サイドの物理キーは少し強く押し込まないと反応しなくて、左手で電源ボタンを押すのがちょっと押しづらかったです。<br />
本体は大きいんですけど、丸みを帯びているので持ちやすかったです。<br />
<br />
カメラ起動は凄く早くて驚きました。普段使いがX10だと、早いと言われていてもなお早く感じます。<br />
これってバーコードリーダーみたいなアプリでカメラ使うときも起動が早くなるのかな？<br />
<br />
ワンセグ映像は、圧縮しまくった動画、あるいは昔のビデオテープに撮ったテレビ映像みたいに汚かったですけど、見れないほどではないかな。<br />
あれでフルハイビジョンのテレビと同じ金額のNHK受信料を取られるっていうんだから、なんか変なの。<br />
緊急時に見るといった感じかな。<br />
<br />
最後にUserAgentを。<br />
<blockquote>Mozilla/5.0 (<br />
Linux; U; Android 2.3.7; ja-jp; SonyEricssonSO-03D Build/6.0.A.1.245) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0<br />
Mobile Safari/533.1</blockquote><br />

]]></description>
 <category>Xperia</category>
<comments>http://www.yuuan.net/blog/?itemid=826</comments>
 <pubDate>Tue, 7 Feb 2012 23:32:54 +0900</pubDate>
</item><item>
 <title><![CDATA[Androidアプリをバージョンアップする方法のメモ]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=824</link>
<description><![CDATA[自作Androidアプリをバージョンアップさせるときの手順。<br />
忘れそうだったので、メモしておきます。<br />
<br />
プログラムに修正を加えて、動作確認ができたら、まずバージョン番号を上げます。<br />
AndroidManifest.xml を開いたら [Manifest] タブを選択し、[version code] を ＋1 します。<br />
この値はかならず正の整数。<br />
[version name] は、任意の数上げます。<br />
できたら保存してビルドします。<br />
<br />
次に apkファイル を出力します。<br />
Eclipse で [Java] パースペクティブを選び、[パッケージ・エクスプローラー] からプロジェクト（仮に <span class="blue">my-android-project</span> とする）を選び、右クリックする。<br />
[Androidツール] → [Export Unsigned Application Package...] を選ぶ。<br />
保存ダイアログが表示されるので、保存場所とファイル名を指定して（仮に <span class="blue">C:\Users\yuuAn\Desktop\my-android-project.apk</span> とする）、保存する。<br />
<br />
次に署名を行います。<br />
keystore は <span class="blue">C:\Users\yuuAn\.android\my-release-key.keystore</span> にあるとします。<br />
<div class="term">C:\Users\yuuAn\Desktop&gt; jarsigner -verbose -keystore "<span class="blue">C:\Users\yuuAn\.android\my-release-key.keystore</span>" "<span class="blue">C:\Users\yuuAn\Desktop\my-android-project.apk</span>" <span class="blue">my-release-key</span></div>
<span class="blue">青字</span>の部分は適宜変更。<br />
キーストアのパスワードと鍵のパスワードを入力すれば、署名完了。<br />
<br />
次に Zipalign を適用します。<br />
<div class="term">C:\Users\yuuAn\Desktop&gt; zipalign -v 4 "<span class="blue">C:\Users\yuuAn\Desktop\my-android-project.apk</span>" <span class="blue">my-android-project-release.apk</span></div>
<br />
最後に <span class="blue">my-android-project-release.apk</span> を公開します。<br />
<a href="https://market.android.com/publish/Home" target="_blank" title="デベロッパー コンソール">Android デベロッパー コンソール</a>から、先ほど作成した <span class="blue">my-android-project-release.apk</span> をアップロードします。<br />
<br />
[商品の詳細] タブの [掲載情報] にある [Recent Changes] に、更新情報を書きます。<br />
保存します。<br />
<br />
しばらくすると、新しいファイルが反映され、マーケットからアップデートできるようになります。<br />

]]></description>
 <category>Programming</category>
<comments>http://www.yuuan.net/blog/?itemid=824</comments>
 <pubDate>Sat, 21 Jan 2012 01:20:44 +0900</pubDate>
</item><item>
 <title><![CDATA[Androidで共有したときのアプリ名を任意のものにする]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=822</link>
<description><![CDATA[Androidで共有（暗黙的インテント）できるアプリ一覧に、自分のアプリを追加するためには、AndroidManifest.xml に、<br />
<div class="code">&lt;intent-filter <span class="red">android:label="@string/intent_name"</span>&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;action android:name="android.intent.action.SEND" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;category android:name="android.intent.category.DEFAULT" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;data android:mimeType="text/plain" /&gt;<br />
&lt;/intent-filter&gt;</div><br />
このようなインテントフィルターを追加しますが、この時に<span class="red">赤字</span>の部分でラベルを指定すると、アプリ一覧に表示されるアプリ名を、ドロワーに表示されるアプリ名とは別のものにできます。<br />

]]></description>
 <category>Programming</category>
<comments>http://www.yuuan.net/blog/?itemid=822</comments>
 <pubDate>Sat, 21 Jan 2012 00:56:22 +0900</pubDate>
</item><item>
 <title><![CDATA[久しぶりにAndroidアプリ開発しようと思ったら動かない件]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=820</link>
<description><![CDATA[<a href="./index.php?itemid=794" title="yuuAn's Note / 共有メニューからmixiチェックするAndroidアプリ">以前作った mixi Checking! for Android というAndroidアプリ</a>をアップデートしようと思って、久しぶりにEclipseを起動したのですが、実行してもエラーが出てしまいました。<br />
<blockquote>Your project contains error(s), please fix them before running application.</blockquote><br />
何がエラーなのか分からなくて、さんざん悩んだんですが、「問題」というタブを見たら、次のようなエラーが出ていました。<br />
<blockquote>Error generating final archive: Debug certificate expired on 12/01/19 23:50!</blockquote><br />
ググってみると、どうやらこれは debug.keystore の有効期限が切れているのが原因のようでした。<br />
<ul class="link">
<li><a href="http://d.hatena.ne.jp/katsat/20110120/1295496478" target="_blank">「Your project contains error(s)～」エラーの解決法 - perceive gradually it</a></li>
<li><a href="http://sites.google.com/site/is03androiddev/kon-natokiha/debug-keystore-qi-xian-qiere" target="_blank">debug.keystore期限切れ - IS03ではじめるAndroidアプリ開発</a></li>
</ul>

有効期限を延ばした debug.keystore を作り直すには、以下のようにします。<br />
<div class="term">C:&gt; cd \Users\<span class="blue">yuuAn</span>\.android<br />
C:\Users\yuuAn\.android&gt; move debug.keystore debug.keystore.old<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 個のファイルを移動しました。<br />
C:\Users\yuuAn\.android&gt; keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 -dname "CN=Android Debug,O=Android,C=US"<br />
キーストアのパスワードを入力してください: <span class="red">android</span><br />
新規パスワードを再入力してください: <span class="red">android</span><br />
10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を<br />
生成しています<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ディレクトリ名: CN=Android Debug, O=Android, C=US<br />
<androiddebugkey> の鍵パスワードを入力してください。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(キーストアのパスワードと同じ場合は RETURN を押してください):<br />
[debug.keystore を格納中]<br />
</div><br />
パスワードは android と入力します。<br />
有効期限は 10000 としておけば、30年くらい有効になります。<br />
]]></description>
 <category>Programming</category>
<comments>http://www.yuuan.net/blog/?itemid=820</comments>
 <pubDate>Sat, 21 Jan 2012 00:37:58 +0900</pubDate>
</item><item>
 <title><![CDATA[NP_TrackBackでトラックバックされた数にローカルのものも含む]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=818</link>
<description><![CDATA[Nucleusのプラグイン <a href="http://japan.nucleuscms.org/wiki/plugins:trackback" target="_blank" title="plugins:trackback [Nucleus CMS Japan Wiki]">NP_TrackBack</a> で、トラックバックされた数を表示するには、<div class="code">&lt;%TrackBack(count)%&gt;</div>と書きますが、これだと外部からのトラックバックのみがカウントされ、ローカルのトラックバックがカウントされません。<br />
<br />
そこで、両方がカウントされるように、NP_TrackBack を修正しました。<br />
<br />
ソースコードは GitHub にアップロードしました。<br />
<ul class="link"><li><a href="https://github.com/yuuan/NP_TrackBack" target="_blank">yuuan/NP_TrackBack - GitHub</a></li></ul><br />
GitHubを使うのは初めてなので、使い方が間違ってるかもしれません。<br />
初めに、元にした v.2.0.3 jp13 をコミットしてから、修正をコミットすれば良かったと、後で思いましたが、取り消し方が分からないのでそのままです。<br />

]]></description>
 <category>Nucleus</category>
<comments>http://www.yuuan.net/blog/?itemid=818</comments>
 <pubDate>Fri, 20 Jan 2012 23:34:36 +0900</pubDate>
</item><item>
 <title><![CDATA[PuTTYのウィンドウを半透明にする方法]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=810</link>
<description><![CDATA[SSHクライアントのPuTTYですが、MacやLinuxの人がやってるみたいに、ウィンドウを半透明にして表示すると、ブラウザで参考になるサイトを見ながらプログラミングできたり、あるいは動画を見ながら作業をしたりなんかもできて、いろいろ捗りますよね。<br />
<br />
それで、何年か前からPuTTY 0.59 ごった煮版に背景半透明化機能を付けた次のバージョンを使っていました。<br />
<ul class="link"><li><a href="http://www6.atwiki.jp/pokatan/" target="_blank">もの置き場 - PuTTY マウス選択挙動変更+背景半透明化 + 文字ふちどりパッチ</a></li></ul><br />
ところが最近になって、<a href="http://kaede.to/~canada/doc/vimiythyyuceoioei" target="_blank" title="おさかなラボ - vimのマウス機能が便利すぎる件">Vimでマウスが使える</a>ことを知り、PuTTYを通してマウス操作をしようと思うと、PuTTY 0.59ではうまく動かないということが分かりました。<br />
例えば、マウスホイールでスクロールすることができません。<br />
<br />
いろいろ試した結果、この問題は、PuTTYのバージョンを上げれば解決することが分かりました。<br />
そこで、ごった煮のパッチが当たったPuTTYで、背景を半透明にできるものが無いかと探していたら、次のバージョンを見つけました。<br />
<ul class="link"><li><a href="http://ice.hotmint.com/putty/d2ddw.html" target="_blank">iceiv+putty</a></li></ul><br />
こちらはPuTTY 0.60を元にして描画処理をかなりいじったもののようですが、問題がひとつ。ちょっと重いのです。<br />
あと、Aeroの機能で透過すると、ぼやけてしまって後ろの文字が見えません。雰囲気はいいんですけどね。<br />
<br />
ということで、自分でPuTTYのソースを読んで改良するか？とも思ったのですが、それは難しそう。<br />
そこで思いついたのが、Windows2000からOS標準の機能としてウィンドウを半透明にする機能が付いていて、それを利用して任意のウィンドウを透過表示にするアプリケーションが、結構昔からちらほら見かけるぞということでした。<br />
<br />
透過処理を当てるPuTTYにはこれを選びました。<br />
<ul class="link"><li><a href="http://yebisuya.dip.jp/Software/PuTTY/" target="_blank">PuTTY ごった煮版</a></li></ul><br />
通常のごった煮版です。Vimでのマウス処理も、特別な設定をすること無く使えました。<br />
これが半透明で使えたら問題なしですね。<br />

 <br />
半透明にするアプリを探してみると、タイトルバーをShft＋クリックとかホイールクリックで、そのウィンドウを半透明にするというタイプのアプリがいくつか。<br />
それから、タスクトレイのアイコンを右クリックすると、現在開いているウィンドウの一覧が表示され、その中から任意のウィンドウを選ぶと、そのウィンドウが半透明になるという次のアプリがありました。<br />
<ul class="link"><li><a href="http://trendy.nikkeibp.co.jp/article/tec/online/20031031/106408/" target="_blank">ウインドウを半透明にできる「半透明ウインドウマネージャ」 - デジタル - 日経トレンディネット</a></li></ul>
このアプリは、ウィンドウの透過設定を保存してくれて、次にウィンドウを開いたときに、何もしなくてもまた半透明にしてくれるので便利です。<br />
<br />
しかし、Windows7には対応していませんでした。<br />
Windows7で起動すると、タスクバーのスタートボタンの表示がおかしくなってしまうのです。<br />
副作用は他にもありました。もともと透過機能を使っているWindows7のガジェットや、Adobe Air製のアプリの背景を浮き出させてしまうのです。<br />
<br />
ウィンドウを半透明にするアプリは、昔作られたものが多くて、透過処理が当たり前になった最近のアプリへの影響や、Windows7での動作までを考えられたものは見つけられませんでした。<br />
だったら作ればいいじゃん。<br />
<br />
ウィンドウを半透明にするのは意外と簡単です。<br />
Win32APIを使うのですが、目的のウィンドウのウィンドウハンドル (hWnd) に対して、SetWindowLong() 関数で GWL_EXSTYLE という透過できるようにするための属性をセットした後、SetLayeredWindowAttributes() 関数で、透過度合いをセットします。<br />
<br />
<br />
早速作ってみました。<br />
ソースコードは例によって修正BSDライセンスにして、SourceForge.JPに公開しました。<br />
<ul class="link"><li><a href="http://sourceforge.jp/projects/traputty/simple/" target="_blank">とらぷてぃ。 プロジェクト日本語トップページ - SourceForge.JP</a></li></ul><br />
まだ基本的な機能を実装してみただけの状態ですが、一応使い方を説明しておきます。<br />
<br />
このプログラムは、ウィンドウを半透明にするためのもので、起動するとタスクトレイに常駐します。<br />
タスクトレイアイコンをダブルクリックすると、開いてる全てのPuTTYのウィンドウが、半透明になります。<br />
もう一度ダブルクリックすると、元に戻ります。<br />
<br />
また、タスクトレイアイコンを右クリックすると、現在開いているウィンドウのプロセス名一覧を見ることができます。<br />
ここで、任意のプロセス名をクリックすると、そのウィンドウの半透明/無透明が切り替わります。<br />
この辺りは、「半透明ウインドウマネージャ」のUIを参考にしています。<br />
<br />
副作用を最低限に抑えるようプログラムしたので、メニューから選ばなければ、PuTTY以外のウィンドウには何もしません。<br />
ガジェットとかは右クリックメニューから選ばないようにすれば、特に悪さはしないと思います。<br />
<br />
透過具合は、メニューの設定から変更できます。<br />
初期値は僕の好みで 210 となっていますが、値を小さくすればより透明になります。<br />
値を変更したら OKボタン を押して、再度透明にし直して下さい。自動的に透過具合が切り替わるような機能はありません。<br />
<br />
ウィンドウの起動を検知する機能を付けたわけでも無いので、新規にPuTTYを開いたときは、タスクトレイアイコンを２回ダブルクリックして下さい。<br />
って、それじゃあタイトルバーをクリックして半透明を切り替えるアプリとなんら手間は変わりませんね……<br />
<br />
といった具合です。<br />
<br />
<br />
今後の課題としては、設定した透過具合の値をプログラム終了時に保存すること。<br />
ガジェットやAdobe Airのアプリなど、初めから副作用が出るとわかっているアプリを、右クリックメニューに出さないようにすること。これはNGリストみたいなのを作ってもらう形で対応するかもしれません。<br />
それから、新しくウィンドウが開いたことを検知して、PuTTYを初めから半透明にするようにすること。<br />
ウィンドウ一覧をプロセス名ではなくウィンドウタイトルで表示し、ウィンドウのアイコンも表示できるようにすること。<br />
ちゃんとしたプログラムのアイコンを作ること。<br />
あと、既知の問題点として、タスクトレイアイコンを右クリックしたとき、起動して一度目の右クリックが反応しません。もう一度右クリックすればメニューが出ます。<br />
<br />
気が向いたらぼちぼち直していきます。<br />
<br />
<h5 title="2012/01/14">■ 追記</h5><br />
早速バージョンアップしました。<br />
<ul>
<li>新規に起動したPuTTYに対しても透過処理を行うようにした</li>
<li>設定値を保存するようにした</li>
<li>メニューで透過済みの項目がチェック状態になるようにした</li>
<li>NGリストを実装（仮）</li>
</ul><br />
PuTTYに限っては、ダブルクリックで透過する状態にしていた場合に、新規ウィンドウを開くと、そのウィンドウも透過させます。<br />
起動の検知にはタイマーを使っていて、500msごとにプロセスを監視しているので、若干の遅れを感じるかもしれません。<br />
<br />
NGリストは仮実装です。<br />
一度起動してから終了すると、TraPtty.xmlというファイルに設定が書き込まれますので、それを書き換えるとNGリストが編集できます。<br />
NGリストに書いた文字列と、プロセス名が一致した場合に、右クリックメニューにそのプロセスを表示しないようにします。<br />
]]></description>
 <category>Programming</category>
<comments>http://www.yuuan.net/blog/?itemid=810</comments>
 <pubDate>Sat, 14 Jan 2012 12:32:55 +0900</pubDate>
</item><item>
 <title><![CDATA[マイミクから誰が外れたのかを知りたい]]></title>
 <link>http://www.yuuan.net/blog/index.php?itemid=808</link>
<description><![CDATA[「そうしてあなたは去っていくのね」というmixiアプリがありました。<br />
このアプリは、マイミクに誰がいるかを記録してくれて、次にこのアプリを開いたときにいなくなってる人が誰なのかを知らせてくれるアプリでした。<br />
とても便利だったのですが、サービス終了してしまって残念に思っていました。<br />
<br />
そこで、そしあなっぽいアプリを自分で作ってみました。 <br />
<ul class="link"><li><a href="http://www.yuuan.net/mixi-friends/" target="_blank">ともだちめも</a></li></ul><br />
マイミクの取得には、mixi Graph API を使っています。<br />
ただ、mixi Graph API には欠点があって、mixi の中の「<a href="http://mixi.jp/connect_manage_acl.pl" target="_blank" title="[mixi] 外部サービスのプライバシー設定">外部サービスのプライバシー設定</a>」で「外部サービスとの連携を許可する」のチェックを外しているユーザーの情報が取得できないんです。<br />
なので、許可しない設定にしてるマイミクはカウントされませんし、途中で許可しない設定にされると、マイミクから外れたのか許可を止めたのかわかりません。<br />
<br />
この欠点を補うには、誰かのIDとパスワードを使って mixi の HTML を取得して、それを解析するしかなさそうなのですが、あまりスマートなやり方ではないので、どうしようかなあ。<br />
<br />
というわけで、まだα版といった段階ですが、一応公開しておきます。<br />

]]></description>
 <category>Linux＆Server</category>
<comments>http://www.yuuan.net/blog/?itemid=808</comments>
 <pubDate>Thu, 5 Jan 2012 21:58:21 +0900</pubDate>
</item>
  </channel>
</rss>
