メニューの残像

Windows 7で画面にメニューの選択項目の残像が残ってしまった。
といってもメニューが開きっぱなしのまま非アクティブになっていて、適当にメニュー内をクリックすればフォーカスが戻って消せる、というものではない*1。hover状態のメニュー項目1つだけが残った状態。

ウインドウを重ねていてもしつこく見えているし、これが起きたメニューのオーナーであるコマンドプロンプトのウインドウを閉じても残っている。グラフィックドライバではなくウインドウマネージャに問題がある雰囲気だった。
ちなみにクリックは下に透過するので純粋に見た目のみの問題で、一度出るとそれ以上は発生しないため残像は2重にはならない。

発生のタイミングだが、メニューの表示アニメーションが途中で止まって半透明状態になるとこの現象の兆候だ。

uxsms (Desktop Window Manager Session Manager)をリスタートすると消える。ログアウトでも消えるはずだ。

net stop uxsms
net start uxsms

当然かもしれないがAeroオフだと起きない雰囲気で、残像が出るとメニュー表示のアニメーションが無効になる。そこで システムの詳細設定 > 詳細設定 > パフォーマンス > 設定 から「メニューをフェードまたはスライドして表示する」「メニュー項目をクリック後にフェード アウトする」を外してみたら起きなくなった。気がする。

そういえばメニューのアニメーションについてはVistaにした当初はその数十ミリ秒?単位の遅れがいちいち気になっていたものだがすぐに忘れて慣れていた。今回オフにしたら逆に違和感があったのだがこちらもすぐに気にならなくなった。

*1:Vista以降、年に何度か起きるがEscキーをメニューに送れないのでキーでは閉じられず面倒臭い。