Action Names Don't Match Their Dragged Out Names

This is another one of those questions that I have wondered for a long time and thought it would finally make sense to me but so far it has illuded me. How come the action names don’t match the name of the action when you first drag it out into the macro? For example actions
"For Each Path in Folder" drags out to “For Each Item in a Collection Execute Actions”
“Fore Each Path in Finder Selections” drags out to the same name as the last example “For Each Item in a Collection Execute Actions”

“Get File Attribute” drags out to "Get File Type to Variable ‘Variable’"
and the list goes on.

I understand that the action name changes in several of the actions when you change settings in the action. For example:
“Paste from Named Clipboard” drags out to “Paste from Named Clipboard ‘Default Clipboard’” if you choose a different clipboard the straight quotes will change to the new clipboard. "Quit a Specific Application drags out to “Quit Front Application” again changing to what ever you cange it to. Those makes sense to me (Though “Quit Application X” would be more clear to me and make finding a macro I have already used much easier) but many of the others just confuse me.

The various “For Each” actions drag out as the same action, because they are the same action. It’s just that they have the options already selected for the specific task.

For instance, “For Each Path in Folder” gives you a standard “For Each in Collection…”, with the variable name set to “Path” and the Collection set to “The Finder’s Selection”.

It’s just a time-saver. They aren’t really different actions.

As @DanThomas said, the two For Each pseudo actions are not really actions at all, they are pre-configured actions (to make up for the fact that you can’t actually save pre-configured actions yourself (unless you’re quite ingenious). they are also there because it is easy for people not to immediately understand the concept of “any time you have a list of things, look at the For Each action” and/or realize that the Finder Selection and a Folder Contents is a “list of things”.

Aside from that many actions have multiple variants, and the name in the Action Selector is designed to lead you to the right action without having to put every possible action variant in the Action Selector. So the action selector has “Get File Attribute” rather than a dozen different specifically named actions.

I love your pseudo actions, but I also think it’s pretty easy to save a pre-configured action via a Named Clipboard [shameless plug].

Thank you both for the replay and Dan that is a pretty cool screencast/idea I will have to implement, thanks for posting your short and very useful video, I will be following or have “Followed You” (waahaha).

I did realize that dragged out actions are the same action which lead to my confusion because it has often made it difficult to find the action when other’s post macro examples without posting the Macros. I go serching for something but there is no standard name that shows up so I am often guessing what to search for to get the action. For you long time users I am sure it is not all that difficult and I am getting much better after spend 100+ hours or so in the app but I am still slow.

I would love to see in the example dragged out actions and the preconfigured actions a generic unchaning name of the action it belongs in parenthesis and that name in parenthise in the starter action to which the starter action belongs to. In other words a way to find the action that is being used regardless of examples posted on the forum. If there were a uniuqe icon or something that might help too but I realize that would be difficult for things like Safari actions that are not all the same but are related to Safari.

Is there a way to make a smart folder of unique actions only or import one into the actions window?

Which leads to my next question is there a list of just the unique actions in Keyboard Maestro, I would love to know how many their are and then maybe make some clipboard pasting for the acations (regardless I will do that for things I use all the time like the “Comments”, “Type a Key Stroke” and “Execute an AppleScript” action.)

I don’t know if I qualify as a long-time user or not, but I can tell you I’m still finding actions I didn’t know about, or perhaps had known but forgot about. For instance, a few hours earlier I learned about the “Log” action, and a situation it might be useful for.

I don’t know of a unique list, but there’s over 150 non-unique actions, so it’s unlikely any of us remember all of them. But if you use the Edit->Insert Action->by Name menu item, you can generally find what you’re looking for much easier, because it can match on some things that are not in the actions’ names. Peter has some “alias”-type words that it will also match on.

As an aside, that’s the only way I insert action. You can get pretty quick at it, too. For example, I have F15 on my extended keyboard set up to insert by name. I can type F15 then s v x return, to insert a Set Variable to Text action. Don’t know if this is useful information or not, but I’ve already typed it, so I’ll keep it. :slight_smile:

After a manual count I got 250 but I could have got off.[quote=“DanThomas, post:6, topic:4267”]
But if you use the Edit->Insert Action->by Name menu item, you can generally find what you’re looking for much easier, because it can match on some things that are not in the actions’ names.
[/quote]

Such a good reminder, I remember seeing that about 6 months ago and thinking I have to remember to use that and after much pain again I hope it sticks. I’ll have to set an OmniFocus daily reminder until it becomes habit to look there. It looks like Control or split finger+a (Command+Control (⌃)) + a is the keyboard shortcut.

Completely useful information that is very much like QuickSilver, Launchbar, Alfred style searching only it doesn’t seem to get any smarter when I make selections. Thanks for making my automation that much more automated!

You know, I was going to type 250, but I thought I remembered wrong. It just sounded like so many! :slight_smile:

Glad the other stuff was useful!

For everyone’s benefit, you can view all Actions here:
Actions [Keyboard Maestro Wiki]

If my RegEx was good, there are 246 Actions listed here.

1 Like

Thanks, looks like my counting got a little sloppy along the way. Do you know of any place that shows or tells how many unique actions their are?

Dan, how do you get an alfred prompt like window that you can use to paste actions quickly like comments and things?

See the second and third paragraphs of this (click on it):

If this doesn’t answer your question, let me know!

Nope.

Don’t hold me to this, but this ought to be pretty close:

ActivateApplication
Alert
ApplicationLauncher
ApplyStyle
ApplyTextFactory
BringWindowsForward
Cancel
ClipboardHistorySwitcher
ClipboardSwitcherCopy
ClipboardSwitcherCut
ClipboardSwitcherMacroAction
ClipboardSwitcherPaste
Comment
CompositeImage
ConcealMacroPalettes
CopyClipboard
CustomPrompt
CutCopyPaste
DebuggerAction
DeletePastClipboard
DisplayImage
DrawImage
ExecuteAppleScript
ExecuteJavaScript
ExecuteJavaScriptForAutomation
ExecuteJavaScriptForCustomPrompt
ExecuteMacro
ExecuteShellScript
ExecuteSwift
ExecuteWorkflow
FastUserSwitch
File
FilterClipboard
FilterVariable
FindImage
For
GetFileAttribute
GetImageSize
Group
Growl
HideAll
HideCurrent
HideOthers
HideSpecificApp
HiliteLocation
IfThenElse
InsertText
Log
MacroGroupToggle
MailSendMessage
ManipulateWindow
MarkMacro
MouseMoveAndClick
NewFolder
NewImage
Notification
Open1File
Open1Password
OpenFinderSelection
OpenURL
Pause
PauseUntil
PlaySound
PressButton
Program ended with exit code: 0
ProgramSwitcher
PromptForUserInput
QuickMacro
QuickTimePlayerControl
QuitAll
QuitOthers
QuitSpecificApp
ReadFile
Repeat
ResizeImage.AddMargin
ResizeImage.Crop
ResizeImage.ResizeTo
ResizeImage.ScaleTo
ResizeImage.ScaleToFit
SafariControl
ScreenCapture
ScrollWheelEvent
Search
SearchClipboard
SearchReplaceClipboard
SearchReplaceVariable
SearchVariable
SelectMenuItem
Semaphore
SendMIDIMessage
SetActionDelay
SetClipboardToPastClipboard
SetClipboardToText
SetFileAttribute
SetFindPasteboard
SetKeyboardLayout
SetKeychainPasswordToText
SetMacroEnable
SetMailStatus
SetNetworkLocation
SetSafariCheckbox
SetSafariFieldToText
SetSafariRadio
SetVariableToCalculation
SetVariableToKeychainPassword
SetVariableToSafariField
SetVariableToText
ShowAll
ShowSpecificApp
SimulateHardwareKey
SimulateKeystroke
SimulateModifiers
SpeakText
Substring
Switch
SwitchToLastApplication
SwitchToNextApplication
SystemAction
SystemPrefPane
SystemVolume
TransformImage
TriggerByName
TrimImage
Until
UseVariable
While
WindowSwitcher
WriteFile
iTunesControl

Don’t ask me where I got this from - I’m not ready to talk about it yet. :smile:

Oh, and this includes something like 8 plugin actions I have.

There is no real answer to this because there is no good definition of “unique”. There are around 130 action objects in the code, but some of then create multiple different actions (like for example all the debugger actions) and they are indistinguishable from uniquely different actions created by different objects, others create a single action with multiple variants, and others a single action with a single variant.

Very nice thanks, I’m down for getting in the ballpark!

I kind of thought that might be the case.

If you mean things like “Cut to Named Clipboard”, “Copy to Named Clipboard”, “Paste from Named Clipboard” which are all different actions but can be changed to any of the other actions once dragged out then I would call that just one action at least the way it is currently programmed because it is made to be switchable within the action itself. The over all action name I would call that would be “Cut, Copy, Paste From Named Clipboard” in a unique actions folder. That way you kind of have a better global name for the action. I am sure all of them would not fit that nicely into a single name but I think it would still be helpful if there was something close since there is already all the other starting points.

If an action drags out I would count each single action with a single variant as one action since there is no other way to get that (i.e. the growl action, alert, Add or Remove Margins, cut, copy, paste etc.).

I am not sure I am following you correct, my thinking is that there are 13 unique debugger actions because, from what I can tell the way it is programmed, you can’t change any of the debugger actions into another once you have dragged out the action. I just tested each action but I might be missing something.

Yes, but being that is a single action object with 13 variants. That is my point, there is no definition for “unique” that makes sense.

Just curious why aren’t the 13 variants built into the single action then. I guess we are talking about two different things when we say single. By single I mean an action that is dragged out that can be changed to do different things. It sounds like the focus of the action is what you are calling single, that being to debug.

This is in part why I used the following three actions as an example, why not do like you did with debug and not allow users to switch between the different options within the action? [quote=“skillet, post:16, topic:4267”]
If you mean things like “Cut to Named Clipboard”, “Copy to Named Clipboard”, “Paste from Named Clipboard”
[/quote]

Personally I do like when you can switch within the action so the hybrid would be all the debug actions being able to be dragged out seperatly like they are and also being able to be changed within the action itself. Which to the point would then make 12 less actions since you can get to the other 12 from within a single action which is not currently the case (though I understand they serve a signle purpose). It just doesn’t seem completely consistent througout the app but of course there are going to be things that overlap in logic. Really I am just trying to clarify by what I mean is a single action object or whatever the proper verbiage is that I am missing.

Hey Skillet,

Basically It’s one action with 13 different parameters.

If you look at the XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
   <dict>
      <key>DebuggerAction</key>
      <string>BreakpointEvery</string>
      <key>IsDisclosed</key>
      <false/>
      <key>MacroActionType</key>
      <string>DebuggerAction</string>
   </dict>
</array>
</plist>

Only the first <string> item changes between the variants.

It does seem like a good idea to emplace a pop-up menu to switch between the variants, so perhaps Peter would consider that as a feature request.

-Chris

I could, but I probably wont. There are lots of actions like this. Like many of the iTunes or QuickTime or System Control actions.

But when are you going to want to change an Increase Screen Brightness action into a Sleep Screen action?

Adding a popup menu, changing the action to be disclosable, writing the appropriate editor, etc is all unnecessary complexity for little gain.

Unless you’re mucking around with the XML, there is no need to know or care whether the actions are one action with variants underneath or not.