SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

Electron+TypeScriptなプロジェクトの雛形を更新~Electron2.0.0+TypeScript2.8.3~

以前作ったElectron+TypeScriptのサンプルコードを、それぞれの最新バージョンにアップデートしました。

それぞれ、以下のバージョンに更新しました。

  • electron v2.0.0
  • typescript v2.8.3

今回もコードには変更を加えず、ライブラリ類のバージョン更新だけしてます。

ちなみに、electronがv2.0.0とメジャーバージョンが上がっています。
electron v2以降ではバージョニングのルールを変更し、今後はのアップデート時にはSemantic Versioningに沿ってバージョン番号を付けていくとのことです。 https://electronjs.org/blog/electron-2-semantic-boogaloo

ChromiumやNode.jsのメジャーバージョン更新でelectronのメジャーバージョンも上げていくとのことなので、今後はelectronのバージョンもChromeみたいに頻繁に上がっていくことになりそうですね。

FluentWPF 0.3.0をリリースしました

0.2系のリリースからはだいぶ時間がかかりましたが、色々とまとまった機能追加ができたので、FluentWPF0.3.0としてリリースしました。

今回の変更内容は以下のようなものです。

  • osのテーマ・アクセントカラー設定への対応
  • ResourceDictionaryExクラス
    • OSのLight/Darkテーマ設定に応じてリソース切替を行う仕組みの導入

f:id:minami_SC:20180403010336g:plain

続きを読む

任意のウィンドウをアクリル化するツールを作ろうとして挫折

ちょっと思い付きで、Windows10向けに任意のWindowをアクリル化するツールを作ろうとしてました。

こんな感じ。
f:id:minami_SC:20180323000452g:plain

Spy++とかのツールみたいに、対象ウィンドウへとドロップ操作を行うと、そのウィンドウをアクリル化します。
ウィンドウハンドルを取得して、そのウィンドウに対してSetWindowCompositionAttribute関数呼べば、イイ感じにできないかな、、、と思い試してみました。

続きを読む

VirtualShortcutKey 1.1.0リリース

VirtualShortcutKey 1.1.0をリリースしました。 github.com ダウンロードページ

今回の更新は、Win7/8.xへの対応が主な変更点です。

変更内容

  • Windows 7/8.x系OSへの対応
    以前のバージョンでは、Windows7/8.x系OSでUI表示が乱れる不具合がありましたが、この表示の乱れを修正しています。

  • ウィンドウのアクリル効果の微修正
    わずかにですがFluentDesignのアクリル風エフェクト効果を修正しました。
    半透明のアクリル効果を加えたウィンドウでは、ウィンドウに若干のノイズを加えてざらつき感をだしています。
    今回のバージョンでは、このノイズをほんっっの少しだけ弱めて、滑らかな表示にしました。

1.0.0 1.1.0
f:id:minami_SC:20180228012224p:plain f:id:minami_SC:20180228012234p:plain

FluentWPF 0.2.2をリリースしました

2件ほどプルリクをいただいたので、マージしてFluentWPF0.2.2としてリリースしました。

Release v0.2.2 · sourcechord/FluentWPF · GitHub

Nugetからは以下のコマンドでインストールできます。

Install-Package FluentWPF

https://www.nuget.org/packages/FluentWPF/

変更内容

今回の変更内容は以下の2点です。
(どちらもプルリクでいただいた内容です。)

  • AcrylicWindow.ShowTitleBar="False"のときに、タイトルバー部分の余白ができる
  • ウィンドウ作成後に、AcrylicWindow.Enabled添付プロパティをTrueにしても、ウィンドウがアクリル化されない不具合を修正

AcrylicWindow.ShowTitleBar="False"としたときに、以下のようにタイトルバーがあった部分に無駄な余白ができてしまっていました。
f:id:minami_SC:20180221231918p:plain

<fw:AcrylicWindow x:Class="FluentWPFSample.Views.AcrylicWindow"
                  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                  xmlns:fw="clr-namespace:SourceChord.FluentWPF;assembly=FluentWPF"
                  xmlns:local="clr-namespace:FluentWPFSample.Views"
                  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                  Title="AcrylicWindow"
                  Width="300"
                  Height="300"
                  ShowTitleBar="False"
                  mc:Ignorable="d">
    <Grid Background="#70FFFFFF">
        <TextBlock Margin="10"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Text="この部分がコンテンツ領域"
                   TextWrapping="Wrap" />
    </Grid>
</fw:AcrylicWindow>

今回のバージョンアップで、こんな風にちゃんとウィンドウ全域が描画領域になります。
f:id:minami_SC:20180221231929p:plain

今後の予定

現在、OSのアクセントカラーやLight/Darkのテーマ設定を反映できるように対応を進めています。
f:id:minami_SC:20180221233148g:plain

この辺、ある程度動作するコードは書けてるんだけど、クラス名とかXAMLからのプロパティ定義をどんな仕様にするか、まだ少し悩んでいます。

もう少し時間がかかりそうですが、こんな対応を進めてこうと思ってます。
とりあえず、今月中にはテーマ対応をして次バージョンをリリースしたいなぁ。

Electron+TypeScriptなプロジェクトの雛形を更新~Electron1.8.2+TypeScript2.7.1~

以前作ったElectron+TypeScriptのサンプルコードを、それぞれの最新バージョンにアップデートしました。

それぞれ、以下のバージョンに更新してます。

  • electron v1.8.2
  • typescript v2.7.1

こういう雛形って、定期的に新しいバージョンに追従しておかないと、変更内容を追いきれなくなりますからね。

今回はコードには変更を加えず、ライブラリ類のバージョン更新だけでOKでした。
今後も、定期的にライブラリの更新に追従しておこうと思います。

VirtualShortcutKeyが窓の杜で紹介されました

以前作った、↓のツールが窓の杜で紹介されました。
Ctr+C/Ctrl+Vなどのショートカットを、マウス/タッチパネル操作で実行するツールを作ってみました - SourceChord

思い付きで一気に作ったツールだったので、まさかこんな形で紹介されるとは予想もしてなくてビックリです(汗

自分が普段見に行ったりするようなサイトで紹介されるって、、ちょっと感慨深いですね。