Is There an Automated Method to Select the First Action Within a Group Action?

I've got an unpublished macro that I'll likely share in the Keyboard Maestro Editor Megathread, but my current implementation uses a fragile method to select the first action within a selected Group action.

Is there a way to do this with with AppleScript (or any other robust method)?

Something like this?

tell application "Keyboard Maestro"
   set theSelection to the selection
   if theSelection ≠ {} then
      set theSelection to item 1 of theSelection
      if class of theSelection is action then
         tell theSelection to set action1 to its first action
      end if
   end if
end tell
1 Like

That'll throw an error if an "If", "Catch", or similar is selected rather than a "Group". It may not matter for @_jims's use-case, and the only way I can see to be reliably specific it's a "Group" action would be to test for all of thenactions, catchactions etc being missing values. Probably easier to handle the error in some way!

1 Like

Yes, well – I answered the question that was asked...

This is not panacea for all possibilities, but it gives the general idea:

tell application "Keyboard Maestro"
   set theSelection to the selection
   if theSelection ≠ {} then
      set theSelection to item 1 of theSelection
      
      if (count of theSelection's thenactions's actions) > 0 then
         select theSelection's thenactions's actions's item 1
      else if (count of theSelection's elseactions's actions) > 0 then
         select theSelection's elseactions's actions's item 1
      else if (count of theSelection's tryactions's actions) > 0 then
         select theSelection's tryactions's actions's item 1
      else if (count of theSelection's catchactions's actions) > 0 then
         select theSelection's catchactions's actions's item 1
      end if
      
   end if
end tell
1 Like

Thanks, @ccstone; you did the hard part. I had to just add one line to the AppleScript.

@ccstone and @Nige_S, thanks so much for your responses to my question. For my use-case, here's what I've come up with thanks to your expert help.

Keyboard Maestro Export

2 Likes