「Swindom」Version 4.2.0 betaを公開しました。
大規模な変更を行ったので公開までに時間がかかりました。
- UIを変更
UIを変更しました。
以前は独自にデザインしたコントロールを使用していましたが、外部ライブラリ (ModernWpf) のコントロールに変更しました。
独自のコントロールの使用の継続も検討したのですが、複数の問題があり、修正や調整に時間がかかる、ライトモードとダークモードを実装したかったけどこれにも時間がかかる、などの理由で外部のライブラリを使用することにしました。
使用しているライブラリにはライトモードとダークモードを変更する機能があるので、変更機能を実装できました。
最初はWinUIにしようと計画していたのですが、ウィンドウを複数作成できない (方法はあるようですが正式な方法ではない?) などの問題があったので利用しないことにしました。将来的にウィンドウを複数作成できるようになるなど、改善されるようなのでWinUIに変更する予定です。
- 「イベント」と「タイマー」を統合して「指定ウィンドウ」に変更
イベント機能を実装する際にタイマー機能に含める予定でしたが、問題が発生する可能性を考慮して別にしていました。
中長期間の使用で問題は確認できなかったので、統合することにしました。
どちらも機能は同じで、判定して処理するタイミングが違うだけです。
別の機能として分けていると、使いにくい、分かりにくい、開発効率が悪くなる、などの問題がありました。
統合したことでそれらの問題を解決しています。
- ウィンドウの位置やサイズが正しく変更されなかった場合の2回目の処理を改善
1回目の処理で正しい位置やサイズに変更できなかった場合に自動で2回処理させています。
以前は1回目の処理で問題ない位置やサイズになっていても、設定している条件で無条件で2回処理していたり、自動で2回処理されない場合は2回処理する設定にする必要がありました。
1回目の処理後に位置とサイズを取得して、正しく変更されていない場合は2回目の処理をするように変更しました。
情報取得の負荷は高いので今までは再取得しない方法で判定していましたが、大幅に増加しないように実装できたので変更しました。
これでも変更されない場合、ソフトウェア側で制限されている、ソフトウェア側の特殊な処理により変更できない、などが原因です。
- 「処理しない条件」の「指定したバージョン以外」で、部分判定ができるように変更
要望があったので変更しました。
「1」で設定している場合はメジャーバージョンのみ、「1.2」で設定している場合はマイナーバージョンまでの判定になります。
マイナーバージョンのみの判定など、前方以外からの判定はできません。
- 「.Net 7」に変更
まだ「.Net 6」でも良かったですし、.Net 6は長期サポートで.Net 7はそれよりも短いサポートなので.Net 6のほうが良いのですが、パフォーマンスの向上など様々な改善が行われているので (他にも理由はあります)、.Net 7にしました。
- 対応OSを「Windows 10 Version 1903」以降に変更
外部ライブラリ、.Net 7、対応させる全てのOSで動作確認するのが困難 (確認作業などの時間、対応させるOS搭載のパソコンを用意する必要がある、など)、などが理由で「Windows 10 Version 1903」以降に変更しました。
Windows 7や8.1などは既にサポートが終了しています。
Windows 10でも複数のバージョンがあり、古いバージョンは対応できません。複数のバージョンで確認するのは困難ですし、サポートが終了しているからです。
最新バージョンで確認するので、古いバージョンのみで問題が発生する場合は対応できません。これに関しては以前からなので変更はありません。
これからは基本的にWindows 11のみで動作確認しますが (Windows 10で確認する環境は残しています)、Windows 10でも動作するように開発しているので、基本的に問題はないと思います。
Windows 10以前のOSでも対応したかったのですが無理でした。すみません m(__)m。
- ソースコードの整理
以前のパソコンだと開発するためのソフトウェアのアップデートや機能追加で性能不足になっていました。
性能不足で入力中にフリーズするなど、あまり良くないけどこれでいいやとなっていたり、開発効率が悪くなっていました。
もっと早く買い替えれば良かったのですが、ぎりぎりまで使いたい性格なので買い替えが遅くなってしまいました。
買い替えたことでそれらの問題が解決したので、整理しやすくなりました。
まだ整理できていない部分はありますが、要望を優先する予定です。
- 今後について
不具合は最優先ですが、要望を優先する予定です。
以前はとりあえず機能を追加して、問題や改善点があった場合に修正や変更していました。少しでも早く機能を追加して公開したいと思っていたからですが、何度も修正や変更するとデメリットがあります。何度も修正や変更しなくて良いように、慎重に検討しながら機能追加や変更を行うようにしています。
機能追加や変更に時間がかかりますが、ご了承ください。
Comments