Jump to content


Popular Content

Showing content with the highest reputation since 10/30/2014 in all areas

  1. 10 points
    Alfred 4 Read about this workflow below. This is an update to address the new Alfred 4 data folder (thanks to xilopaint). DOWNLOAD Description Alfred 3 workflow to search and create notes in Evernote. Search Keywords ens to search in every note field ens @ to search in a selected notebook ens # to search notes with a selected tags You can use ent (search in titles only) or enr (search in reminders) or entodo (search to-do notes) or enrec (search notes updated within a week) or enu (search notes with a source URL) instead of ens. You can select multiple tags to fine tune your searching. Just add a second hash sign and select or type the tag e.g. ens #tag1 #tag2 :my query In addition, you can select a single notebook then tags too e.g. ent @notebook #tag1 #tag2 :my query Note that, if you want to select a notebook and/or tags, the query goes after the colon sign as seen above. Actions Return key to open the note Shift key to preview the note Option key to set a reminder Control key to paste the note text content to the top most application Function key to open the note URL Command key to append text (from clipboard, selected text or typed) or selected file(s) in Finder. After pressing the Command key a new Alfred window will be shown so you will be able to select the text source and the action: Return key will append without date Option key with append with current date Hint: You can also use the Command key to only add tags to a note. To do so, type or select a tag and don't type anything after the colon then select the source "Type a Note" e.g. enn #tag : Note that Alfred Fallback Search is also supported (you have to add it in Alfred 2 Preferences>Features>Default Results, then click Setup fallback results button). Create Keyword enn You can optionally type the note title or, for a more complex creation, follow the syntax below: @Notebook #tag1 #tag2 !reminder :Title @notebook: after typing @ a list of notebooks will be displayed then select one or type it; the default will be used if omitted #tags: after typing # a list of tags will be displayed then select one or type a new one (multiple tags are supported, type each one after a hash sign) !reminder: after typing an exclamation point a list of reminder suggestions will be displayed then select one or type a custom reminder such as in 4 days or 05/01/2014 or 05/01/2014 at 2:00 Title: at the end, after a colon (or the second colon if you are adding time in your reminder) Note that items of the syntax are optional, however the syntax has to end with a colon, with or without typing the note title e.g. #tag1 : Note Content Source From clipboard From selected text Typed directly in Alfred From Safari or Google Chrome URL From message(s) selected in Mail app From file(s) selected in Finder app: you can create one note with files or one note for each selected files. Alfred File Browser also supported. Type a Note also supports multiple lines and, in this case, the first line will be the title of the note e.g. enn Line 1 /n Line 2 /n Line 3 Actions Return key: create a note Control Key: create a note and open it Command key: append text or file to a note Option key: append text to a note with current date How to Append Highlight one of the note content source e.g. From Clipboard Optionally type tags and a reminder e.g. #tag1 #tag2 !tomorrow hold command key and hit return key select a note from the list (search by title only) and hit return key Mail Message subject as the note title Message received date as the note creation date Message Link as the note source URL A short header (e.g. sender) A plain text version of the email content Note Templates Read about templates here. Preferences Bring Alfred and type the keyword enpref: Search wildcard: you can set the workflow to automatically use the Evernote search wildcard (*) or you can set the workflow to use only if it is typed (the Manual setting may by faster in a huge note collection). Download Evernote 9 beta 3 Release date: 99 Jun 2019 Made in OS X 10.13.5 Requires Evernote 7.2 from evernote.com Requires Alfred 3 Download now Download Evernote 9 beta 2 Release date: 09 Aug 2016 Made in OS X 10.11.5 Requires Evernote 6 from evernote.com Requires Alfred 3 Download now For Alfred 2 Version 8.992 Release date: 20 Feb 2015 Made in OS X 10.10.2 Requires Evernote 6.06 from evernote.com Requires Alfred 2.6 or later Download now What's new? 9 beta 3: minor code optimizations and updated workflow preferences (enpref keyword) 9 beta 2: bugs fixed and Evernote API updated 9 beta 1: Alfred 3 support 8.991: Evernote 6.06 initial support 8.9: Yosemite beta and note templates support 8.7: interface bugs fixed 8.6: enn issue fixed Improved reminder time support e.g. Tomorrow at 2:00 Added support for tags that start with a hash sign e.g. #Home Added support for tags that start with an at sign e.g. @Work Added support for notebooks that start with an at sign e.g. @Notes Workflow should be faster in most of cases When appending from a search result now you can hold Option key to include current date Type a Note supports multiple lines (first line will be the title) e.g. enn Line 1 /n Line 2 New Keyword enl and its hotkey to load the last search query Added support for some of Alfred 2.3 new features Workflow version history here.
  2. 10 points
    Overview Workflow to display recent Finder files and folders featuring: 5 default categories 2 custom categories Favorites, including a file action Keywords and hotkeys for Favorites and all categories apart Interaction with Open/Save dialogs and Finder Go To Folder Preview, reveal, open or use Alfred file actions Usage Show Alfred and type the keyword rec: You can also use the category keyword if you prefer to access the recent files directly, without an initial menu: Now: keyword now Folders: keyword fol Applications: keyword apps Documents: keyword docs Downloads: keyword dow Custom Category 1: keyword c1 Custom Category 2: keyword c2 Favorites: keyword fav In addition, there is a hotkey for the keyword rec, Favorites and all categories apart. Note that all keywords, as well as the hotkeys, can be changed (go to Alfred Preferences > Workflows). Finally, once inside a category you have the following actions: Return key: open the file or folder Command key: reveal the file or folder in Finder Option key: pass the file/older path to an open/save dialog or Finder window Control key: add/remove an item to/from Favorites Shift key: preview (Quick Look) the file or folder Custom Categories You can set up to two custom categories: Show Alfred and type the keyword recpref Select a category to configure and press return key Type an unique category name with at least 3 characters Type one or more (separated by comma) file types e.g.: com.adobe.pdf,public.plain-text To find a file type you can use Alfred Metadata Analyzer. To remove a custom category press command key while highlighting one of them in recpref. Favorites All files or folders set as a favorite item will remain in the list no matter how old they are. To add an item to Favorites just highlight a file or folder, hold control key and press return key. To remove an item go to Favorites, highlight an item, hold control key and press return key. You can also add items utilizing Alfred File Action (accepts multiple files). Note that Favorites has also its own keyword (fav) and hotkey. Interacting with Open/Save Dialog or Finder You can pass a recent file or folder path, or an item in Favorites, to an open/save dialog or even the current Finder window to go to that folder: when an open/save dialog is displayed type the keyword rec or any other category keyword find an item (a file or folder or an item from Favorites), highlight it, hold option key and press return key wait a bit so the workflow can load and paste the item path Default Folder The workflow remembers the last path used per application. To use the feature just type the keyword df when an open/save dialog is displayed. If the workflow was never used for the application, or the path does not exist anymore, then the keyword rec will be automatically triggered so you can select a path from a file or folder. There is also a hotkey to make things even faster. Make sure to give the feature time to process because e.g. if you hold keyboard keys way too long then the feature may not work as expected. What’s new Up to 2 custom categories (keyword recpref) Downloads category Keyword for each category Hotkey for each category Multiple files in Add to Favorites file action Changed Auto-path to Default Folder (keyworod df) Changed Just Now category to Now Added Help (keyword rechelp) Update to Alfred 2.3 features Several internal improvements Download Version 4.2 Release date: 19 Jun 2016 Requires Alfred 3 Download
  3. 9 points
    I added /System/Applications to the Search Scope list in Preferences -> Features -> Default Results and now the Apple installed apps show up in Alfred
  4. 9 points

    (faster) Menu Search

    I have re-implemented ctwise's excellent implementation of the Menu Search workflow in Swift. This version is ever so slightly faster (at least on my machine ) - YMMV. Requires OSX 10.7+ Download Setup Accessibility must be enabled for Alfred in order for this to work properly. For example, in macOS Sierra, this is configured using the Security and Privacy preference pane, under the Privacy tab with the Accessibility section selected. Alfred must be included in the list of apps allowed to control your computer. This step is required for the workflow to generate the list of menu items, and also click on a specific menu item. Here's a snapshot of what the preference pane might look like in macOS Sierra. Usage Type m in Alfred to list menu bar items for front most application You can filter menu items by name, or do a fuzzy search. E.g m new tab will match the menu item New Tab m cw will match the menu item Close Window Settings You can change the workflow environment variables to fine tune menu listings -show-disabled true/false controls if diabled menu items should be shown (default is false) - change this setting if certain items are not displayed, even though active -show-apple-menu true/false if true, menus items under the apple menu will be shown (default is false) -max-children number how many sub-menu items to load for each menu item (default is 30) -max-depth number how many nested levels if sub menus should be listed (default is 10) v1.6 and above You can also have customised settings per app. Typing ms into Alfred will give you a list of options to configure your settings.txt config file. The workflow comes bundled with a sample configuration file for reference. Your app settings will override any workflow level variable settings you may have specified. Here's the settings file I use for reference: # always show disabled menu items appFilters { app: "BibDesk" showDisabledMenuItems: true } # for Safari, ignore the History and Bookmarks # menus since loading it take a lot of time appFilters { app: "Safari" ignoreMenuPaths { path: "History" } ignoreMenuPaths { path: "Bookmarks" } } # For Finder alone, show the Apple menu entries, # and ignore any recent entries listed in the # Apple > Recent Items menu appFilters { app: "Finder" showAppleMenu: true ignoreMenuPaths { path: "Apple" path: "Recent Items" } } Change log 1.0 - Initial Release 1.1 - Added Fuzzy Text Matching for Menus If you have a menu item New Tab, then typing m nt in Alfred will match New Tab, since n and t matches the first letters of the menu text. 1.1.1 - Changed run behaviour to terminate previous script, this makes the experience slightly more faster 1.2 - Completely native menu clicking, removed reliance on AppleScript 1.2.1 - Performance improvements when generating menus using direct JSON encoding 1.2.2 - More performance improvements while filtering menu items 1.3 - Added -async flag to allow threaded scanning and populating of menus 1.4 - Added -cache setting to enable menu result caching and also set a timeout for cache invalidation 1.4.1 - Invalidate cache (if present) after actioning a menu press 1.4.2 - Slide the cache invalidation window forward in case we get invalidated by a near miss 1.4.3 - Speed improvements to caching, text search and fuzzy matching 1.4.4 - Added -no-apple-menu flag that will skip the apple menu items 1.4.5 - Tuned fuzzy matcher, allows non-continuous anchor token search 1.5 - Faster caching using protocol buffers 1.5.1 - Reduced file creation for cache storage 1.5.2 - Better support for command line apps that create menu bar owning applications 1.5.3 - Protocol buffer everything - microscopic speed improvements, but hey... 1.5.4 - Added various environment variables to fine tune menu listings 1.5.5 - Tweaked ranking of search results for better menu listings 1.6 - Per app customization via the `settings.txt` configuration file
  5. 8 points
    Call top for an auto-updating list of processes, ordered by CPU usage. Type to filter by process name. On each process: ⌘↵ quits. ⌥↵ forcibly kills. ⌃↵ limits CPU usage. fn↵ lowers priority (increases niceness). ⇧↵ freezes. ↵ gives more granularity over the options. Download | Source
  6. 8 points
    There is a bug in my (unofficial) Alfred-Workflow library that causes very many workflows using it to hang quite dramatically on Sierra. If you are affected (i.e. you see Alfred's CPU usage spike to 100%), Activity Monitor will show two Python processes like this (choose View > All Processes, Hierarchically), with the bottom one at ~99% CPU (this screenshot is actually of a non-misbehaving workflow): Download and run this workflow, which will update any old versions of Alfred-Workflow in your installed workflows. That should get your workflows working again until the workflow developers can push official fixes.
  7. 7 points


    This creates a new reminder in Reminders.app Download the latest version, for Alfred v3+ and macOS 10.12+ For older versions, go here. Usage To use, just type r <some text> into Alfred. For example, r check out some of Alfred's other workflows will create a new reminder called "check out some of Alfred's other workflows". You can also include times and dates in the text and have Alfred set a reminder for that particular time. r this will capture the current application and turn it into a reminder. r help will show some built-in examples. Dates To be reminded at a specific date/time, simply type a date into the command, for example: r today release the hamsters into the wild r tomorrow bring about financial ruin upon my enemies r in 5 minutes drop everything r in 2 hours laugh out loud r on 24/12/13 forget everything I know about things in movies r on 12 June 15 come up with some interesting ideas r on 31-12-99 23:22 panic about the millennium bug r at 2pm wait for nothing in particular r next thursday at 15.30 ask some difficult questions Priority To set the priority of the reminder, either use exclamation marks right at the start or end of the command (! for low priority, !! for medium priority, !!! for high priority), or type the priority right at the end of the command (these can also be abbreviated, for example mp or p lo). For example: r !!! in 2 weeks an important meeting r thursday have a banana medium priority r decide what to have for lunch !lo r make a turkey sandwich p3 Lists To choose a list to use on a per-reminder basis, type in <list name> list right at the end of the command, for example r Get Santa outfit !2 in Christmas list. If a matching list can't be found, you won't be able to action the command. In all other cases, the default Reminders list will be used (typically the first one). If you prefer, you can edit the defaultList variable within the workflow's Arg and Vars node (note that you'll have to edit this each time you upgrade the workflow however). Apps Get reminded about the app you're using, for example the selected file in Finder, or the current tab in Chrome or Safari. To create a reminder about the active app, simply type r this. Or keep typing to set a date, priority or a custom title, for example r this drop some sick beats on Friday !!!. The following apps are currently supported: Adobe Acrobat (Pro/DX) Chromium Contacts Finder FoldingText Google Chrome Google Chrome Canary Mail Mailplane 3 Microsoft PowerPoint Microsoft Word Safari TextEdit TextMate Vienna WebKit Apps can be added on request. Just raise an issue with the app you use. As long as it's freely available and has AppleScript support, it can be added. Getting help r help will display the above examples All sorts of combinations are possible! Configuration If you want to change the default reminder list, edit the variables component at the top of the workflow, otherwise it will just use the first one (unless you use "in Y list" at the end). External Trigger To call the workflow as an external trigger, use applescript such as tell application "Alfred 3" to run trigger "remind" in workflow "com.surrealroad.alfred-reminder" with argument "something tomorrow at 5pm" Changelog v74 (Thursday, 3 August 2017) – Fixed an issue where impartial queries did not get parsed (thanks Nibblesh!) v73 (Friday, 21 July 2017) - Added support for Mailplane 3 (thanks devguydavid!), ensure dates are always in the future (thanks saeedmahani!), added external trigger v72 (Monday, 6 March 2017) – Quit reminders if needed when complete v71 (Saturday, 4 March 2017) – Added built-in help v70 (Friday, 3 March 2017) – Added OneUpdater v69 (Tuesday, 3 January 2017) – Added support for different lists v68 (Friday, 9 December 2016) – Added remaining app handlers, escaped paths v67 (Thursday, 8 December 2016) – Added support for app-secific reminders v66 (Thursday, 8 December 2016) - Added support for priorities v65 (Thursday, 8 December 2016) – Fixed reminders app hanging temporarily after creating a new reminder v64 (Wednesday, 7 December 2016) – Rewritten from the ground up in JavaScript for Automation. Now requires Alfred v3+, MacOS Sierra+. NEW: Enhanced date/time natural language parsing. Never worry about the correct syntax again! NEW: Better messaging about what will happen when actioning the item. FIXED: (Hopefully) improved performance. Note: there are still several features that have not been carried across to this version. As such, this should be considered a beta version. Monday, 24 October 2016 – Add support for Microsoft Word, Adobe Acrobat Pro, OneNote, Powerpoint (Thanks to catgsmith!) Friday, 3 June 2016 – Compatbility for users who did not previously have Alfred v2 installed Wednesday, 28 October 2015 - attempted fix for reminders not quitting on OS <10.9 Tuesday, 27 October 2015 - fix for reminders not closing after adding a new reminder Thursday, 15 October 2015 – compatibility for OS 10.11 El Capitan (and hopefully future releases) Wednesday, 21 January 2015 – added pattern “r in {x} days at {time} to {something}” Thursday, 30 October 2014 – days can now be abbreviated to 3 or more characters (e.g. “tod”, “tomo”, “thurs”, etc.), minutes can be abbreviated to “min” or “mins”, hours can be abbreviated to “hr”; the priority of the reminder can now be specified by “ !” at the end of the query, “ !1”,“ !2”,“ !3” each with increasing priorities Wednesday, 22 October 2014 – fixed cache process errors on OS 10.10, workaround for apple bug #18734006 on OS 10.10 Tuesday, 21 October 2014 – addressed some internal errors (which should also improve performance a little), notifications should now be working on OS 10.10, fixed Mail integration on OS 10.10, Mail integration now takes the most recent message if multiple messages (or a conversation) are selected Saturday, 26 July 2014 – Disable showing reminders in OS 10.10 (Yosemite) Thursday, 9 January 2014 – Fixed Finder links in OS 10.9 Saturday, 23 November 2013 – Disable display of existing reminders under OS 10.9 Friday, 22 November 2013 – Workflow will now display a message if the command is not valid Saturday, 2 November 2013 – Fixed an issue that would cause the workflow to crash the first few times it was run; fixed an issue that would prevent update checking to work correctly Friday, 1 November 2013 – Fixed an issue where caching reminders would cause update checking to fail Wednesday, 23 October 2013 – Increased timeout on OS 10.9, and allowed reminders to be retrieved from the cache while it's running; times specified without am/pm are now assumed to be in 24hour format; corrected an issue where 12 o'clock times were calculated incorrectly; you can now use "noon" and "midnight" to specify time Tuesday, 22 October 2013 – Prevent cache processes overlapping; recreate damaged cache file if needed; workaround for OS 10.9 GM2 plist bug Wednesday, 9 October 2013 – Added support for Google Chrome Canary; added plain text formats of applescripts; fix for cache process failing for new users Monday, 7 October 2013 – Added profiling to rtest; "r" with no arguments is now the same as "r all" Friday, 4 October 2013 – Compatbility with OS 10.9 Mavericks GM Wednesday, 18 September 2013 – Fix for non-gregorian date format Tuesday, 17 September 2013 – Updated q_workflow module to latest version Wednesday, 10 July 2013 - Added support for OmniFocus 2, TextMate 2 and FoldingText Thursday, 18 April 2013 – Fixed recognition of 10/11/12am/pm times Tuesday, 16 April 2013 -- Added support for WebKit Nightly. Monday, 15 April 2013 – Added "r in x days y hours", "r in x hours y minutes", "r today/tomorrow/weekday at time to x" patterns Thursday, 11 April 2013 – Added support for OmniFocus, Vienna, reminder from address book now adds a link to the contact Wednesday, 10 April 2013 – Fix for -609 error (thanks, stevef!) Tuesday, 9 April 2013 – Added "r refresh" keyword to refresh list ("r all" will no longer refresh the list); added "rshow", which will only show options for existing reminders, "radd", which will only show options for adding new reminders; added "rtest" which runs a set of tests to check for potential problems; fixed an issue that would cause workflow to crash (thanks, erist!) Monday, 8 April 2013 – Better compatibility for editing library scripts on other systems; it's now possible to delete reminders by holding down control; fixed a rare issue where the workflow might incorrectly report a new version is available; iconography tweak; added "overdue" keyword; added support for TextMate and TextEdit; allow "r in 1 minute/hour/day" Sunday, 7 April 2013 – Don't mark reminder as complete with option held down; properly escape illegal characters in query; added support for Finder and Chromium Saturday, 6 April 2013 – Added "r this" which captures data from the current application and turns it into a reminder; support for Google Chrome, Safari, and Mail; fixed a regression; support for contacts/address book; added icons from the icon factory; "r all" now refreshes the cache Friday, 5 April 2013 – Show "r all" in help; don't close reminders if its been moved to the foreground; all keywords can now be used to filter displayed reminders; changed the cache duration to 2 hours; subtitle for existing reminders shows more information where possible Thursday, 4 April 2013 – Performance improvements; hold option to view the selected reminder in Reminders.app Wednesday, 3 April 2013 – Fix for "in list" pattern breaking up text; added "r help" examples; don't prompt to create reminder with "all" keyword; checks for newer versions of the workflow Tuesday, 2 April 2013 – If reminders.app is closed, it will stay closed when using this workflow Sunday, 31 March 2013 – Added pattern "r Wednesday something" Wednesday, 27 March 2013 – Renamed workflow to "Reminders"; Use application id instead of name, Alfred now shows existing reminders in his list (selecting one will mark it as complete); keyword is now optional Tuesday, 26 March 2013 – Now sets specified date as the reminder date, rather than due date; added pattern "r something in Y list" Wednesday, 20 March 2013 – You can now use the pattern "r at 1.30 to something"; Alfred will tell you what's going to happen before you press enter; split off code to library file Tuesday, 19 March 2013 – You can now use the pattern "r in X minutes/hours/days something" Sunday, 17 March 2013 – You can now specify a date for the reminder. See the examples above. Acknowledgements Date parsing is done via chrono.js Uses icons from the Flurry collection by David Lanham / The Icon Factory Updates via OneUpdater Disclaimer This workflow is provided as-is, use it at your own risk. I can't take any responsibility for anything bad that happens as a result of using it, including, but not limited to, loss of data, loss of sanity, spontaneous human combustion. Feedback By far the best way to give me feedback is to submit an issue on GitHub. Alternatively, just reply to this post.
  8. 7 points
    Download media from a plethora of sources, even when embedded in other pages. Copy a link to your clipboard, run dv, and you’re done. The workflow will show you a notification when it starts downloading and another when finished. If you have WatchList you’ll see an option to automatically add the downloaded video to your watchlist. Run any option with the ⌘ modifier, and the full playlist will be downloaded. To see the download progress, run dvp. It will auto-refresh the progress. Actioning it with the ⌘ modifier will restart the current download (adding it to the back of the queue), while actioning with ⌃ will abort the current download. You can also run :downvidservices to install (or later remove, running the same command) DownVid actions to macOS Services. What this means is wherever you find a URL, you’ll be able to right click it and start the download right from the context menu. The Workflow Environment Variables represent the directories where videos will download to, as well as the audio format to save when that option is picked. Download | Source If on Alfred 3, download this one. Works well with WatchList
  9. 7 points
    Note: This post is out of date as of Alfred 3.6 (which introduced AppleScript functions to set and remove variables). There is an updated version on my own site: Workflow/environment variables in Alfred. This post will not be updated due to the difficulty of editing complex posts using the forum software. Sorry. This is a brief look at how to get, set and save variables in code (i.e. in Script Filters, Run Script Actions, etc.). In Alfred 2, you had one single variable to work with: the {query} macro. Alfred 3 adds the ability to specify as many variables as you want. Alfred's own help provides a great description of working with variables in Alfred's own UI. I'm going to look more closely about getting and setting workflow/environment variables in your own code within a workflow. First of all, it bears mentioning that all variables are strings. Sure, you can set a variable to a number in JSON, but when it reaches your next script or one of Alfred's Filter Utilities, it will be a string. If you set a variable to an array (e.g. [1, 2, 3, "mach dat Mäh mal ei"]), Alfred will turn it into a single, tab-delimited string ("1\t2\t3\tmach dat Mäh mal ei"). Setting variables There are several ways to set variables. The most obvious ones are in the Workflow Environment Variables table in the workflow configuration sheet and using the Arg and Vars Utility. The configuration sheet is largely without magic, but in an Args and Vars Utility, you can use variable expansion macros: {query} expands (as always) to the input (which may be a user-entered query or the output from a previous Action), and you can use {var:VARIABLE_NAME} macros for your own custom variables. This is described in detail in the above-mentioned help pages. More interestingly, you can also set variables via the output of your scripts (i.e. dynamically) by emitting appropriate JSON. How you set variables depends on whether you are using a Script Filter or a Run Script action. You must use the appropriate mechanism, or it won't work. From Run Script actions Let's say your script outputs a URL, e.g. https://www.google.com. Normally you just do print('https://www.google.com') (or echo or puts) and that gets passed as the input to the next action. To also pass variables, you instead emit JSON in a very specific format: {"alfredworkflow": { "arg": "https://www.google.com", "variables": {"browser": "Google Chrome"}}} The root alfredworkflow object is required. If it's missing, Alfred won't parse the JSON, but will pass it as-is as input to the next action (which can also be very useful). Your output (i.e. the next Action's input/{query}) goes in arg, and any variables you wish to set go in the variables object. From Script Filters You can also set workflow variables via Script Filter feedback at three different levels: the root level, the item level and the modifier level. (Note: This only applies to JSON feedback; XML feedback is now deprecated and does not support the features described here.) In each case, variables are set via a variables object at the appropriate level (feedback root, item or mod). Root-level variables Root-level variables are always passed to downstream elements regardless of which item is actioned. They are also passed back to the same Script Filter if you've set rerun, so you can use root-level variables to implement a progress bar. browser is set to Safari for all items: {"variables": {"browser": "Safari"}, "items": [{"title": "Google", "arg": "https://www.google.com"}]} Item-level variables Item-level variables are only passed downstream when the item they're set on is actioned, and they override root-level variables. Root-level variables are also passed downstream when you action an item. browser is set to Safari by default, but Google Chrome for Reddit: {"variables": {"browser": "Safari"}, "items": [ {"title": "Google", "arg": "https://www.google.com"}, {"title": "Reddit", "arg": "https://reddit.com", "variables": {"browser": "Google Chrome"}}]} Modifier-level variables Modifier-level variables are only passed downstream when the corresponding item is actioned with the appropriate modifier key pressed. They replace item- and root-level variables (i.e. if a modifier sets any variables, Alfred ignores any root- and item-level variables). As above, browser is set to Safari by default and Google Chrome for Reddit. But you can also pass browser=Google Chrome for Google by holding ⌘ when actioning it: {"variables": {"browser": "Safari"}, "items": [ {"title": "Google", "arg": "https://www.google.com", "mods" {"cmd": {"variables": {"browser": "Google Chrome"}}}}, {"title": "Reddit", "arg": "https://reddit.com", "variables": {"browser": "Google Chrome"}}]} Using variables So you've set a few variables, and now you want to use them. Within Alfred elements like Arg and Vars or Filter Utilities, you use the above-mentioned {var:VARIABLE_NAME} macros. Very simple. Where it gets a little more complicated is in your own code. First and foremost, {var:VARIABLE_NAME} macro expansion does not work in Run Script Actions (or Run NSAppleScript). When Alfred runs your code, it does not use {var:...} macros, but rather takes any workflow variables and sets them as environment variables for your script. Using the above example again, Alfred would pass "https://www.google.com" to my script as input (either via ARGV or {query} depending on the settings) and it would set the environment variable browser to Safari or Google Chrome. How you retrieve environment variables depends on the language you're using. Accessing environment variables in different languages In bash/zsh, the variables are already in the global namespace. Just use $browser In Python, use the os.environ dictionary or os.getenv('VARIABLE_NAME'): import os browser = os.environ['browser'] # Or browser = os.getenv('browser') In AppleScript, use system attribute: set theBrowser to (system attribute "browser") In JavaScript (JXA), use $.getenv(): ObjC.import('stdlib') var browser = $.getenv('browser') In PHP, use getenv(): (Please see this comment by juliosecco on why you should use getenv() over $_ENV.) $browser = getenv('browser'); // Or $browser = $_ENV['browser']; In Ruby, use ENV: browser = ENV["browser"] Saving variables NOTE: This section is out of date as of Alfred 3.6. Please see the updated version linked at the top of the post. As amoose136 points out, any variables you set in a running workflow are not saved. They exist as long as the workflow is running and then disappear. Any Workflow Environment Variables will "reset" to their values in the workflow configuration sheet on the next run. Generally, this is what you want, but sometimes you want to save a variable's value. For example, you might have an API_KEY Workflow Environment Variable in the configuration sheet. The user can enter their API key for the service in the configuration sheet, but you'd also like to add the ability to set it from within your workflow, e.g. with a setapikey Keyword and corresponding Run Script action. WARNING: As of Alfred 3.4.1, Alfred takes several seconds to notice when info.plist has been updated by something other than itself. As a result, relying on altering info.plist programatically can be problematic, as Alfred won't notice the changes for several seconds (5–10 seconds is typical on my machine). If you update a workflow variable in info.plist and run your workflow again immediately, it is unlikely that Alfred will have picked up the change. The Workflow Environment Variables are contained in the variables section of info.plist. Consequently, to update them, you need to update info.plist. Regardless of which language you're using, you can call the PlistBuddy program to alter Workflow Environment Variables: # Set a variable /usr/libexec/PlistBuddy -c "Set :variables:API_KEY \"ABC-XYZ\"" info.plist # Delete a variable (i.e. remove it entirely from Workflow Environment Variables) /usr/libexec/PlistBuddy -c "Delete :variables:API_KEY" info.plist In Python, there's no need to use an external program, as it has the built-in plistlib library: from plistlib import readPlist, writePlist # Read info.plist into a standard Python dictionary info = readPlist('info.plist') # Set a variable info['variables']['API_KEY'] = 'ABC-XYZ' # Delete a variable del info['variables']['API_KEY'] # Save changes writePlist(info, 'info.plist') (Note: plistlib only works with XML property lists, which is fine for info.plist, but using PlistBuddy is generally more robust.) Don't forget: any changes you make to info.plist only take effect the next time the workflow is run. This likely doesn't matter in most cases, but if you need a variable to be updated immediately (i.e. also for the current workflow run), you must also set it "live" using one of the methods described in the Setting variables section above.
  10. 7 points

    Movie and TV Show Search

    Movie and TV Show Search Search for movies or tv shows and get general info and ratings from various sites. Features Get movie/tv show runtime, genre, MPAA rating Get ratings from IMDb, Rotten Tomatoes, Metacritic (if available) Show a link to a trailer (if available) Show a few credits Download Get the workflow from Packal or GitHub. Usage Type 'movie' and the title you'd like to search for. Select item (ENTER) to get movie info. Type 'tv' and the title you'd like to search for. Select item (ENTER) to get show info. Thanks Thanks to @deanishe for Alfred-Workflow. Uses TMDb and OMDb APIs for info. @vitor for all his help with developing a great workflow Changelog 2.6 (2017-11-27) Big thanks to @vitor for implementing the following enhancements: - Add support for OneUpdater - Move OMDb API key to workflow environment variables 2.5 (2017-11-27) - Added free OMDb API key 2.3 (2015-07-30) - Add RottenTomatoes audience score 2.2 (2015-05-01) - Open YouTube trailer (if available) when choosing to search all rating sites - Friendly message when internet connection isn't working properly 2.1 (2015-01-28) - added menu item to search all rating sites at once - added script behaviour queue delay (requires Alfred 2.6 or higher) - fixed rotten tomatoes search 2.0 (2015-01-20) - added tv show search - fixed issue with quick look not working for some items - removed tiny poster icon (didn't like the squishing and there was an issue with caching the icon in Alfred) 1.3 (2015-01-16) - removed argparse reference (and setting personal TMDb API key functionality) - updated alfred-workflow library to latest (v1.11.0) - fix/tidy up string encoding issues - error handling fixes 1.2 (2015-01-11) - show tiny poster in movie details listing - generate sexy html file for when first item in details listing is selected - add fallback search item (must be added manually in Alfred preferences > Features > Default Results > Setup fallback results) 1.1 (2015-01-10) - Add default TMDb API key 1.0 (2015-01-10) - Initial release This workflow is released under the MIT Licence.
  11. 7 points

    Workflow libraries and helpers

    Libraries/Frameworks Python: Alfred-Workflow, by @deanishe Go: AwGo by @deanishe (Alfred 3-only) Node.js: Alfy, by @sindresorhus Workflow templates Convert Excel spreadsheet to Workflow: I Sheet You Not, by @deanishe Convert JavaScript browser bookmarklet to Workflow: AlfredBookmarklet, by @vitor Utilities/Components Add auto-updating to your Workflow: OneUpdater, by @vitor Fuzzy search helper (alternative to Alfred filters results?Fuzzy by @deanishe Support multiple browsers: get_title_and_url, by @vitor Workflow management Workflow searching: Packal.org Alfred Workflow Search, by @deanishe List commands for all Workflows: Help, by @nsarthur Not Workflow related iTerm2 intergration: custom-iterm-applescripts-for-alfred, by @stuartcryan This list replaces the old one. Most of the libraries on that list are either abandoned or incredibly outdated. While they might still work, they might also work poorly with Alfred 3 or have been obsoleted by it. All the libraries on this list are (at the time of the last edit) up-to-date and their developers are either still supporting them or forum regulars. That means any problems you find and suggestions you have are likely to be addressed. If there’s any library you think belongs in (or should be removed from) this list, leave a reply below. I’ll evaluate it and then hide the comments (so the thread can be kept tidy).
  12. 7 points
    It looks like this is unmaintained, so I took the latest release, made the tweaks to suit Alfred 3 and stuck it on GitHub. Grab it at https://github.com/ihowson/EggTimer2/releases/tag/v1.0.0
  13. 6 points
    Searchio! workflow for Alfred Auto-suggest search results from multiple search engines and languages. There are a few existing workflows that provide auto-suggest results from one or the other search engine, but this includes not only multiple search engines, but also allows you to specify multiple languages/regions for your results. Supports the following search engines/websites: Google Google Images Google Maps YouTube Wikipedia Wiktionary Amazon eBay DuckDuckGo Bing Yahoo! Ask.com Yandex.ru Naver.com Wikia.com Download and installation Download the latest version from the GitHub releases page or Packal. Usage There are several searches pre-configured. Only some have keywords (i.e. can be used as-is): g — Search Google in system (i.e. default) language m — Search Google Maps in system (i.e. default) language gi — Search Google Images in system (i.e. default) language w — Search Wikipedia in system (i.e. default) language wn — Search Wiktionary in system (i.e. default) language a — Search Amazon in system (i.e. default) language. If your system language is English, this will search Amazon.com. Use -l uk in the Script Filter to search Amazon.co.uk or -l ca to search Amazon.ca. yt — Search YouTube in system (i.e. default) language searchio [<query>] — Show settings and list of supported search engines. Currently, the only setting is a toggle to also show the <query> in the results list (default: No). searchiohelp — Open help file in your browser You can add a keyword to (and edit) one of the existing examples or add your own searches. For details on how to do that, see the GitHub page. Licensing, thanks The code in this workflow is released under the MIT Licence. The icons belong to the respective search engines. This workflow uses the Alfred-Workflow library and docopt (both MIT-licensed).
  14. 6 points

    Safari Assistant

    Safari Assistant All-in-one workflow for Safari. Filter tabs, bookmarks (and bookmarklets), reading list and history. Several built-in actions. Easily add your own via scripts. Assign your favourite actions (or bookmarklets) to alternate actions (i.e. ⌥↩, ^↩ etc.). Download from GitHub releases. Source code. Built-in tab actions: Close Tab Close Window Close Other Tabs Close Tabs to Left Close Tabs to Right Built-in URL actions (also work on tabs): Open in Private Window Open in Default Browser Open in Chrome Open in Firefox Usage bh [<query>] — Search and open/action bookmarks and recent history. ↩ — Open item in browser. ⌘↩ — Show URL actions for selected item. ⌥↩ — Run custom action on selected item. ^↩ — Run custom action on selected item. fn↩ — Run custom action on selected item. ⇧↩ — Run custom action on selected item. bm [<query>] — Search and open/action bookmarks. ↩, ⌘↩, ⌥↩, ^↩, fn↩, ⇧↩ — As above. bml [<query>] — Search and run bookmarklets. ↩ — Run bookmarklet in active tab. bmf [<query>] — Search bookmark folders. ↩ — Enter folder/open bookmark. ⌘↩ — Open all bookmarks in folder/show URL actions for bookmark. hi [<query>] — Search and open/action history entries. ↩, ⌘↩, ⌥↩, ^↩, fn↩, ⇧↩ — As above. rl [<query>] — Search and open/action Reading List entries. ↩, ⌘↩, ⌥↩, ^↩, fn↩, ⇧↩ — As above. tab [<query>] — Search and activate/action Safari tabs. ↩ — Activate the selected tab. ⌘↩, ⌥↩, ^↩, fn↩, ⇧↩ — As above. See the README on GitHub for full usage instructions.
  15. 6 points
    Hi, I've created a workflow to find and open Apple/iCloud notes in Notes.app. Just type n[part of note title] and press enter. The default search method is known to work on High Sierra and Mojave, but AppleScript options are also supplied that should work on other macOS versions. Get it on Packal and feel free to open issues/make pull requests on GitHub.
  16. 6 points
    Search for emoji and copy them to the clipboard ?. Download v1.8.0 (2018-11-20) Usage: emoji [query] Press [return] (↵): Copy the symbol of the selected emoji (e.g. ?) to your clipboard. Press [alt]+[return] (⌥↵): Copy the code of the selected emoji (e.g. `:rofl:`) to your clipboard. Press [cmd]+[return] (⌘↵): Paste the code of the selected emoji (e.g. ?) to your frontmost application. Automatic Updates: This workflow will automatically check for updates at most once per day. If a new release is found, it automatically downloads and installs the latest version of the workflow. All downloads come directly from official GitHub releases. Optional Hotkey and Snippet Triggers: Customize the workflow with either a custom hotkey or a custom snippet. Links: GitHub Project Download New Releases GitHub Issues - (please submit bug reports and feature requests here) Screenshot:
  17. 6 points
    Evernote workflow 9 beta 3 released with minor code optimizations and updated workflow preferences. Download Now If your search (ens keyword) is not returning any results please make sure to trigger a full index rebuild in Evernote app: Option-Key Help > Troubleshooting > Recreate
  18. 6 points

    EggTimer v2 [updated to 2.0 final]

    Download the zip file from the repo (Clone or download > Download ZIP) and extract it. Go into the new directory, select all the files, right-click and choose "Compress 11 Items". That will create Archive.zip. change the name to Archive.alfredworkflow and double-click it.
  19. 6 points
    # fuzzylist Fuzzy, self-updating list filter workflow for Alfred 3 This is a workflow template - it does nothing as is. ## Usage: - create a csv file like you would for an Alfred List Filter - name the file *list.csv* and add it to the workflow directory On the initial run, the workflow will create a file list.json for output to the fuzzy search. If list.csv is modified, it will update list.json . ## Credits - uses fuzzy.py by @deanishe - https://github.com/deanishe/alfred-fuzzy ## Download workflow at https://github.com/derickfay/fuzzylist/blob/master/Fuzzy List Filter.alfredworkflow
  20. 6 points
    In light of replacing other text expansion tools with Alfred, I am missing two features in the beta version of Alfred 3: I need the feature of having a text entry field after having triggered a snippet so that I can fill in missing information "at expansion time", e.g. a snippet like "Dear {name}, ..." should allow me to enter a replacement for {name} during expansion of the snippet. There is support for dynamic placeholders, but it seems that this is only for date, time and clipboard and not for "on expansion time" values since they would require a UI to enter the missing values. Here is an example from another implementation (Dash): https://www.dropbox.com/s/ztnzp22reoa8b9l/Sample_custom_dynamic_snippet.png?dl=0 I need (basic) rich text snippets which allow me to format parts of my snippet in bold, as list item etc. It looks like I can format the complete snippet as a whole only as of now. I am really looking forward to the next iteration of the snippets feature.
  21. 5 points
    I wrote a workflow in ruby to convert currency. Requires Alfred v3. Notice: The Old versions(v1.2-) api has been out of service at June 5, 2018. Please update to v1.3+ to keep using currency conversion feature. Github Download Features: Support 30+ currency units with fixer.io. Basic support for sign. e.g.,$,¥,£,etc. Customizable displayed currency units and base unit. Input once to get all result. Usage: Tap 'cy' to get latest exchange rates. Tap 'cy money' to get exchanged result. You can press enter to send the result to the clipboard. Tap 'add-cy', 'remove-cy' to customize displayed currency units. Tap 'base-cy' to set base currency unit. Hope you like it.
  22. 5 points

    Recent Documents / Apps ?

    This workflow can list documents and apps opened recently. Especially, it can list files opened recently by the foremost app. System: macOS 10.11+ Github: https://github.com/mpco/Alfred3-workflow-recent-documents Usage You can press Enter to open the file in result, or press ⌘CMD-Enter to reveal it in Finder. Tap rr to list files opened recently by the foremost app. For example: Recent folders will be listed when Finder is foremost. Recent rtf, text files will be listed when TextEdit app is foremost. Recent *.sketch files will be listed when Sketch app is foremost. Recent *.xcodeproj project files will be listed when Xcode app is foremost. The subtitle of each result consists of ⏱modified time and ?path of the file. Tap rf to list recent folders. Opening recent folders is very common in use. Tapping rf is a more efficient way, even though you can activate Finder and then tap rr. Tap rd to list recent files. These files were recently opened by user, not like rr which is just for the foremost app. Tap ra to list apps opened recently. Exclude folders from the results. You can add private folder pathes separated by colon : to the Workflow Environment Variable ExcludedFolders. The results will not show private folders and any files inside them. For example: ~/privateFolder1/:/Users/G/privateFolder2/
  23. 5 points

    Moving this forum to Discourse

    Hi all, I've read this thread carefully and have been mulling it over this week. There are many reasons we're using IPBoard, and I figure it's only fair that I share our rationale for where we're at with the forum we've opted for. I'm also going to take this feedback and share it with IPB in the hope that they can understand the issues and the shortcomings of the editor, and make some essential improvements so that writing and editing posts is more straightforward. We moved from the cutesy-but-extremely-limited Get Satisfaction in 2013, which was a difficult process even at a time where the community was less than 1/20th what it is now; Content was lost, all the previously indexed links were no longer valid, users had to create new accounts, etc. Huge upheaval for everyone. Taking a look back, they've since been acquired by another company and their product has completely changed, so our hand would've been forced even if we hadn't left then. Moving to the established - if somewhat non-trendy - IPBoard meant we'd have a platform that had been around a long time and wasn't going to be sold to the highest bidder who'll acqui-hire the staff and gut the product for parts next month. Since 2013, it has proven to be reliably available, taking a minimal amount of time for me to keep updated behind the scenes. With the exception of a few colour scheme changes, it's a completely vanilla install, with no plugins, so that I can trust that I can do security updates quickly while most users are sleeping, without having to go through testing of every plugin, or causing unexpected downtime/issues. By keeping things as simple as possible, we can focus time on helping users, rather than troubleshooting issues with unsupported plugins, new releases, etc. as the forum is only one of the numerous aspects of running a software business Andrew and I have to juggle every day. We value your time too, as community members who volunteer their time to help fellow Alfred users, so I'll definitely have a more comprehensive chat with IPB to try to bring some of these improvements in. At this point, I can't promise anything, but I'll let you know what feedback I get from the IPBoard team. Cheers, Vero
  24. 5 points
    Quick reference for when you need to tell application "System Events" to key code in AppleScript. Call it with kc. Type a search term to filter keys. Download | Source
  25. 5 points

    Progress Bar

    I created a sample workflow to demonstrate how one could implement a progress bar. This workflow requires Alfred 3.2 and takes advantage of the `rerun` feature. https://github.com/jeeftor/ProgressBar
  26. 5 points

    Toggl workflow

    This workflow lets you interact with your account on Toggl (so, you know, you have to already have an account at toggle.com). It provides a fairly basic level of access; you can view time entries for the past few days (the Toggl API default), start/continue and stop entries, add projects, and generate some basic in-Alfred reports. Note: For the most up to date usage notes, release info, etc., please hop over to the workflow's page on GitHub. Usage The main keyword is tgl -- that will get you the list of available commands. When you first use the workflow, there's just a login command. After you login more commands will become available. timers - List, create, and modify time entries. projects - List, create, and modify projects. tags - List the available tags. report - Get a summary report for today, yesterday, or the current week. The report is grouped by project; tab into them to see times for tasks. sync - Grab the most current data from toggl.com logout - Logout of toggl.com reset - Clear out all local config data and cache This workflow works well in conjunction with the TogglDesktop application. Download Source For current update status, please see the workflow's release page on GitHub. Update 2016-04-15 The GitHub page is the best place to see the status of this workflow, and is the place to file issues. Head over to the Releases page on GitHub to grab the latest release. Update 2015-01-02 A new release is out with improved support for projects and tags. Update 2014-11-22 Well, after using Toggl for a year or two, I feel like I have a better idea of what to do with it. This version adds some new features (project support, at last!) and some general improvements (faster, easier to understand commands). I've also come up with some better (to me) ways of writing UIs with Alfred, and I got tired of the lag introduced by Python, so this is a total rewrite. Let me know what you think. Update 2013-11-29 I just pushed a couple of updates. There is now a command to quickly stop the current timer, and the workflow maintains project IDs when continuing tasks.
  27. 5 points
    Hey I made another minimalistic theme, as none fit my wishes really well! JUST ANOTHER MINIMALISTIC THEME BIG ALFRED 3 UPDATE Minimalistic 3 Minimalistic 3 Dark Mode Minimalistic Light 3 Minimalistic Dark 3 Download Minimalistic 3 http://cl.ly/2f102X0w1E1R Minimalistic 3 Dark Mode http://cl.ly/2q2v1O0k2m3E Minimalistic Light 3 https://cl.ly/0l3s3D3S0n2k Minimalistic Dark 3 http://cl.ly/1Z002A0V0c2e Thanks for the more than 10000 downloads! EDIT: Changed the color of the numbers for better readability for Minimalistic Light 3
  28. 5 points
  29. 5 points
    Hi there! It's my first public workflow. It helps to forget keyword for workflow which was not used long time. Just type ? and the name of the action and you will see a list of available actions. I hope that workflow will be useful Download Github Packal Current version: 1.0.2 Screenshot 1 Screenshot 2
  30. 4 points
    Search Alfred Workflows Alfred Workflows help to search in Title, Keyword, Description of a workflow and open it in various actions. Requires Alfred 4! Github: https://github.com/Acidham/search-alfred-workflows Options ENTER - Shows a list of keywords in the workflow and starts the workflow with a keyword CMD - For addtional Actions: Copy path to Clipboard Open WF Folder in Terminal (cd ) Reveal in Finder Open in ForkLift (requires ForkLift installed) Config exclude_disabled: True - ignore disabled workflow in search terminal_path: EMPTY opens in macOS shell or path to custom terminal
  31. 4 points
    Hello! I made an Alfred 3 workflow to search and switch between open windows in the system and Safari (and Chrome) tabs. More app-by-app support are (hopefully) coming. It is uses the companion native app, that's what makes it much faster than the other alternatives. https://github.com/mandrigin/AlfredSwitchWindows/releases Sierra only (at the moment). PS: Thanks to Emanuele Munafò and his "Windows Switcher" workflow for the inspiration.
  32. 4 points

    Ulysses workflow

    I've put an Alfred workflow for Ulysses up at packal.org/workflow/ulysses and github. The page includes a download link, full instructions and an image. Please give it a go. The commands are briefly: Get help u:help -- Show a brief summary of commands Open group or sheet uf -- Find a group or sheet based on internal content u -- Open group or sheet (cmd-return to drill down) ug -- Open group (cmd-return to drill down) us -- Open sheet Pop open Ulysses Open dialogue uo -- Search for within Ulysses’ Open dialogue Create sheets un --Create new sheet with optional text (shift-enter to create in /Inbox) Alfred file actions Use the Open in Ulysses file action to open text-like files in Ulysses Use the Import into Ulysses file action to create a new sheet from text-like content Configure view to open u:setsheetview -- Set the view for opening sheets with (defaults to 'Editor Only') u:setgroupview -- Set the view for opening groups with (defaults to 'Sheets') Thanks deanishe for the awesome Python workflow library dunkaroo for searching and file action help dfay for the new sheet code and file opener and importer katie for thoughts on how find command should work The source is on github. --- Rob
  33. 4 points
    List the contents of a directory and act on them. Call the workflow with rdn to sort from the most recently modified, rdo for the reverse; rda to sort from the most recently added, rdz for the reverse. To act on the selections, use the standard Alfred shortcuts. You can activate file actions, dive into directories, preview files, add them to the file buffer — whatever you want to do that is supported by Alfred. By default the Workflow looks in ~/Downloads. Change the value in the downloads_dir Workflow Environment Variable to use a different path, relative to your home directory. Download | Source
  34. 4 points

    Alfred 4 is coming in June! :D

    In case you haven't seen our tweet from a few days ago... Prepare your keyboards and stretch those finger muscles, Alfred 4 is coming in June! We've posted a very high-level list of just some of the features and improvements you can look forward to here: https://www.alfredapp.com/v4/ You'll answer find answers to questions about upgrades, and an email signup if you'd like to hear about Alfred 4 as soon as it's available!
  35. 4 points
    A better unit converter Download V0.6 contact thijs@designandsuch.com for questions, bugs, ideas and such try out the demo There are more unit converters available. but i didn't like the lack of speed due to the feeds. Thus i redid one myself which calculates everything on your mac. It fetches new currency data once in a while.. that's the only time when a second delay might appear. And in my humble opinion it's already better than all other unit converters around. I might add more units in the future but so far it has: - 7 units temperature ( celsius, kelvin, fahrenheit etc. ) - 21 units on length ( km, miles, nautical miles etc. ) - 15 units on weight ( kg, lb, etc. ) - 8 units on time ( days, hours, years months etc ) - 18 units on digital memory ( GB, MB TB bytes, kilobytes etc ) - 5 units on speed ( km/h, miles per hour etc. - 90 units on currencies ( euro, dollar, pounds, dinar etc. ) that's 164 units It has a nice blind rating system. so the more you choose for one answer, the more it will be likely that that one shows up in the suggestions. Automatic updates from a currency xml file I am working on an automatic update on the whole workflow so i could add new features while you use it. But that is not finished yet.. and i thought.. let's start sharing maybe ill get some nice feedback for possible cool ideas. * designed the icons myself, probably could work some more on those too. it doesn't need explanation... if you'll just start typing "5 kilometer to miles..." or something you will figure out how it works. some screenshots:
  36. 4 points

    Cardhop Workflow

    I played around with Cardhop and here is a workflow that I made. I wanted to get more time before sending some workflows to the forum to setup a repository and with an auto-update to the workflow, but I didn't have the time yet for that. And since some people mentioned that they would like a workflow for Cardhop, here is one! Features: Keyword "chc" : Search a contact in Alfred and open it in Cardhop Keyword "chs" or hotkey : Send the query to Cardhop. If the query is empty, it tries to get the selection from the front application and send it to Carhop (In short, you can select the contact information on it's website or email and call "chs" from Alfred and the selection should be sent directly to Cardhop). You can use this action to send the selection or pass a string to your Favorites list (alternative to keyword: chf) or to the Cardhop's Actions (alternative to keyword: cha). Keyword "chf" : Send a string from your Favorites list directly to Cardhop (could be used as a Snippets/Bookmarks list to rapidly write a query to Cardhop that you know gives you the right information in it without the need to write it all). Write your list in the Workflow Environment Variables "Favorites" and separated by semicolon (";"). Ex: Call mom home;Mail boss work;facetime Complicated Name;website businessName;/MyTag;Direction dentist... A variable "{q}" could be used to have a placeholder for a string that you want to set just before sending to Cardhop (ex: "Email {q} work" where {q} could be changed to any name at the time that you invoke the workflow). Tip: To directly activate an action in Cardhop, it seems to delay the input until it has done parsing the query, so you can rapidly press Enter a second time when you select an item from your Favorites list in Alfred and it should run the first action that Cardhop returns. Keyword "cha" : Show a list of possible Carhop actions. If arriving to this function using the Send feature (chs), then the selection or query would be appended to the Cardhop action before sending it. Hotkey to Send selection to Cardhop : If you prefer to send the selection directly to Cardhop with a hotkey instead of a keyword Fallback search to send the query to Cardhop : If you want to write the information directly in Alfred without any keyword before. To make it works, you would need to add the Fallback search into the Alfred Preferences at: "Features/Default Results/Setup fallback results/+/Workflow Trigger/Send to Cardhop" External trigger to send a string to Cardhop from an external script. Other external triggers are set if you want to pop the Favorites list or Actions list from an external script. Append/Prepend string : Add a string before or after the main string before sending using a predefined list or any string if the query doesn't match an item in the list (Could be useful to have a list of predefined group/tags) (See "Workflow Environment Variables" and "Navigation" lists below) Workflow Environment Variables: Favorites List: See keyword "chf" above AppendToSend : Set a predefined list of string to append using the Append feature (ALT key) PrependToSend : Set a predefined list of string to prepend using the Prepend feature (CTRL key) Navigation: CMD key : Go to the Send feature Actions List (chs) ALT key : Activate the selected item and append extra string (using the AppendToSend list) CTRL key : Activate the selected item and prepend extra string (using the PrependToSend list) Tip: If you want to use Cardhop as the application to open from Alfred when you are viewing a contact with the Alfred Contact Viewer and press CMD+O: Insert "x-cardhop://show?id={uid}" into the Alfred Preferences at "Features/Contacts/Advanced/URL Handler" instead of using "addressbook://{uid}". This should do the same as the keyword "chc" but without the need to write the keyword before searching for a contact and use directly the built-in contact search of Alfred Download Link (latest version): https://d.pr/f/rQTPtu Have fun!
  37. 4 points

    Switch Theme whether Dark Mode is on

    It would be great if I could set two themes: one for normal mode, and one for dark mode. I have f.lux that changes mode at sunset, so the best would be if in Alfred's prefs I could set a theme for both settings, so that switching is automatic, it doesn't have to fiddle with a scripts.
  38. 4 points
    What is this? This is a workflow that allows you to run free text searches against your OmniFocus data. Why would I need this? Well, it's difficult to quickly search for, say, a task using OmniFocus' own search box since OmniFocus restricts the results to the current perspective or selection. Other people have noticed this too. Where can I get it? From Packal or GitHub. How do I use it? The README has full instructions but, here's a starter for 10. Search for all tasks within OmniFocus (irrespective of status) with .s
  39. 4 points

    Yet another date calculator

    Date Calculator Hello there! I needed a bit of motivation to learn Python and Alfred workflows, so I thought I’d kill two horses with one bullet, so to speak. Right, so this is a date calculator – kind of. It won’t tell you when you will the lottery, or how long you’ve got to hide your ‘arty videos’ before your wife gets home, but it will answer one or two very simple questions about dates. For example, if you enter dcalc 25.12.14 - 18.01.14 then it will tell you the number of days between those dates. Note that the workflow parses the command as you enter it, so you’ll see invalid command, invalid expression and invalid formaterrors as you type. Once you’ve completed the command then you’ll be given the result. You could also try dcalc 25.12.14 - now for the number of days until Christmas. (Always seems so far away . . .) Maybe you don’t want it in days, but would rather it in weeks: dcalc 25.12.14 - now w or days and weeks dcalc 25.12.14 - now wd or years, months, weeks and days dcalc 25.12.14 - now ymwd or dcalc 25.12.14 - now long will do the same thing. Personally, I always use the long format because it’s more accurate. For those who like to look ahead, you can add days to a date dcalc now + 6d or weeks dcalc 18.12.14 + 9w or combine ‘em dcalc 18.12.12 + 5y 9d 3w - 2d + 1d 1w What does that mess do? Take the date 18.12.12 Add 5 years Add another 9 days Add another 3 weeks Then take off 2 days Add another 1 day And then add another 1 week If you want to know what week number you’re in, then try this: dcalc today wn Or for a specific date: dcalc 25.12.14 wn You can also use the today thing in other places too: dcalc today + 4d And we have another thing called time because the workflow can handle times too: dcalc time + 6h 8M will add 6 hours and 8 minutes to the current time. Note the capital ‘M’ to denote minutes. Odd, I know . . . sorry, but the workflow has to distinguish between this and a small ‘m’ (for months). I figured make this one a capital because it would see much less use. (It has for me.) If you just want the current time, then just enter dcalc time Here’s another time calculation dcalc 14:35 + 6h That’s the time 6 hours from now, and for real nerdiness: dcalc 21.06.14@14:20 - 23.01.12@09:21 long Probably not all that useful, but some of this other stuff might be. You know all about dcalc now For giving you the current time and date. While you can use dcalc tomorrow for tomorrow’s date, and as you would expect dcalc tomorrow + 1d will give you the day after tomorrow. dcalc next tue will give you the date next Tuesday. Or for for Thursday you could enter dcalc next tue + 2d if you’re still a little too inebriated to realise that dcalc next thu will give you the same answer. That about covers it, I think. I haven’t done anything clever with locales, but you can pick a different date format with dcalcset date format And we also support both 12-hour and 24-hour time formats. dcalcset time format I would recommend sticking with the 24-hour format; it's a lot easier to type because the AM/PM symbols have to be in upper case. You can also set the combined date and time format using: dcalcset date and time format If you’re ever puzzled by invalid command or invalid expression errors, then start with the settings; they might be set incorrectly. Oh, almost forgot. dcalc easter Is the date for next Easter Sunday, for no other reason that I can never remember it, and now there’s an easy way to find out how many days until Christmas: dcalc today - christmas And to celebrate finishing my new book, I decided to add: dcalc passover Alternative parser If surround a simple expression in double quotes, then something quite magical happens: dcalc "4 hours 8 minutes after 4pm" or dcalc "6 weeks and 4 days after next wednesday" or dcalc "1 day after tomorrow" Yup! A natural date language parser! You can even combine it with the existing parser: dcalc "next friday" + 1d This is a little bit experimental (I might drop it later if it proves to be problematic), but I thought I'd throw it in for a bit of a fun. Credits A list of things that made my first attempt at Python programming possible: Dean Jackson for his more-than-slightly awesome Alfred Workflow framework(Jetbrains(HumanFriendly(Python-DateUtil(PyPEG(ParseDateTime(Programming Praxis(MIT(http://opensource.org/licenses/MIT) one will do. :-)The MIT License (MIT) Copyright © 2014 MuppetGate Media Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  40. 4 points
    I've been recently playing around with launchbar and switch back and forth between it and Alfred. One thing I noticed that is pretty killer in launchbar, is the ability to use macOS services. Launchbar is indexing them by default and lets you use them either with normal text or files. A proposal could be: Type some text (or use a workflow to get the selected text and propagate the alfred window with it) Hit CTRL Select "Use Service" (or directly suggest them) Hit enter on a service to use them And the same with files. Hit CTRL and propagate the actions window with services that support the file type, next to workflow actions and default alfred actions I think this would make Alfred a lot more powerful without the need to create custom workflows. A lot of apps (the majority?) already exposes services, and being able to use them directly within alfred would be great. For example, some workflows that I manually wrote that would be possible with a service: DEVONthink: Add notes or files Delivers: Add a delivery from a text string Fantastical, Cardhop, Things: Add new entry directly from text Screenshot of available services enabled on my system when selecting text: Screenshot of available services when selecting a file:
  41. 4 points

    Switch Between audio input and output

    Audio Switch ================================================================================== Switch between your input sources and output devices. To install just download (or my github) and doble click the .alfredworkflow file.* To change your input source type input (it could take a little bit to load your sources), then select the one you desire The same for the output device, just type output then select your choice Since I don't have any audio device or source connected to my laptop only 1 (the default) device and source are shown.
  42. 4 points
    The main reason I avoid full fuzzy in the rest of Alfred is performance and result noise, but I agree with what's said here. I'll look at improving this!
  43. 4 points
    Uni Call is an open source project and an Alfred workflow providing the fastest way to make whatever audio, video phone call or send whatever text message on your Mac OS X (ambitious . It views your Apple Contacts (we love Apple address book and iCloud as the central place for all your contact information, and makes use of those information to help you initiate your phone calls or text messages as quickly as possible. Please visit Uni Call's official project site (http://unicall.guiguan.net) for more details.
  44. 4 points
    This is not necessarily a workflow I am sharing but something I use that I love and would really love to share with you. It allows me to use and manipulate all the great workflows you kind people have created and share and use them seamlessly. It also allows me to spike up my usage stats by some pretty wild numbers : The reason is that I don't ever really activate anything using hotkeys any more. I use something called 'sticky keys' and I have achieved using Karabiner. [Here](https://github.com/nikitavoloboev/dotfiles/tree/master/karabiner) is my repository with my config file for Karabiner. I have also put a readme in there to show how I use it and what for. You can just clone the repository and use the settings and change them to what you consider best for you. I hope you will like it too. Tell me what you think of it and if you managed to get it to work. You can ask any question you have about the config file I have as it is pretty lengthy.
  45. 4 points
    Version 7.3 is now available http://alfred-spotify-mini-player.com/blog/Version-7.3/
  46. 4 points
    eric roch

    Alfred Remote for iOS Widget

    I love the remote feature of Alfred. I use it to control Spotify, iTunes, and resize windows from my phone. The only thing that bothers me about it is that I have to unlock my phone and navigate back to the remote app to use it. This proves problematic, or at least inconvenient, when I am watching a movie and want to play/pause because someone came into the room, but it takes 15-30 seconds to get the app open. I would love to see a widget in the notification center of iOS that allows users to select remote buttons to display from any screen on their iPhone/iPad. Ideally, this would be resizable so one could have a single row (such as play/pause, vol+, vol-, mute) or multiple rows to control other things as well. This would be a swipe and a tap away rather than the current fingerprint (and passcode when it it doesn't work), swipe, tap the folder, tap the app, wait for it to load, tap the button. I think we can all agree on which option is better...
  47. 4 points

    (faster) Menu Search

    You're welcome. Although you might want to re-download because I've tried to make it even more snappier v1.4 - Caching Menu results are cached for a very short duration, resulting in even faster filtering of menu items. Check it out!
  48. 4 points

    iTerm Sessions

    Alfred workflow to quickly select of one currently opened iTerm sessions Just type “sessions” and it will show currently opened iTerm sessions. Optionally, you can type text to filter by session name. You can download on Github: https://github.com/madvas/alfred-iterm-sessions
  49. 4 points

    Open Contacts App from Alfred

    IMO, it would be more intuitive if the "Open contact in Alfred/Contacts.app" feature worked like normal workflow results, i.e. ENTER for the default action and CMD+ENTER for the alternate. It's a standard Alfred idiom to use CMD/CTRL/OPT/SHIFT+ENTER to perform alternate actions, while CMD+O is only used with contacts (AFAIK), so people are more likely to try CMD+ENTER, and to remember it. Also, the subtitle should then change to "Open contact in Contacts.app" or "Open contact in Alfred" when CMD is held down (just as it changes to "Search for 'x' in Spotlight" when you hold down OPT when a contact is selected).
  50. 4 points

    Workflow Libraries and Helpers

    Please see this newer thread for a more up-to-date list of libraries that support Alfred 3. Since the introduction of Alfred 2, there have been several extremely useful utility classes and other helpers crop up that simplify a lot of the tedious, common tasks associated with creating workflows. These utilities are developed and maintained by community members, not by the Alfred team. All support requests for these utilities should be directed to the original author. If you have another utility class that needs to be included in this list, send me a message or email (david@alfredapp.com) with information about it (name, description, short list of features, link to post or download page) and I will make sure that it gets added to the list. Special thanks to all the developers for their hard work and for sharing their work with us. Python Alfred-Workflow (by deanishe) A state-of-the-art Python library for Workflow developers. Support for Alfred 2 and 3. The library is simple to install, has no external dependencies, is very well-documented and maintained, and boasts an eye-wateringly high feature-to-size ratio at just 140 KB. Main features Catches, logs and notifies users (and developers) of errors in Workflows. No more confusing, silent failure. Super-simple, yet powerful data caching (e.g. from a web service) and storage. Easy-to-use storage of Workflow settings. Keychain access for secure storage (and cross-machine syncing) of sensitive data, like passwords and API keys. Tunable and understandable Alfred-like fuzzy search (e.g. got matches Game of Thrones as well as Baby Got Back. Or not: that's up to you.) Now with solid support for multi-word queries. Extremely lightweight, but full-featured, HTTP library with Requests-like interface, but just 12 KB instead of > 2 MB. Convenient access to standard OS X icons, for high-quality, familiar icons without adding size to the library. Also available via proper English. Pre-configured, built-in logging to enable simpler Workflow debugging. Painlessly run (update) scripts in the background without blocking your workflow, so you can still show "old" results while fetching new ones. Supports Alfred's new (version 2.3) modifier-specific subtitles. Simple support for 3rd-party libraries your Workflow relies on. "Magic" arguments to make developing/debugging Workflows so much easier, especially when helping less technically-inclined users. With "magic" arguments, you and your Workflow's users can open the Workflow's log file in Console.app, its cache and data directories in Finder, and its root directory in Finder orTerminal from the comfort of Alfred's query box. You can also delete the cache/data/settings if something is corrupted. Your workflow can update itself via GitHub releases. Accent-folding, so you can search non-ASCII text (e.g. voilà will be matched by voila) Functions to support migrating settings/data from older versions of your workflow. Well supported and kept up-to-date with Alfred's features as they are added. Alfred 3-only features Workflow variables Advanced modifiers Alfred 3-only updates And as you can see from the above links, there is extensive documentation, including a two-part tutorial on building a Workflow from scratch. Examples Here are a few examples of how you can do some pretty cools stuff in just a few lines of code. A simple Workflow I made to search Packal in ~90 lines of code. A simple Workflow to search your recent Pinboard posts in ~50 lines of code. A polished, user-friendly, wicked-fast Workflow to search your recent Pinboard posts in ~200 lines of code. Remember, each of these Workflows also has—for free—full error-catching and -logging support, and the ability to open its log file (which contains all errors) via Alfred's query box. No need to ask users to grub around in ~/Library or flounder in Terminal here. This is not the Workflow library 2014 deserves, but it's the one it needs Alp (developed by phyllisstein) alp is a Python module for developing Alfred workflows that bridges the gaps between Python and OS X and Python and Alfred, making the process of creating a workflow quick and easy. As it's essentially a collection of shortcuts for common and repetitive tasks, developers will find that working with alp results in less and more efficient code and a generally more sane workflow development experience. A painstaking guide to its various features, bells, and whistles is available in the README at the Github repository. Features: Simplified generation of feedback XML. Shortcuts for bundle ID, storage paths, settings, and arbitrary plist and JSON files. OS X interaction features, including the sending of additional notifications, interaction with the Keychain, and interaction with Spotlight. Internet interaction features, including bundled modules for making and caching HTTP requests, parsing markup data, and sending e-mail. The ability to remove unneeded modules for a svelte workflow bundle. Alfred-Python (developed by JinnLynn) alfred-python is a full-featured python module that helps building Alfed workflow quick and easy. Features: Simple feedback XML generation Provides functions for storing or retrieving cache data Workflow configuration management Includes an easy way to download remote file Easily get bundle id, query arguments, etc. More code example can be found on my own workflows. PHP Workflows (developed by David Ferguson) Workflows is a PHP library for building Alfred 2 workflows using PHP. Installation is quick and easy. Just drop in the Workflows.php class file, import it into your code, and initialize it. Full documentation, with usage examples can be found on David's blog. Features: Simple XML generation Read/writing files as plain text, json, etc. Read/write plist values Find local files Provide access to commonly used paths (home, cache, current, data storage, etc) Easy HTTP/cURL requests Haskell AlfredLibraryInHaskell (developed by raguay.customct) This is a Haskell library for creating Alfred workflows. AppleScript qWorkflow (developed by ursanrazvan) qWorkflow is an AppleScript library for creating workflows with Alfred 2. This library provides an object-oriented approach for working with plist settings files, reading and writing data to files, generating Alfred feedback results, requesting remote data, parsing JSON data, and more. Features: object-oriented approach to write less & more readable code heavily documented with code samples internal workflow introspection (finding the bundle ID, cache & storage paths) generate Alfred-compatible XML feedback with ease saving & retrieving workflow-related settings (with support for default settings file) remote data requests, as well as JSON support sending notifications through the Notification Center various internal utilities that improve AppleScript (string and date manipulation, file system utilities) More info & example workflows created with this support library can be found on the project's github repo Go goAlfred (Developed by raguay.customct) This go library is used to create workflows for Alfred 2 easier in the go language from Google (http://golang.org/). It will automatically create your cache and data directories. It also creates the xml listing for the feedback system. Examples included. Installation and Usage You install the library with:go get github.com/raguay/goAlfred # (You might have to use sudo). Any program that you want to use the library, just place this line in it: import "github.com/raguay/goAlfred" Functions The accessible function calls are: goAlfred.BundleId() - This will get your Bundle Id for your workflow. goAlfred.Cache() - This function returns the location of your cache directory. goAlfred.Home() - This function returns the location of your home directory. goAlfred.Data() - This function returns the location of your workflow's data directory. goAlfred.Path() - This function returns the location of your workflow's directory. goAlfred.Error() - Returns the last error received. AddResult( uid string, arg string, title string, sub string, icon string, valid string, auto string, rtype string) - This function allows you to build up the xml string for returning to Alfred. AddResultSimilar(instring string, uid string, arg string, title string, sub string, icon string, valid string, auto string, rtype string) - This function allows you to build up the xml string for returning to Alfred only if the title is similar to the instring given. goAlfred.SetDefaultString(title string) - This function sets a different default message if no results have been added. goAlfred.GetXML() - This function returns the XML string that needs to be given to Alfred. Bash BashWorkflowHandler (developed by _mk_) Features: create feedback xml save/read preferences volatile and non-volatile get workflow's cache dir get workflow's data dir get workflow's bundle id Usage examples can be found in the README at the GitHub repo. Bash Workflow Framework (developed by djc) BASH workflow framework which makes it simple to create a workflow which allows you to display feedback within Alfred after selecting a result, getting around the issue that "Script Filters are the only way to pass feedback to Alfred." Built to create easy reference workflows, or any other kind of workflow which does not want to leave Alfred immediately on selection of a result. Features: - Two modes for two different kinds of data: static and dynamic. - Creation of a static workflow only requires modification of a CSV-like file. - Static mode handles searching on query for you. - Dynamic workflow can be created using a BASH library ARF+. - Both modes allow for result and field-specific icons, validities, arguments, and autocomplete attributes. Extensive documentation in the README, and examples are included with download. Two methods of installation can be found on the github page. Ruby Alfred2-Ruby-Template (developed by zhauwu) A template for Ruby-based Alfred 2 workflow development. Features: Use standard bundler to easily package, manage, and update ruby gems in the workflow. Friendly exception and debug output to the Mac OS X Console Automate rescue feedback items to Alfred when something goes wrong. Automate saving and loading cached feedback Alfredo (developed by Dennis Paagman) Alfredo is simple ruby gem that makes it easy to create workflows and items to it. You can get started with only 4 lines of code. Features: Generates valid Workflow XML Add items with one line of code Supports all Alfred 2 workflow features Swift AlfredSwiftLibrary (developed by raguay.customct) General Alleyoop (developed by phyllisstein) Alleyoop is a meta-workflow that implements a system for updating other workflows. Users can make use of its features by downloading the workflow module and entering the query oop, which searches for compatible workflows and checks for available updates. Developers can implement Alleyoop compatibility with two simple, human-readable JSON files, described in the original post: one stored on a remote server, one placed in the workflow's folder. Alfred Dependency Downloader Framework (developer by Shawn Rice) Do you want to have versioned libraries and utilities live side-by-side? Do you want to make your workflows smaller but keep or expand the functionality with helper apps? Do you want to make sure that everything works regardless of whether Gatekeeper is active on other users' computers? Then you might consider implementing the Alfred Bundler* dependency framework in your workflows. If you want to see a _very_ basic implementation, then download an example workflow from Packal and open it up to see the workflow's anatomy. The libraries / utilities mentioned below are just pre-defined assets that you can load with no additional work. You can actually use this framework for any asset** by including a small JSON file with your workflow. Take a look at the documentation page on Github or the original post for more information.
  • Create New...