[Feature Request] Ability to drag and drop to reorder in certain actions

These are the 2 main ones I can think of, but I'm sure there are other ones, but being able to drag and drop options up and down to reorder buttons, conditions, etc, would be a time saver. For example:

1 - prompt for user input. If we want to reorder buttons we have to delete text, make changes to which button cancels the macro, etc. This gets worse the more buttons we have, of course.
The same applies to the variables themselves. Being able to quickly and easily move things around in order to present things the way we have in mind, is a must, to save time and make things less prone to error when we are deleting and/or retyping things.

2 - conditions in "if then else" and "switch" actions. In this case it's more for "backend" organization and visual cues, which is also super important to make it easy to quickly read what we have and how our macros are structured.

5 Likes

I use the Case/Switch action a lot, and it bugs me so much when the choices aren't in the same order as the (usually) Prompt With List action that contains the choice. It bugs me so much I use add/delete and cut/paste to keep things in order if I reorder the Prompt With List list.

I'd love this feature :).

-rob.

2 Likes

I can't disagree, but a more important item on my wish list is a "Show" button next to the "Get" button in various actions so that I can actually see (when it highlights the chosen area) what the area being "Got" is. Of course, this won't work when the expressions contain local or instance variables, which is perhaps why this feature doesn't exist yet.

image

I would also love a new choice to supplement "area" perhaps called "Rectangle Variable" which passes all four coordinates through a single variable, rather than me needing four expressions.

Does setting the area coordinates up like this do what you wish for?
Find image on screen area defined by single variable .kmmacros (14 KB)

Macro Image

And about this topics original request, I do agree that it would be a great addition for usability and speed in the editor, I do also believe I've seen this requested/discussed here in the forum before.

EDIT: Fixed example macro to fit request more closely

2 Likes

Wouldn't it better to start a new topic about that particular request, @Airy? Otherwise, in no time this topic about reordering things becomes a topic about general requests, because we all have our preferences and priorities.

I think it's more important that each topic is focused on what the original subject is to make it more relevant and hopefully Peter will be able to see if people actually want/need this (even though we already know that what the users want and need is not always that he thinks is best for KM...) :wink:

2 Likes

yeah, it's such a waste of time not having that option. I see myself wishing this was a feature more often than not

1 Like

Being able to reorder the Add/Remove lists (which are used in a number of places in Keyboard Maestro including triggers, conditions, etc) is on the todo list. But there is no obvious UI for doing it, so I've never gotten around to figuring out how to make it work.

2 Likes

What do you mean?

As I spend so much time reordering my Case actions, I've spent a fair bit of time mulling over a "drag to rearrange" UI :). After much thinking, about the only thing I came up with would be to take a bit of space from the text box for a "click and hold to rearrange" icon. In very basic form with a slapped-together indicator, something like this:

When clicked and held, an outline would appear around that item's actions, and you could then drag it to a new location in the Case statement. If you dragged too far, the drag would cancel.

I don't know that this would work everywhere you need it to, as I only care about Case :), but it seems visually self-explanatory, and a tool tip could explain what happens on click and hold. (Just trying to offer some ideas, as I'd love to see something happen to make the rearrangement feature a reality! And there are probably technical reasons this wouldn't work, which is why you haven't done something like it.)

-rob.

I think that visually this is not the best option, because that is usually used for dropdown menus. The best icon, in my opinion, would be the cross
image

Or the 6 dots
image

1 Like

Yea, I'm no expert icon designer, I was just trying to point out where such a UI might go :). Your icons are miles better than my double arrow throwaway :).

-rob.

If dragging and dropping is not the best option, there are 2 options:

1 - Having 2 buttons with arrows up and down and they would move the selected section up or down. When it's at the top, the top button would become disabled (or completely disappear), the same when it reaches the bottom with the bottom button.

image

An extra that could be useful:
If we hold OPT/ALT and hit the up button it would move to top, the same for the bottom button. So we would only have 2 buttons, but they would do different things whether we are holding OPT/ALT or not

2 - Using the same shortcut to move actions up and down (Control + arrows). So we would have to click the field and when the field is in focus, using the shortcut would move it up or down. In this case, similar to option 1, we could use for example Control+Option+arrow to move it to the top or bottom of the list, instead of clicking the shortcut multiple times.
This is probably to the best option, because it won't allow us to move IF THEN conditions (or even Switch), which is also something I think would be valuable. Sometimes being able to organize the conditions is good for a more organized macro and to make it easier to read

No worries :slight_smile:
I know that sometimes it's easy to look at something that for us makes sense or it's obvious, but then in terms of the general UI "rules" (or best practices), it can cause confusion, because people are used to looking at them a certain way.

But I totally got what you meant and that's why I offered those 2 options.
I also offered 2 other options, if dragging and dropping is not the best. Check my previous reply.