OK, throwing caution to the wind, here: how about....<drum roll>....macro buttons in Thetis?
There's been some discussion about adding more and more buttons. There will never be enough buttons. Flipideedooda on split op's and all that sort of thing. Hard coding them would take the rest of anyone's life. Instead, why not create programmable macro buttons that can execute any combination of existing CAT commands? Then people can have whatever buttons they want. Put the button definitions in a convenient file, say a comma delimited text file, CSV file, or an XML file. One line/entry per button. then people can share their latest button creations around no fuss, no muss. Just mix and match the lines in the file as desired.
As for how to do this, take a page out of the DDUtil playbook. Literally just have the user type the CAT commands they want, per button. For instance, if you want a button to turn on MON, set tune power to 15W, and then assert TUN, just type ZZMO1;ZZTO015;ZZTU1; When you hit that button the CAT commands there will execute.
To edit the button we could force the user to edit a text file. Or it could be a right click and have a little editing window pop up. Whatever floats your boat. A nice frill would be a way to assign a color to the button, just to help sort them out. Buttons will need labels, too, of course.
If we want to take it to the next level, add a toggle button feature. On first click it executes CAT string 1 and turns to color "X". On the second click it executes CAT string 2 and turns back to the default color. That way, with one button, one could, for instance, do the split flippity DX chaser thing, then undo it. Or, to use my previous example, first ZZMO1;ZZTO015;ZZTU1;, then on the second click invert that, ZZTU0;ZZTO003;ZZMO0;
Next, next level after that would be to send strings out a previously defined CAT port to control amp's and whatnot. For instance, say you've got your awesome Elecraft KPA500 on CAT4. That amp will go into standby if you send it "^OS0;", and into operate with a "^OS1;". So, using the aforementioned tuning example, you might see a button to start a TUN cycle that looked like this:
CAT4(^OS0;);ZZMO1;ZZTO015;ZZTU1;
As for how to present the macro buttons there are at least two obvious methods. The most obvious would be a pop-up window like we get for settings, diversity, linearity, etc., probably with an "Always on top" checkbox option. Another method could be a toolbar style strip, either at the top or bottom. After that we'd all have to argue about the size of the buttons, how many buttons, whether they should be resizable, and all that sort of horrible minutia
73 and you can blame me,
Scott