Subroutines Smart Group Not Working?

Hi there,

I'm trying to create a Smart Group to hold all Macros that have the "Subroutine" trigger, but the query syntax, according to the documentation, doesn't seem to be working (returns zero Macros).

trigger:Subroutine

If I just use the "Subroutine" word, it pulls them up, along with some other Macros that aren't Subroutines; hence why I can't use that.

Could anybody check if this is working for them? Thanks in advance for your help.

1 Like

I have just tried, and it does seem that "trigger:Subroutine" has not been implemented. I think its addition would be consistent and useful. (@peternlewis)

That search is for the text "subroutine", so it will include only subroutines that contain the word "subroutine" and the macros that call them.

It would seem to me that the trigger: qualifier applies only to typed string triggers as is shown in the above-referenced documentation.

I started adding a comment box to all my macros that contains keywords that won't ever appear in any macro (except in the comment box). This lets me easily make smart lists for anything I care to track. I use delimeters to mark the start and end of keywords, too, so I can do multi-word keywords.

image

Yea, it's a bit more work up front, but it's infinitely flexible. On my to do list is to write a simple macro to pop up my keywords so I can easily populate them into the comment.

-rob.

Try it with hotkey triggers and even "Filter".

I believe "string" refers to search string, not string trigger. For example, t:periodic returns macros with periodic triggers, t:time for time of day triggers, etc.

1 Like

It is a bug. Fixed for the next version. Thanks.

3 Likes

Awesome Peter; thanks! First post here; long time lurker, happy to have provided something of help :sweat_smile:

2 Likes

Hey @peternlewis, sorry to bother you again.

In this same note, I'm trying to create a Smart Folder for Macros that don't have any trigger. I'm trying trigger:None, but they are not being pulled. I've found no way to group them in a Smart Folder.

Is this the same issue for these Macros?

Thanks again.

Use a negation, ie "show me everything except macros that have a trigger":

-trigger:

Doesn't work. Brings in the Subroutines.

Another potential bug or quirk there

Ah, yes, I see what you mean -- it's as though subroutine isn't considered a type of trigger.

Hopefully you struck lucky with your organisation and all your subs are in a group, in which case -t: -group:Subroutines, which will get you by for now.

1 Like

Ehh no, I'm not that lucky :sweat_smile:

I'm waiting for the updated version from @peternlewis to the above fix of my original post to become available (the original issue that Smart Groups aren't working for Subroutines). I would say it's not a best practice to manually be grouping Macros in Groups that could be Smart Groups instead, as the lift should be done by the Smart Groups themselves, instead of manually having to "label" them on those Groups based on what triggers them, as that doesn't give you the chance to put them in some other; more useful; Group. I want all my triggers to be consolidated in the "Global" group for now; with some Smart Groups in place pulling a subset of them (Subroutines, No Trigger, Etc.)

So, this is the TL;DR:

  • Smart Groups filter for Subroutines don't work (waiting for patch to be available)
  • Smart Groups for "No Trigger" don't work with trigger:None and neither with -trigger:, as both are broken (first one doesn't bring anything and second one bring in Subroutines; when it shouldn't)

Hopefully you struck lucky with your organisation and all your subs are in a group, in which case -t: -group:Subroutines , which will get you by for now.

I still consider doing this would be working around the root of the problem, when instead, trigger:None or -trigger: should work correctly; unless there is a definition somewhere that Subroutines aren't Triggers (even though you select them from the "Triggered by any of the following" button!)

Perhaps you are only considering the organisational function of Groups, not their use in contextual activation?

Better, IMO, to make your own Group(s) since you can make them behave the same as Global plus you can make them active in particular contexts. You could even, if you want everything in one place, then make a main Group and deactivate it then make contextually activated Groups and fill them with aliases to macros in your main!

Smart Groups, however, have no functionality beyond being a saved search.

As always, and whatever works for you is the best for you.

The second isn't working, as Subroutines are being treated as "triggerless", and that's something I hope will be fixed.

The first, however, is a bad search -- "None" is a display artefact to show that a macro has no trigger, not a trigger string you can search for. You can see this by giving a macro a typed string trigger of None, then doing that same search.