Allow triggering actions on mouse move / hover (specifically want to combine this with 'trigger while mouse over Dock' to emulate HyperDock preview functionality)

Currently it seems that I can only trigger mouse related actions on a click down/up:

I'd like to be able to combine mouse movement/hover with the 'Trigger Conditions' to be able to trigger while hovering over the dock:

image

image

To make this feature more generic, it would probably be sufficient to have a 'hovered for Xsec' or similar, because it looks like there are already trigger conditions for checking if it's over the dock or not.

Being able to trigger when hovering over the dock in general would be nice; but if it was possible to set up explicit triggers when hovering over different Dock items (or at least to be able to get information about what dock item is currently being hovered over through variables/similar), that would be super powerful.

It looks like we can already check the hovered_element_details in the 'Advanced Trigger Conditions' to get various information when hovering over the Dock, and about the Dock item we're hovering over:

Use case

My thoughts/use case for this are wanting to build a feature that I used to use a lot in HyperDock, which seems to no longer work under macOS Ventura. Specifically the window previews, music app control, calendar events, etc:

I was thinking if I could trigger on hover over a dock item, then I could probably use the 'Floating Web View' or similar action to generate the 'preview'/controls/etc:

I did see this thread/preset, though I haven't looked much into it yet. From a quick skim it seemed like it was all gesture based, so not sure it would suit the needs/desire I have here, but linking it for completeness:

See Also

I also thought about attempting to create a 'Repeating or Time Based Trigger', configured to repeat in milliseconds to basically hackily implement a 'polling loop'; but it seems the quickest it can trigger is in seconds; and would probably be really inefficient to do it that way anyway:

image

It seems I can set it to a fraction of seconds though.. so I could have it check every 0.1sec as an example:

image

And it seems I can also use that with the 'Trigger while mouse over Dock':

image

It's not super clear to me how I can access specific parts of the hovered element details within the advanced trigger conditions though; as they seem to be XML/PLIST, yet that doesn't seem to easily/neatly fit into the is, is not, etc choices we have:

image

image


It also seems that I can set the floating web view position to be relative to the mouse position (as well as other options):

image

But what I would really like to be able to do is to be able to set it relative to the hovered Dock item.


It looks like the only options I have when triggered multiple times (as I assume would happen when using a time-based trigger set to a low time threshold; as there doesn't seem to be an option there to tell it to only trigger once) is to 'toggle between visible and hidden' or 'keep visible and refresh content'; though for this use case, I feel like 'keep visible (without content refresh)' might actually be a better option:

image

It also seems like the 'relative to mouse position' might be buggy currently?

image

As when I have it set to 0, 0, and hover over a dock item, I would expect the window to end up near that dock item. But instead it ends up somewhere in the middle left'ish area of my screen. Hard to demonstrate in a screenshot, but I was hovering over 'System Settings', yet you can see where the webview popped up:

I'm not sure if there is a way to make this happen currently, but for this use case it would be ideal if I could have the floating view disappear after Xsec after moving the mouse away from the Dock item that is being hovered.

Edit: Looks like maybe I can use the following for that (though haven't thought through/figured out exactly how yet):

  • 'Execute Action Sequence after Timeout'
  • 'Cancel Timed Action Sequence'

image

I was thinking maybe a 'conditional activation group' might be able to be used in some way:

image

But it looks like the conditions available aren't really sufficient for detecting when hovered over the menu bar:

I thought 'Focused element role' / 'Focused element subrole' might work, but that's doesn't work for hovered items in the same way that hovered_element_details does.

It does have a 'Mouse Behind Notch' option there though.. so I wonder if we could similarly have 'Mouse over Dock' or similar?

I was also thinking that maybe, even if it wasn't possible with any of the above features, I might be able to use some 'Run real JavaScript' to define a custom trigger; but as best I can tell, that only seems possible to use as an action, not a trigger. Is that right?