Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 09/15/2019 in Posts

  1. 5 points
    @MVR London Did you type "reload" into Alfred? This will refresh the app cache for any apps that may no longer exist in the old location. Cheers, Vero
  2. 3 points
    @unitof Alfred is showing the actual location of the apps as passed back to him by macOS when searching. I'm going to be adding a bit of logic to be able to show the virtual locations of the apps (/Applications/.../) in a future release. Cheers, Andrew
  3. 2 points
    dfay

    Snippet Creator

    See for the background. Snippet Creator adapted from https://github.com/derickfay/import-alfred-snippets There are two keywords, both of which result in the creation of a new snippet: sc - (single step) Required fields: name|keyword|content -- separated by | sc2 (multi step) - Enter the snippet text, then you'll be prompted for the keyword / name -- in the interest of speed and simplicity the name is set to the keyword. sc2 also has triggers to pre-population with selected text or clipboard contents set prefsPath in the environment variables to the path to your snippets folder - e.g. "/Users/someuser/Dropbox/Sync/Alfred 4/Alfred.alfredpreferences/snippets/" and newSnippetFolder to your desired target folder The workflow posts a notification on success to remind you of your newly created snippet. https://www.dropbox.com/s/85nc52o241qobvm/snippet creator.alfredworkflow?dl=0 Version 0.2: - updated to use a pipe | as a delimiter instead of a comma, and to remove the requirement to enclose text in quotes Version 0.1: initial
  4. 2 points
    @akido Type "reload" into Alfred to force the application cache to be refreshed; You're seeing the pre-Catalina and Catalina location for your apps, so reloading will remove any old legacy locations. Cheers, Vero
  5. 2 points
    Connect two Copy to Clipboard Output, but add a Delay Utility between them (even 0.5 seconds worked, in my tests). On the second Copy to Clipboard Output, have {clipboard:1} instead of {query}.
  6. 2 points
    This is now the actual location of apps in Catalina. Andrew is planning on adding a bit of logic to be able to show the virtual locations of the apps (/Applications/.../) in a future release Cheers, Vero
  7. 2 points
    Subject22

    Restart Alfred Workflow

    Thanks! I've updated the repo and the first post.
  8. 1 point
    dfay

    Snippet Creator

    I don't, was just being lazy. Updated to actually parse the query rather than sticking it in a list and hoping for the best.
  9. 1 point
    Ah. Well, I was unaware there was a way to do this in Alfred, so I've learned my new thing for the day.
  10. 1 point
    This solution was posted to one of my Go workflows: https://github.com/deanishe/alfred-sublime-text/issues/20#issuecomment-539578934 It's not very straightforward, though.
  11. 1 point
    Mac OS X 10.15 Alfred 4.0.4 [1111]
  12. 1 point
    @sballin The update works like a charm on my machine, too. You're the best! Thanks a ton!!
  13. 1 point
    Hi @sballin thank you! This worked! I really appreciate it!
  14. 1 point
    @sballin Yeah, on my system, it's only located in: /System/Applications
  15. 1 point
    @Jasondm007 in your filesystem, is Notes.app located in /Applications as well as /System/Applications? @Regluke and @Vero the basic functionality is now restored on Catalina as of version 1.4.3, which you can download on Packal or Github releases. Soon I will look into notarizing the Note Opener app that handles notes:// urls.
  16. 1 point
    @sballin Just popping my head in quickly (I haven't looked at the workflow at this point) to say that apps have moved in Catalina, so if you've linked to a hardcoded location for the Notes app, that may simply need to be updated to reflect the new path I'm not on a Catalina Mac right now, but @Regluke and @Jasondm007 should be able to give you the details you need from Catalina. Thanks for the great workflow Cheers, Vero
  17. 1 point
  18. 1 point
    Vero

    Every app search results in doubles

    @wealthychef Yes, Alfred is fully Catalina-ready. Which build of Catalina are you using? Apple are releasing regular builds, and I believe the Catalina GM (final release before general release to the public) was released a few days ago. You should make sure you're on the latest, and let us know exactly which build. When typing "reload" in Alfred, you should see the following: You can also clear the app cache by going to Alfred's Advanced > Files/Apps "Clear Application Cache" in the top left. Cheers, Vero
  19. 1 point
    Vero

    Every app search results in doubles

    @wealthychef Type "reload" into Alfred to refresh the app cache first. If the issue is with Alfred having cached the old and new location, that'll resolve it. If you still see two at that point, then macOS may have got itself into a more serious muddle, and is actually providing duplicate results to Alfred. Which version of Alfred and which macOS build are you using? Cheers, Vero
  20. 1 point
    cdpath

    Convert to markdown table

    Copy table from Numbers and paste as markdown table. Download GitHub Repo Acknowledgement 1. https://github.com/schmijos/html-table-parser-python3 2. https://stackoverflow.com/questions/2545289/getting-rtf-data-out-of-mac-os-x-pasteboard-clipboard
  21. 1 point
    That's exactly why. That's what "no tty present" means. It may not be strictly necessary, but it is correct to default to secure behaviour. No. Either add the appropriate options to your Valet command to suppress the password request, or use an Alfred Terminal Command, so the command is run interactively in Terminal.app/iTerm2.
  22. 1 point
    Yeah. Hence my "in most cases" rider. If you're running a script that calls other scripts that also aren't on the standard PATH, you will have to change PATH. Importing your shell rc file may be inefficient, and it may not work. The reason is that a lot of config files have a clause like this that causes them to not do anything when they aren't loaded in an interactive shell (which is the case here): [[ -z "$PS1" ]] && return If you're using zsh, it bears mentioning that a common thing to do is to set PATH in ~/.zshenv, which is always loaded by zsh. But all in all, the safest solution is to make sure any changes to the default environment that your script requires (adding /usr/local/bin to PATH, setting config variables etc.) are done in your workflow's script. Usually not, no. Don't do this unless you know it's a file that's meant to be sourced. source basically includes the file in the one that's currently running. If you source files that are meant to be run as commands, apart from not working, you might also get some nasty surprises.
  23. 1 point
    In most cases, you can use the full path, i.e. /usr/local/bin/wp-clone, instead of tinkering with PATH.
  24. 1 point
    Welcome @Ian Robert Douglas, Don’t beat yourself up so hard; programming is already hard enough. There are moments when concepts click in our heads, but even then it’s still hard. Try this modified Workflow. It’s untested but it should work (famous last words). It’s simple enough that you can prod at will and may be able to understand everything, but if you don’t, ask!
  25. 1 point
    dfay

    Quick add/edit snippets

    Now live in
  26. 1 point
    Benzi

    (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
  27. 1 point
    I'm a real user, who is a very experienced developer, who provided some ideas for how to make the product better in my opinion. It's fine if you don't share that opinion — I'm an adult, and I recognize that not everyone is going to agree with me or share my ideas, and that's OK. But I'm making these suggestions because I am invested in this community and this software, and I want to see it be better tomorrow than it is today. You're right about that. We do have something in the works that should make this easier. It's not going to be an all-singing, all-dancing curated directory, though. Better is good, and I'm happy to hear it's coming. But the "all-singing, all-dancing" bit of sarcasm was unnecessary. It's not that they don't want to. It's rather that there are only two of them, and they already work full-time on Alfred. As you've probably noticed, Andrew already has his hands full getting Alfred ready for Catalina. Understood. That's not work that I'm discounting or taking lightly. I believe that it is also true that the community has reached a point where it needs more than what 2 people can deliver. I haven't come up with a solution (yet), but you can't fix a problem that you don't know about — which is why I'm bringing it up. Understood, but it would nevertheless behoove you to think your suggestions through to something rather more concrete if you want a concrete response. Announcing that GitHub has labels and that they could be useful isn't really news to anyone. I explained how I envisioned they could be used for the benefit of those who contribute to the community. That felt pretty concrete to me. If it wasn't, I'd be happy to discuss the idea further, but I need you to ask questions about the things you don't quite understand. I'm doing my best to articulate the idea clearly. And this sounds a lot like "screw the user, imma use my favourite tools". I am recognizing that neither you, nor I, nor anyone else can make anyone do anything they don't want to do, and I'm trying to provide a pragmatic suggestion for how to deal with the reality. Which is precisely why any developer who cares about their users shouldn't consider using a version of whatever that isn't shipped with macOS. In most cases, it's nothing but short-sighted prioritisation of developer convenience over user convenience. And I say "short-sighted" because the developer inevitably has to deal with all the problems their choice causes users. And it sounds a lot like you're trying to say that Alfred should somehow solve these problems you've caused yourself and your users for you. (And again without a concrete suggestion of how this should happen.) This is called a strawman argument, wherein a strawman version of the issue is attacked instead of addressing the real issue. So let's start over. Real developers — right or wrong — use features of languages. For the record, I agree with you that developers should shoulder more development cost so that the end-user has less friction. But more than once, I've faced issues where either I didn't have the right runtime installed for a workflow I wanted to use. Also, with multiple computers, one was new enough to have the runtime, while the other was older and did not have the runtime. With regard to your passive-aggressive comment, "And again without a concrete suggestion of how this should happen.", I felt I was extremely clear in providing a suggestion that was just shy of writing the code for it for how it could work. Please re-read. Instead of simply complaining about things, I'm genuinely interested in driving towards solutions for this real-world problem, and I'm trying to bring ideas to support that. Also, I've mentioned this multiple times now, and your responses seem to continually ignore it: https://tidbits.com/2019/06/25/apple-to-deprecate-scripting-languages-in-future-versions-of-macos/ I can understand that, but as I already said, this suggestion runs counter to Alfred's fundamental philosophy. It won't be implemented not because it can't be implemented; it won't be implemented for the same reason that Pages won't be adding support for WhatsApp messages. I disagree with your assessment about how far apart they are, but it's not a cross I feel like dying on. That's not streaming. That's pagination. They are not the same thing, and as I already said, Alfred has decent support for pagination. I know the difference between the two, and I'm definitely talking about streaming. Live updates to the dataset is streaming. It's pull, but it's still a streaming dataset. It may leverage AWS’ pagination support inside the scripting backend of the Workflow (if it's S3, and if the API supports pagination), but the data being sent to Alfred by the Workflow would be live-updated as more results are fetched in parallel. I'm thinking in terms of dumping buffers in a defined format, or HTML's Server-Sent Events, or even JSON Patch (RFC 6902) if you really want to stick to JSON for everything. The backend approach is less interesting to me than being able to push updates to the Alfred's Dropdown UI, live. That's right. So your paragraph about how things work in the US isn't really relevant, is it? What is constant, however, is that legal issues are a big headache, very time consuming, and potentially extremely expensive. It's relevant in that it adds context to the discussion which you may not have already had. There's no need to respond so negatively. But you're right that legal issues are a big hassle. I don't think anyone would disagree with that. But you seem to be making an assessment that providing an "all-singing, all-dancing curated directory" infers there will be legal issues. Your logical fallacy is: slippery slope. So Alfred should move to a pricing model that is widely despised? Seeing as the major "value-add" of Alfred's Powerpack is the ability to use workflows, and that almost all of those are open-source and provided free of charge by their authors, exactly how well do you think a subscription for access to them would go down with the people who write them? Do we all get a cut, too? Do I get a bigger cut because hundreds of workflows are based on my libraries? Does Alfred start to spy on users in order to determine who gets how much? Strawman, personal incredulity, loaded question, burden of proof, anecdotal, and a smidge of black-or-white — all in one response! Yahtzee! Firstly, you have provided zero evidence to support your claim that the pricing model I've proposed is widely despised. It's literally the same model that powers Netflix, Spotify, and Xbox Live Gold. While it is true that those success stories are all big companies, even small companies like Smile Software (TextExpander) have healthy businesses operating with that model. Secondly — and I thought this was clear, but forgive me if it was not — I'm not suggesting charging for the workflows. I'm suggesting charging for the curation. Just like Google is not a search company — it's an advertising company. Just like Facebook isn't a social network — it's an advertising company. Just like McDonald's isn't a fast-food restaurant — it's a real estate company. It's where these companies make the majority of their revenue. Developers are free to publish their workflows anywhere. Users would (per my hypothesis) be willing to pay a small/reasonable amount on a regular basis for the curated, easy-to-use storefront. Perhaps Alfred could have some opt-in integration with this storefront, while not excluding outside sources in any way. It would enable the experiment to occur and see if we could achieve success. If, in the future, there were support for paid Workflows, they could be sold through the storefront with some kind of revenue split. Something like the App Store does. Some people will never pay for anything, and that's OK. We like them too. But this has the potential to open up new revenue streams for the company behind Alfred — which would be good for their business. So based on that, no, there are no "cuts" because the team behind Alfred would be charging for something you're not providing — or, only provide because Alfred exists in the first place. It's a symbiotic relationship. Even then you made the choice to open-source your libraries under the quite liberal, and commercial-ready MIT license. And no spying, of course. I want Alfred to be a better product, not a worse one. No problem feels unsolvable if you haven't given it any serious thought… Don't be a dick. I recognize the massive contributions you've made to this community, and I am very appreciative of them. Your merit in this community brings a lot of weight to your words. I know that you disagree with some of the things I've suggested, and that's fine. I'm an adult, and people are free to respectfully disagree with each other. I care about this community and this product a lot as well, and that's why I took the time to speak up and offer ideas and suggestions for how I think it could be made even better. I don't know what formal relationship you may have with the team behind Alfred, but I spent quite a lot of time thinking about how to make Alfred even better, and I think that at least some of the ideas I've presented warrant a bit more consideration than I feel you've given them. I'm providing suggestions in good faith that they will at least be considered. If ideas you don't personally like aren't even given the proper consideration, then what reason do users have to continue to make suggestions? …that question was rhetorical — in case it wasn't clear.
  28. 1 point
    This workflow should kinda do what you want. Note, you also have to sleep in the Python code because calling an External Trigger returns immediately. It doesn't wait for the trigger to finish.
  29. 1 point
    I'm going to start backwards here. The process of discovering new workflows is harder for non-developer users than it should be. I understand that wanting to cross the threshold from just building a Mac app → running web infrastructure is a leap that the developers may not want to do. As a developer, I understand the reasons. But at this point, I think that not having a first-party workflow directory is reaching a point where it makes quality workflows that much more difficult to find, trust, etc. If the core team doesn't want to do this, then MUCH of my feedback falls on deaf ears. But I think the community has reached a point where we need something more reliable and trusted to help make sense of the chaos. It's something that I believe would make the PowerPack (and workflows, specifically) that much more valuable to the community. This is a pretty foundational idea behind much of my feedback. "Integrations" and "leverage" are awfully vague words. What do you mean exactly? Tying Alfred to specific services is a very big ask (strategically-speaking). I think you'd need some pretty compelling arguments to do so. They are vague. I'm brainstorming here, not solutioning. IF we assert that there would be a first-party site for discovering workflows (as mentioned at the top as being a foundational idea), we could do something like what npmjs.org does for tools like Yeoman — any npm package that starts with the work `yeoman-` is auto-discoverable by the Yeoman CLI tool. The Alfred team documents and/or tells people that adding certain named-topics to your GitHub repo for a workflow will enable it to be auto-indexed by the first-party workflow discovery site. Developers build workflows and apply these topics to their repos. There could be a process (cron, whatever) that polls the GitHub API for any repository with a topic of `alfred` (or `alfred-v3` or `alfred-v4` — however it is decided) and injests that data into the backend of the first-party workflow discovery site. GitHub is a major, major service which is owned by Microsoft. This feels like a reasonably safe bet, so let's do this first. Atlassian (makers of JIRA and Confluence for enterprises) build BitBucket. That one also feels reasonably safe. And GitLab is a third which is gaining in popularity. That feels a little less safe, so let's talk about doing that one last. I'm recommending that solution based on these experiences: This forum's software is not great at the job it's been given for workflows. Packal appears to be abandoned. PacMax is… I'm not sure. But I see a TON of duplicates that you can't find until you click through and do some digging. And for all of these, you can write a README, but then you'd need to copy-paste it into the forum software or duplicate some levels of effort to get them listed on the workflow site, du jour. There's too much friction. Packagist, npmjs, and even Golang have solved this better already. Let's copy their best ideas. Which solutions and churn? The Node community's updater is broken, but Vítor's and mine are well-maintained and have been working since the day they were introduced. Alleyoop, Monkey Patch, etc. Don't do that. Use /usr/bin/security to put them in the Keychain. Sounds awesome. Glad to know about it now. https://www.google.com/search?q="%2Fusr%2Fbin%2Fsecurity"+site%3Aalfredapp.com How? It seems to me that anything markedly easier than pasting debugger output into a forum thread or GitHub issue would require dedicated infrastructure. If you submit a bug against one of my workflows, how am I going to get back to you? The Alfred team can't just give me your email address. The author can provide a URL to the place where they want to collect the feedback. Maybe it's a GitHub Issues tracker or something. Alfred provides that URL as a clickable link in it's UI when you're looking at the debugging data. Now that's I'm hunting around for it, I see the debugger "bug" icon. For non-developers, how do we instruct them (in the Alfred UI) how to send the workflow developer the required information. I think we can simplify that first step — kinda like a 0-RTT in HTTP/2. There already is. You use /usr/bin/env in your shebang… But it's generally better to hard-code a path because the versions of languages that users install vary a lot more than the versions installed by Apple do. If I use /usr/bin/python, I have a much better idea what I'm going to get than if I use /usr/bin/env python, which might point to some stripped-down Anaconda version of Python that's missing a bunch of features or even a fundamentally-incompatible version of Python 3. It sounds like I wasn't very clear and you've missed the point I was trying to make. The workflow developer includes a file inside his workflow (call it `requirements.sh` for example). Alfred runs that script on install, and expects a specific output format from the script, which would tell Alfred if something is missing. (Alfred itself just runs the script and returns the results in a user-friendly way — it doesn't know/care about the runtime.) The workflow developer includes a second file inside his workflow (call it `install.sh` for example). When the end-user (non-developer) clicks "Proceed" (or whatever), Alfred runs that script, passing along the results from the installation script so that that installer knows what to install. (Alfred itself just runs the script and returns the results in a user-friendly way — it doesn't know/care about the runtime.) This is an example of the tension between trust/security and convenience. This would enable non-developers to make sure their systems have the runtimes needed. Alfred makes no effort to pay attention to the runtimes — it would only facilitate the "conversation" between developer and end-user. Also, macOS is going to stop shipping things like Python, Ruby, and PHP with their systems by default. Any workflows which rely on language runtimes are going to have a bad time if we have to ask the end-users to "Install Node" or "Install Python, but not 2.x, because you need 3.x". I'm just looking for an approach which can simplify this exchange for (non-developer) end-users like my kids and wife. Disagree totally with this one. macOS comes with plenty of very capable languages. If a workflow developer wants to use something else instead, then I think it's up to them to deal with the problems that causes. It also wouldn't work particularly well in practice because some of the worst offenders (the Node guys) bypass Alfred's own install mechanism completely anyway. Presumably, Alfred will have to gain some knowledge of runtimes for future versions of macOS, but they'll necessarily be limited in number (it isn't going to download and install any old thing you point it at for obvious security reasons), and some developers will doubtless insist on requiring other ones. This sounds a lot like "just upgrade your browser" back in the day. It doesn't matter how right you are if no one wants to work with you. I definitely think we need to push this forward instead of giving-up. Validating issues at install-time is the right time to perform the validation from a user-experience perspective. Trying to run a workflow which relies on features of Python 3.5 (or whatever newer-than-what-macOS-ships-with) by a non-developer results in looks that say "why the hell are you installing this piece of junk on my computer?" Look across the community of workflows (wherever they may be — different problem), identify most popular languages, and start with developer guides for those languages to start. I think that the very-hands-off approach of the Alfred core team has led to a sprawling mess. Now that we (collectively) have a better sense of the pain points for developers, we can work with the development team to step-up efforts. That might mean having strong opinions that not everybody agrees with… and that's OK. How do you propose that should work? fzf works with line-based input, which is effectively a stream. Alfred uses JSON, which isn't structured that way. And as with fzf, it would only work if the filtering were left to Alfred, so you wouldn't be able to implement any smarter, context-aware filtering in your workflow if it were based on a streaming model because Alfred would have no way to inform your workflow that the user's query has changed. The rerun feature already allows you to "stream" paginated results in a way that's compatible with JSON and implement your own filtering. (Granted, it's a bit of a pain to do, though.) Not sure. It's more brainstorm than solutioning. But if you think of other services with streaming results, I'm going to use Amazon S3 as an example. S3 has no idea how many buckets you have, nor how many files you have, at the API level. It simply says "here are 1,000 results, and this endpoint will tell you how to find the next results". So, you might have 15,000 results. But all you can do is fetch 1,000 at a time. You start to filter against the list of results, and the source set of results changes while filtering. And Alfred uses JSON (and XML) now. Is there something that says we can't have an alternate format that is optimized for streaming? Something with buffers that get dumped as new results become available? (Yes, I admit that this may be a bit of an edge-case, but there are some cool things I've wanted to do with AWS that only works when the result sets are small and not enterprise-y.) A very fundamental design goal of Alfred is that it does as little as possible when it's not actively being used. This is rather contrary to that goal, and also currently pretty easy to do using the very robust APIs macOS already has for this purpose. Is it a design goal? I mean, cool if it is. But what if you want to say "do this thing for me, and keep working on it until you're done, whether the UI is still up or not". Being able to jump back into flow by clicking a Notification would be cool. Also, non-developers don't know about the "very robust APIs macOS already has" (which I agree with). I would just love to see support for them exposed via Alfred. I'm not suggesting to re-invent any wheels. But having my wife be able to ask Alfred who her Pinterest customers were (for a given timeframe? Ever?), filter by typing a name, and press return to launch an email client with the customers email address pre-filled seems like a really cool non-developer use-case that Alfred MAY be suited for. Possibly. But damn, that would be mind-blowing. It means doing quite a lot of work, and it's not very practical. Especially not at the level of curation you're talking about. Aside from the technical and time issues, there are legal ramifications. The last time I saw the stats, the most popular workflows by far on Packal were for illegally downloading copyrighted content. Back to my first point, yes I acknowledge that it's some amount of work. I strongly believe that it's something the community needs, which is independent of whether or not the Alfred core team wants to make such an investment. (That's why so many 3rd party versions come and go!) "Legal ramifications" sounds very negative. "Understanding the legal position" means the same thing, and is more neutral. IIRC, the Alfred developer(s) are in the UK, and would fall under UK law. In the US, we have the DMCA which protects websites which collect "User-Generated Content" with a DMCA takedown process. But that's just for copyright violations. BitTorrent, Inc hasn't faced the same kind of legal trouble as the torrent sites because it's simply a tool with legitimate non-illegal (there is no such thing as being "legal"; only that it's "not illegal") uses. IANAL, but Alfred seems to be a tool with many (most?) legitimate, non-illegal uses. The "first-party workflow discovery site" could make a strongly-opinionated statement and say that they will not allow certain kinds of workflows (like Apple does with the App Store), and any that are found in violation will be blacklisted by the discovery site. How to pay for it? Ideally, it would be volume-of-PowerPacks. The better workflow ecosystem drives more sales of the PowerPack, and a portion of the funds from the PowerPack goes back into infrastructure costs. With things like AWS or GCP, and a background in highly-scalable whilst cost-effective web engineering, you can start cheap, and grow as the PowerPack users grow. Small instances with lots of caching, Lambdas with API Gateway, and you can build it (but this is also my wheelhouse, so… it sounds easy and cheap to me). Perhaps we look at charging 99¢/month (USD) for users of this service, background tasks, and other strong value-add components. The free-loaders would automatically be filtered-out, and the people who would actually be using it are contributing to keeping it running. It's how businesses have operated for thousands of years. But the value-add would need to be strong. The more useful cloud features, the more users feel like their money is well-spent, and the cost-per-user ratio swings lower at higher volumes of users. I don't even think it would be that tough of a sell. For $2.99/mo, you get a "professional" account and a nice badge on your profile. And some other features. Letterboxd and Trakt.tv do a good job of this. But that's just a brainstorm… These don't feel like unsolvable problems.
  30. 1 point
    I agree that some of the pain points you identify are definitely problems (I'd particularly like to see a better setup/configuration UI than the workflow variables table), but I think a lot of it doesn't fit with Alfred's platform- and language-agnostic execution model at a fairly fundamental level. "Integrations" and "leverage" are awfully vague words. What do you mean exactly? Tying Alfred to specific services is a very big ask (strategically-speaking). I think you'd need some pretty compelling arguments to do so. Which solutions and churn? The Node community's updater is broken, but Vítor's and mine are well-maintained and have been working since the day they were introduced. Don't do that. Use /usr/bin/security to put them in the Keychain. How? It seems to me that anything markedly easier than pasting debugger output into a forum thread or GitHub issue would require dedicated infrastructure. If you submit a bug against one of my workflows, how am I going to get back to you? The Alfred team can't just give me your email address. There already is. You use /usr/bin/env in your shebang… But it's generally better to hard-code a path because the versions of languages that users install vary a lot more than the versions installed by Apple do. If I use /usr/bin/python, I have a much better idea what I'm going to get than if I use /usr/bin/env python, which might point to some stripped-down Anaconda version of Python that's missing a bunch of features or even a fundamentally-incompatible version of Python 3. Disagree totally with this one. macOS comes with plenty of very capable languages. If a workflow developer wants to use something else instead, then I think it's up to them to deal with the problems that causes. It also wouldn't work particularly well in practice because some of the worst offenders (the Node guys) bypass Alfred's own install mechanism completely anyway. Presumably, Alfred will have to gain some knowledge of runtimes for future versions of macOS, but they'll necessarily be limited in number (it isn't going to download and install any old thing you point it at for obvious security reasons), and some developers will doubtless insist on requiring other ones. How do you propose that should work? fzf works with line-based input, which is effectively a stream. Alfred uses JSON, which isn't structured that way. And as with fzf, it would only work if the filtering were left to Alfred, so you wouldn't be able to implement any smarter, context-aware filtering in your workflow if it were based on a streaming model because Alfred would have no way to inform your workflow that the user's query has changed. The rerun feature already allows you to "stream" paginated results in a way that's compatible with JSON and implement your own filtering. (Granted, it's a bit of a pain to do, though.) A very fundamental design goal of Alfred is that it does as little as possible when it's not actively being used. This is rather contrary to that goal, and also currently pretty easy to do using the very robust APIs macOS already has for this purpose. That's not really async, that's just clickable notifications (which would be very nice). It means doing quite a lot of work, and it's not very practical. Especially not at the level of curation you're talking about. Aside from the technical and time issues, there are legal ramifications. The last time I saw the stats, the most popular workflows by far on Packal were for illegally downloading copyrighted content.
  31. 1 point
    If Spark doesn’t support scripting, which seems likely, you might be able to configure this workflow to work with it: https://www.deanishe.net/post/2019/06/workflow-search-in-app/
  32. 1 point
    deanishe

    Substitute Tab character with Return

    Doesn't ⌘A and ⌫ work?
  33. 1 point
    deanishe

    Substitute Tab character with Return

    Hi @Bottacco, welcome to the forum. For some reason, Alfred doesn't understand \n and the like in its Replace utility. You'll have to use a Run Script instead. This is Python: import sys sys.stdout.write(sys.argv[1].replace('\t', '\n'))
  34. 1 point
    Ah, right. Well, the Arg and Vars object does have variables in its configuration. The config object is element-specific, though. What works with Arg and Vars won't work with other elements. But I can see how that would lead to confusion.
  35. 1 point
    You can't specifically disable fallback searches, no. But if you return a "no results found" item instead of an empty set of results, Alfred won't show them.
  36. 1 point
    wandering

    Toggle grayscale/greyscale

    Got a 404. So I made one myself: You can find it here: https://www.packal.org/workflow/grayscale-switch
  37. 1 point
    Hello everyone, Here is a full collection of themes to embrace macOS Mojave's new Dark and Light themes and their respective accent colors! Each one hase been carefully designed with a pinch of the accent color's hue in each element. I've chosen to respect the low contrast Yellow Accent color shipped by Apple in macOS, despite not being fond of it. It comes in Blue, Purple, Pink, Red, Orange, Yellow, Green & Gray, each with a Dark and Light variant. You can have the color you want, as long as it's not black! There is now a workflow made for this themes collection, which allows you to switch easily between Dark & Light mode, and select your Alfred theme's accent color. Here is a quick demo: TL;DR: How to Install ? You can find all the previews in High Res and link to each theme on Alfred's website on my repo: https://github.com/AlexMartinFR/mojave-alfred-accented-themes Enjoy
  38. 1 point
    Tatarin

    Evernote Workflow 9 beta 4 (Alfred 4)

    Hello, Why not work in Alfred 4?
  39. 1 point
    Andrew

    The State of Alfred Remote app

    When Alfred Remote 2 comes out, it'll be a free upgrade for Alfred Remote 1 users
  40. 1 point
    isometry

    SSH with smart hostname autocompletion

    This one has been at the top of my Alfred wishlist since I downloaded my first Alfred v0.whatever beta: a workflow to open an ssh session (using the default ssh: protocol handler) with "smart" hostname autocompletion (based on ~/.ssh/config, ~/.ssh/known_hosts, /etc/hosts, Bonjour or any file containing the names of hosts you need to connect to). Comments and suggestions welcome. Download v1.3 for Alfred 2 Download v2.0 for Alfred 3 Source and Issue Tracker on github Robin Updates 2013-03-14 00:00, v0.4: rudimentary fuzzy matching, to pull entries from /etc/hosts as well as ~/.ssh/known_hosts, and to deal with usernames properly. 2013-03-14 09:00, v0.5: smart host matching. 2013-03-14 22:45, v0.6: ~/.ssh/config and Bonjour discovery (including full BTMM support), and improved error handling. 2013-03-14 23:00, v0.61: explicitly removed 'broadcasthost' from the list of possible matches. 2013-03-15 00:30, v0.7: match '.' as '.' 2013-03-16 10:45, v0.8: refactored code and add tab autocompletion. 2013-03-16 13:30, v0.9: oops - the last update broke the workflow if you didn't have pybonjour installed; fixed. Continued refactoring: now using nikipore's alfred-python module. 2013-03-16 14:15, v0.10: further refactoring to break core functionality out into a dedicated module (enabling module compilation). Combined with caching of file parsing results this should deliver significantly enhanced performance (not that it was slow before). 2013-03-16 23:00, v1.0: complete refactoring and move release to github. New feature: display the source(s) of each suggested completion. This ought to be the last update for a while. 2013-03-16 08:40, v1.1: fixed breakage when either of ~/.ssh/config or ~/.ssh/known_hosts didn't exist. 2016-06-02 21:00, v1.3: fixed path to Alfred cache (thanks @okapi!). 2016-10-07 12:30, v2.0: The Alfred 3 Release (including removal of built-in sources and addition of custom sources)
  41. 1 point
    Thank you for this fantastic Workflow. In my case however it works only partially. The query is parsed in Alfred in the actions' window, but I cannot get Alfred to display anything in this dark big HUD through ⌘⏎ or ⇧⏎.
  42. 1 point
    When I type in ens in Alfred, it directly opens up Evernote without giving me a chance to search, which is not what I want. It was working perfectly fine before - i.e, I could search the note in Alfred and hit Enter to open it, instead of opening Evernote. Any suggestions to fix this?
  43. 1 point
    Search your tabs in Safari, Chrome, Chromium, Chrome Canary, and Webkit. When you action a result, it'll bring your browser to the front and switch to the selected tab. You can also close a tab by holding down alt when actioning a result. Download from Packal Updated Feb 8, 2014: Made it more resilient to an AppleScript error that could cause a blank output. Update #2, Feb 1, 2014: Fixed regression with searching. You should be able to search anchored by words (and capital letters in CamelCase words) again. Updated Feb 1, 2014: Rewrote the workflow. It now supports copying the URL of a tab, viewing a tab in QuickLook, and closing a tab with a modifier key. Updated Oct 11, 2013: Fixed issue with improper string encoding in Mavericks and Ruby 2.0 breaking the workflow. Updated Oct 9, 2013: Updated for Mavericks and Ruby 2.0.0. Removed thumbnails for now (beta versions of Safari don't seem to generate them anymore). Fixed some issues where the proper window wouldn't always focus correctly. Updated May 4, 2013: Experimental support for webpage thumbnails. Prevent launching browsers when WebKit is open. Updated Mar 26, 2013: (Hopefully) prevent launching browsers when it's not supposed to, and fix an issue with it not detecting WebKit.
  44. 1 point
    OmarKN

    Evernote Workflow 9 beta 4 (Alfred 4)

    >Evernote 6+ from Evernote.com So the workflow doesn't function on Evernote in the browser?! Do I have to download EN? How for the Mac? I'm on the Evernote free plan. When continuing writing after "ens" it changes to a Google search, so it's not working with EN online?! / Any assistance would be greatly appreciated! With best regards, Omar KN
  45. 1 point
    robgill

    1Password Feature Stopped Working

    I recently came across this exact same error after running a CleanMyMac scan, which deleted all meta data for most of my apps, including 1Password. I've done this many times before with no issue. But I also recently moved my 1Password Vaults from Dropbox sync to having a 1Password Family Account (meaning I've removed my local vaults). This meant, no matter what you do (restart 1Password, restart mac) the meta data files that are needed to tie Alfred and 1Password together are not recreated! The Fix Go to 1Password settings > Advanced > Check the box for "Allow create of vaults outside of 1Password accounts" This does then create the necessary meta data and thus ties Alfred back to 1Password, you can unchecked this box again after this process and Alfred will still work with 1Password Hope that helps someone if you have a similar issue!
  46. 1 point
    Description Equivalent of the mobile versions of Google Authenticator: https://itunes.apple.com/en/app/google-authenticator/id388497605?mt=8. I personally use it on Gmail, Amazon AWS, Github, Evernote and Dropbox A bigger list is available on Wikipedia: http://en.wikipedia.org/wiki/Two-step_verification There is also a Pam module project on Github: https://github.com/nlm/pam-google-authenticator Non-exhaustive list of links for "secret" installation Google: http://www.google.com/landing/2step/ Dropbox: https://www.dropbox.com/help/363/en Evernote: http://blog.evernote.com/blog/2013/05/30/evernotes-three-new-security-features/ Github: https://github.com/blog/1614-two-factor-authentication Amazon AWS: http://aws.amazon.com/iam/details/mfa/ Facebook: https://www.facebook.com/settings?tab=security Dependencies Python>=2.7 System Modifications Create a ~/.gauth file with your secrets, ie: [google - bob@gmail.com] secret = xxxxxxxxxxxxxxxxxx [evernote - robert] secret = yyyyyyyyyyyyyyyyyy It's also possible to add credentials with "gauth add [account] [secret]" from Alfred Source Code: Github https://github.com/moul/alfred-workflow-gauth Download Links Packal: http://www.packal.org/workflow/gauth-google-authenticator Direct link: https://github.com/packal/repository/raw/master/com.alfredapp.moul.gauth/google_authenticator.alfredworkflow Screenshots Acknowledgments Original alarm clock iconAlex Auda Samora from The Noun Project Licensed under Creative Commons Attribution Status & signs iconsHereldar Terkenya Licensed under a Creative Commons Attribution-Share Alike 3.0 License Original source codeManfred Touron Serial contributorGilberto Olimpio License MIT
  47. 1 point
    Andrew

    Multi-line regex replace issue

    Sorry about the slow reply on this. I've now had a chance to look into what is happening. Alfred is using NSRegularExpression which treats \ in the replacement template string as a literal, and it looks like it's just being stripped in the replacement. See Table 3 here: https://developer.apple.com/documentation/foundation/nsregularexpression?language=objc If you were to actually put a new line in the replacement (i.e. instead of using \n, use alt+return), then it works as expected. Cheers, Andrew
  48. 1 point
    rice.shawn

    Caffeinate Control v 3 Released

    Update: rewrote the entire thing as a bash script. It's much faster now. All the links are the same. Grab it if you want. Let me know if there are any bugs. (I couldn't find any). Caffeinate Control v2 v3 I just pushed a major update to my old Caffeinate workflow, and I figured I'd just start a new thread. It is a complete overhaul. Find version 2 3 on Packal.org: packal page. Option Configuration You can configure how you want Caffeinate to work for you. Do you want to keep the system awake? Just the display? Everything? Just type "caff configure" (or "caff c"), and you can set the options easily. If you want to change how it works later, then just run the config again. Change however frequent you want! Defaults We default to "i" or just to keep the system from idling (which lets you display turn off). Just run the config and choose more options to as you please. Multiple options are available by pressing cmd while clicking. Commands Just type "caff" to get started. It will tell you the status and give you the most relevant option first. Example Arguments "caff e" enables caffeinate indefinitely "caff d" disables caffeinate "caff 15 2" enables caffeinate for 15 hours and 2 minutes "caff 23" enables caffeinate for 23 minutes "caff 2h" enables caffeinate for 2 hours "caff configure" opens the configuration dialog "caff help" opens the help dialog. Here are some screenshots: Shows the status left in hours / minutes, depending on how much time is left. You can also see the configure and help entries in the bottom. I need to get around to uninstalling caffeine because I don't use it anymore. Configure the behavior of how you want it to sleep. Just select the options and press "Set Options". If you input one number, it defaults to minutes. If you put in two numbers, it interprets as hours and minutes. You can specify with arguments too. Feel free to type out the whole words "hours" or "minutes" or whatever part of them you want to. Here's the help, explaining it a tiny bit more. Click on "More Info..." to be taken to the caffeinate man page. If you get really excited about typing a lot of minutes, then we'll still let you know how many hours that is... (edited to add more pretty screenshots.)
  49. 1 point
    I didn't really like any of the existing Pushbullet workflows, so I made my own. Say hello to AlfredBullet: Pushbullet is an app and service that lets you send links, text and other content between your devices (iOS, Android, Mac, Windows, etc). The workflow is available for download on GitHub and (experimentally) Packal: Github (matiaskorhonen/alfred-bullet) Packal: AlfredBullet
  50. 1 point
    Not really sure if this is possible, but I think it'd be cool if while I was in a full screen app I could use Alfred to open another app in the split view on the current workspace something like shift-enter for left and option-enter for right. Opening files could also maybe potentially work this way?
×
×
  • Create New...