モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

MetroRadiance と SylphyHorn と VirtualDesktop

 今日はざっと進捗報告です。順調にいけば 2, 3 日以内に PR 準備できるのじゃないかな?

1. Virtual Desktop

github.com

 Windows 10 May 2020 Update (2004, 20H1) から,仮想デスクトップの名前を変更する機能が実装されました。

 従来は「デスクトップ 1」「デスクトップ 2」と言った味気ない名前でしたが,公式に名前を変更することができるようになっています。

 すでにそれ用のインターフェースが発見されており,それを参考に Virtual Desktop 向けに移植しました。

github.com

 実装している最中は Mastodon をご覧ください(このスレッドを見ることで関連トゥートもみれます)。

mstdn.jp

 新機能実装してみようかな,っていうノリなので,特に深い意味はないです。

7/24追記: IVirtualDesktopNotification2 やつけた。

mstdn.jp

PR:

github.com

2. MetroRadiance

github.com

 淡色の実装とかされていたみたいですが,アクリルなブラーが実装されていなかったので,さくっと実装しました。

 ただし,アクリルなブラーはパフォーマンスに問題(ウィンドウの移動に問題があります)があるのは May 2020 Update でも存在するようです。

sourcechord.hatenablog.com

 基本的に,アクリル効果は WinUI や UWP でしか想定してないので,仕方ないと思います。

 従来あったブラーとアクリルなブラーを左右に並べてみましたが,結構印象が違います。

mstdn.jp

 アクリル効果の使い方は以下の通りです。基本的な透過率は 80% ですね。

docs.microsoft.com

 ただこのアクリルウィンドウ,まさかの要素が描画されていないところは HitTest 通らないという不具合があって,理由を探っている段階ですね。いまいちよくわからないので,調査に時間がかかりそうです。

7/28追記: ちなみに 200% 環境で使っていると以下のように上の線が正しく描画されていません。

mstdn.jp

PR:

github.com

github.com

github.com

3. SylphyHorn

github.com

 デスクトップの名付けた名前に対応およびアクリル効果の通知ウィンドウには対応しようかな,って。それ以外は PR 投げるかわからないので脳内だけで……

mstdn.jp

 色々あったら便利だろうなって機能はあるんですけどね。例えば System Menu に移動系やピン留めと言ったものを入れる,他にも仮想デスクトップごとに輝度をいじる(プログラミング用は 10,動画閲覧用は 70 と言ったように),とか……。

 個人的には WinUI に移植する(まあ遊びなので PR 投げたりはしませんけど)とかそういうのはやってみてもいいのかも,って思ったりします。WinUI 3 にしちゃうと,1803 以降しか使えなくなっちゃいますけどね。まあどうせやるなら,WinUI と C++/WinRT (not C++/CX) で省メモリー化する方がもっと面白いかもですね。C++/WinRT は一度書いてみたいですし。

 まだ使ったことない人は是非ストアからおとして使ってみると良いです。

www.microsoft.com

7/30 追記: 手元のバージョンでは淡色対応できました。単純ですけどね。SylphyHorn の MetroRadiance の更新が入り次第 PR かなーと。

f:id:mntone:20200730172558p:plain

4. 最後に: 他機能はモチベーション次第

 久々に Visual Studio で Win32 遊んだわけですけど,Win32 触ってて楽しいですよね。もともと最近ネタ系のプログラムってあんまり書いてなかったんですけど,ふとした興味で仮想デスクトップの名前関連の API にどのようになっているんだろう? って興味本位から調べてたら今日コード書いてましたね。

 仮想デスクトップ関連は実際日常的に使っておられる方もいるので,こうした機能追加されたら嬉しいと思いますので,またちまちま Win32 でも書こうかなと。

 個人的には WinUI かなり期待しているんですけどね。WinUI 3 + Rust でなんか書いてみたいなぁとは正直思っているんですけど,あまり書きたいネタがないんですよね。今,世の中のソフトウェアってかなり満足するものが多くて,あまり書こうという気が起こらないのは本当に良い時代だと思いますね。