Skip to content

godbout/Wooshy.docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 

Repository files navigation

Search instantly through the macOS UI. Then click. Or copy.

awesome stuff happening in there again


The Site

wooshy.app for the handsome marketing thing. Looks like it's using Comic Sans MS but it's not, I swear.

License

Wooshy is young and tends to take random naps 🥺️ If you're willing to let him take a rest from time to time then you're all set. Else you may consider treating Wooshy one coffee a month. Yes software have feelings but hey Wooshy time to grow up!

Manual

Search

What does Wooshy search through?

Wooshy searches through UI elements' metadata, i.e. labels, titles, values, tooltips, placeholders, types etc. Some of this metadata is visible on the screen, while some is hidden behind the scenes. To discover all the terms you can use to reach a Target, check out The Inspector 🕵️‍♂️️

The Art of Searching

Wooshy's philosophy is to avoid navigation. Rather, you start with a gross search—just a few letters—and if needed you narrow down to the specific target you want to reach by typing a few more letters. This is possible thanks to:

  1. fuzzy matching: Wooshy will look for parts of different words, in any order. it's up to you
  2. role search: you can specify the role of the UI element you want, again in any order

So basically the best way to use Wooshy is: 1) you type a bit 2) if you've reached your Target, congratulations 3) if not, continue your current word, or add a new one to the search by adding a space, and start typing more 3) keep doing until you reach your Target 4) or you can also navigate between the Targets highlighted.

For example to specifically target a Log in button, you could type log but. See the videos below for more examples:

issue.mp4
full.mp4

The term can also be a star—*—that will show you all the UI elements that you can target.

The Inspector 🕵️‍♂️️

While Wooshying, hover over potential Targets to get The Inspector 🕵️‍♂️️ to investigate and let you know which terms will reach them. Especially useful for icons, images, buttons without text, etc. But you can use it anywhere to perfect your search skills on pages or apps that you use frequently.

TheInspector.mp4

Navigate

If you still need or want to navigate through the results, you can with:

target key
next tab or down or control n
previous shift tab or up or control p
first command up
last command down
halfway up control up
halfway down control down

If you use kindaVim, then you'll be able to navigate with Vim moves by entering Normal Mode and:

target kindaVim move
next j or down or control j or control n
previous k or up or control p
first gg
last G
halfway up control b or control u
halfway down control f or control d

Click

What would be Wooshy without all the clicks:

keyboard on the Primary Target
return left click
control return right click
option return option click
shift return shift click
command return command click
fn return or control option command return double left click

If The Input™ is empty and therefore no Primary Target is selected, Wooshy will click at the current mouse position instead. Magic!

Just Move the Mouse

You can also just move the mouse without clicking. It is less fun though:

keyboard mouse equivalent
shift command return run over there

Copy

⌘C on a Primary Target will copy the visible (or descriptive for icons, images, etc.) text. Add any modifier key (, , or ) to ⌘C to copy the metadata instead, i.e., the URL for links, status for checkboxes, tabs, radiobuttons, etc.

APIs

Distributed Notifications

Wooshy sends Distributed Notifications to macOS when you activate and deactivate The Input. You can listen to those Notifications with external tools like BetterTouchTool or Hammerspoon and build your own custom workflows as a result of those Notifications.

The Notifications Names are:

  • WooshyInputDidAppear
  • WooshyInputDidDisappear

Custom URLs

You can control Wooshy programmatically by calling the following Custom URLs:

  • open The Input: wooshy://openTheInput
  • close The Input: wooshy://closeTheInput
  • toggle The Input: wooshy://toggleTheInput

You can pass a URL query to fill The Input and start searching through UI Elements right away:

  • open: wooshy://openTheInput?with=rick%20astley
  • toggle: wooshy://toggleTheInput?with=ryan%reynolds

Need to bring any macOS window to the foreground?

Try our free, open-source Alfred Workflow: Wooshy: Window to the Foreground!.

Alternatives to Wooshy