Feature Request: Use Non-Selectable Background Text Instead of Actual Value for Fields

Continuing the discussion from How to use user input as a system clipboard after pressing the OK button?:

@peternlewis, when inserting an Action, or adding a field to an Action, could you not provide a default selectable value, but just use the same technique of showing a non-selectable description in the field, like is done for the Default Value of the Variable in the "Prompt for User Input" action?

An example is the "Variable" field:

image

Here an example of where you are doing what I am requesting:

image

Thanks for considering this request.


Background/Details

In a number of KM Actions, when you insert the Action, or add a field to the Action (like in the below "Prompt for User Input", KM will supply selectable text as a default. But the actual purpose is to provide a description to the KM Macro developer of the data that should be entered into the field.

IMO, this causes more trouble than it helps.
It always causes me to have to delete the default text (because I would never want to have "Variable" as a Variable name), and for many users they just leave it as is without providing a descriptive name. Sometimes later the user really wants to use that Variable, but then enters a different variable name.

Or worse, the Variable named "Variable" gets reused in another Action, but it is actually intended to be a different Variable.

Here's another example that causes a lot of unnecessary work:

image

Because you provide a default value of "Variable Name", with a SPACE between "Variable" and "Name", it is a lot more difficult to replace this with the actual variable name than if you had used "VariableName".

The best approach would be to show as non-selectable text "Type Variable token, or select from 'Insert Token' popup."

image

1 Like

Why would you delete the variable name in a Prompt For User Input action? If you tab into the field, it is selected, so just type a replacement name. If you don't want the field, delete the row. If you want the field, then it has to have a variable name to set the value to…?

Note that I am moving to using “VarName”, or the last used variable name, as the default now, instead of “Variable” as the default name.

2 Likes

Because it is confusing, and I'm not always ready to enter the actual variable name when I add the Action, or add the row. Sometimes I need to go to another action to copy the variable name, so I can paste it in the Prompt for User Input.

But the real question, is why do you provide a variable name that should NOT be used?
Why not stick to the macOS standard of showing non-selectable text so the user knows what to enter?

I wonder if this is a case of using VarName being the simplest for new users to understand and not overly problematic for experienced users? Fwiw, I use a mini macro I've created to insert variable tokens with a single hotkey

The problem with using "VarName", or any name by default, that is always defaulted is that other actions may reuse the same name, and overwrite data that is not intended.

The sooner the KM user understands how to properly use KM Variable, the better off he/she will be. This is why I think non-selectable text description is the best solution for both new users and experienced users.