101Cats Help

Avalonia Re-write

101Cats V1 was developed using a Windows application framework called MahApps Metro. This was chosen because it is free and easy to work with, but it is getting a bit old now and that age is showing. I wanted to improve the support for theming and that was proving to be quite difficult.

In order to address this, I've been experimenting with rebuilding the code to compile with an alternative framework, Avalonia. As well as improving the support for theme customisation, Avalonia provides better support for modern application architectures and the application code is coming out cleaner.

The re-write has been harder than I anticipated and I've done little else for the last couple of months. In the process, I've improved the structure of the application and the performance seems to be better. An incidental benefit of moving to Avalonia is that it is a multi-platform framework, and it should be relatively easy to build 101Cats V2 to run on other operating systems including Linux and MacOS. I have not tried this yet, and it is not a high priority for me, but I will test it out sometime soon.

There is an installer for a beta release of 101Cats V2 here. It is still missing a lot of functionality and has many bugs. I am working through it and plugging gaps daily. If you use 101Cats V1, please do not uninstall it - V2 is currently not a replacement! If you are feeling brave, please do install both and give it a try. Both versions use the same configuration file, so it should come up and run as soon as it is installed.

Note that the current alpha of 101Cats V2 is a 64 bit Windows application - I'm developing under Windows 11 and all installations of W11 are 64 bit. It should be possible to build a 32 bit version too and I will probably do that soon. It is really too early for bug reports - there are many of them and we will fill up the Groups.IO group! This will change soon as I plug the remaining gaps - I will invite fault reports and change requests soon.

The current version is 2.0.0.8. This adds a user configurable "key bounce" filter to the processing queue. The configuration file is now called configV2.xml. The new parameter is :

<ReactiveThrottle>100</ReactiveThrottle>

the numeric parameter is the key-bounce filter delay in milli-seconds. Large numbers should eliminate "jitter", but at the expense of UI performance.

After a significant programming effort, I have managed to implement the radio display window in Avalonia and, therefore, removed the need for a separate application to display the FTdx101 screen. It's currently a bit untidy and I need to put in some more effort on the window layout.

Last modified: 01 July 2025