Use the thesaurus service provided by words.bighugelabs.com to get synonyms and antonyms to words.
To set up, get an API key and set it in the Workflow Environment Variables.
You can then check for synonyms and antonyms by calling syn or ant followed by a space and the word you wish to check against.
Alternatively, select a word and press the shortcut you defined to get the results. Pressing ↵ on a word will paste it to the front most app, which is useful when writing a text and want to change a word in place.
If you want to use one of the results to refine your query, press ⌘↵ (synonyms for the word) or ⌥↵ (antonyms for the word).
Starting with Alfred 5, you can use Automation Tasks to achieve the same results and more.
I’ve been seeing a lot of workflows that need to interact with a browser via AppleScript (usually to get a page’s url), but most of them seem to settle on a single browser, which is a shame. I can understand — AppleScript is a pain, and since each browser implements these functions however they want, finding the best way to do it with each one can be difficult, so here’s the code for most of them.
The code for this may seem massive, but it is not. Read the comments to understand when to use what.
You can find the latest version of this as a gist.
-- AppleScript --
-- This example is meant as a simple starting point to show how to get the information in the simplest available way.
-- Keep in mind that when asking for a `return` after another, only the first one will be output.
-- This method is as good as its JXA counterpart.
-- Chromium variants include "Google Chrome", "Chromium", "Opera", "Vivaldi", "Brave Browser", "Microsoft Edge".
-- Specific editions are valid, including "Google Chrome Canary", "Microsoft Edge Dev".
-- "Google Chrome" Example:
tell application "Google Chrome" to return title of active tab of front window
tell application "Google Chrome" to return URL of active tab of front window
-- "Chromium" Example:
tell application "Chromium" to return title of active tab of front window
tell application "Chromium" to return URL of active tab of front window
-- Webkit variants include "Safari", "Webkit".
-- Specific editions are valid, including "Safari Technology Preview".
-- "Safari" Example:
tell application "Safari" to return name of front document
tell application "Safari" to return URL of front document
-- "Webkit" Example:
tell application "Webkit" to return name of front document
tell application "Webkit" to return URL of front document
-- This example returns both the title and URL for the frontmost tab of the active browser, separated by a newline.
-- For shorter code inclusive of all editions, only the start of the application name is checked.
-- Keep in mind that to be able to use a variable in `tell application` — via `using terms from` — we’re basically requiring that referenced browser to be available on the system.
-- That means that to use this on "Google Chrome Canary" or "Chromium", "Google Chrome" needs to be installed. Same for other browsers.
-- This method also does not exit with a non-zero exit status when the frontmost application is not a supported browser.
-- For the aforementioned reasons, this method is inferior to its JXA counterpart.
tell application "System Events" to set frontApp to name of first process whose frontmost is true
if (frontapp starts with "Google Chrome") or (frontApp starts with "Chromium") or (frontApp starts with "Opera") or (frontApp starts with "Vivaldi") or (frontApp starts with "Brave Browser") or (frontApp starts with "Microsoft Edge") then
using terms from application "Google Chrome"
tell application frontApp to set currentTabTitle to title of active tab of front window
tell application frontApp to set currentTabUrl to URL of active tab of front window
end using terms from
else if (frontApp starts with "Safari") or (frontApp starts with "Webkit") then
using terms from application "Safari"
tell application frontApp to set currentTabTitle to name of front document
tell application frontApp to set currentTabUrl to URL of front document
end using terms from
else
return "You need a supported browser as your frontmost app"
end if
return currentTabUrl & "\n" & currentTabTitle
// JavaScript for Automation (JXA) //
// This example is meant as a simple starting point to show how to get the information in the simplest available way.
// Keep in mind that when asking for a value after another, only the last one one will be output.
// This method is as good as its AppleScript counterpart.
// Chromium variants include "Google Chrome", "Chromium", "Opera", "Vivaldi", "Brave Browser", "Microsoft Edge".
// Specific editions are valid, including "Google Chrome Canary", "Microsoft Edge Dev".
// "Google Chrome" Example:
Application('Google Chrome').windows[0].activeTab.name()
Application('Google Chrome').windows[0].activeTab.url()
// "Chromium" Example:
Application('Chromium').windows[0].activeTab.name()
Application('Chromium').windows[0].activeTab.url()
// Webkit variants include "Safari", "Webkit".
// Specific editions are valid, including "Safari Technology Preview".
// "Safari" Example:
Application('Safari').windows[0].currentTab.name()
Application('Safari').windows[0].currentTab.url()
// "Webkit" Example:
Application('Webkit').windows[0].currentTab.name()
Application('Webkit').windows[0].currentTab.url()
// This example returns both the title and URL for the frontmost tab of the active browser, separated by a newline.
// For shorter code inclusive of all editions, only the start of the application name is checked.
// This method is superior to its AppleScript counterpart. It does not need a "main" browser available on the system to reuse the command on similar ones and throws a proper error code on failure.
const frontmost_app_name = Application('System Events').applicationProcesses.where({ frontmost: true }).name()[0]
const frontmost_app = Application(frontmost_app_name)
const chromium_variants = ['Google Chrome', 'Chromium', 'Opera', 'Vivaldi', 'Brave Browser', 'Microsoft Edge']
const webkit_variants = ['Safari', 'Webkit']
if (chromium_variants.some(app_name => frontmost_app_name.startsWith(app_name))) {
var current_tab_title = frontmost_app.windows[0].activeTab.name()
var current_tab_url = frontmost_app.windows[0].activeTab.url()
} else if (webkit_variants.some(app_name => frontmost_app_name.startsWith(app_name))) {
var current_tab_title = frontmost_app.documents[0].name()
var current_tab_url = frontmost_app.documents[0].url()
} else {
throw new Error('You need a supported browser as your frontmost app')
}
current_tab_url + '\n' + current_tab_title
Other browsers
Firefox
Absent since although it’s possible to get the window’s title, it’s not possible to get its URL (it used to be, before version 3.6). It’s possible via hacky ways that consist of sending keystrokes, but those can be unreliable. This bug is being tracked in Bugzilla.