Jump to content

Mr Pennyworth

Member
  • Content Count

    123
  • Joined

  • Last visited

  • Days Won

    5

Reputation Activity

  1. Like
    Mr Pennyworth got a reaction from 3komma14 in Way to sort keyword trigger matches before matched Applications (Default Results)?   
    By "result" I mean "item" in the following.
    I'm not sure what's the correct term ūüėĚ
     
    "everything is a result" is an interesting philosophy.
    Reminds me of "everything is a file" philosophy of Unix.
    The universality brings simplicity and elegance too, no doubt!
     
    However, the discussion of a third "valid:" state made me wonder...
    (consideration of complexity and elegance aside)
    What if everything is not a result? If a result isn't valid, is it really a result? After all, nothing could be done with it. Alfred already has specialized UIs, they are just not exposed to the workflows: Snippet and Clipboard History Viewer Mini Music Player The tiny "update available" notice What if Alfred exposed more UI elements for workflow authors? Given how elegantly crafted the whole workflow editor is, there's no doubt @Andrew could make a few well-designed, judiciously-crafted UI elements that fit into Alfred beautifully. To my naive eye, it looks like Alfred could benefit from a "notice" element.
    The notice could be used as
    a status indicator a progress monitor an error flag Someone could even go ahead and build a breadcrumbs UI using the notice.
    (would be cool for multi-level-menus (I gather @deanishe would love better support for building multi-level-menus))
     
    An example from Raycast (By a "notice element", I mean something like "Clipboard History" at the top left):

    I understand that it's possible that this could be a stretch.
    Also, it could be seen as "beginning of cluttering of UI".
     
    It's just that I keep having this feeling that "valid: false" results don't belong with the main results, philosophically.
    So throwing this out here for discussion
  2. Sad
    Mr Pennyworth got a reaction from lev78 in Better Dictionaries   
    Sorry folks for all the errors and failures you keep running into!
     
    The workflow is way too hacky with no good logging, error reporting and very poor debugging... I started working on a revamped version with detailed logging, less moving parts and a consolidated code base in a single swift binary, but work at my day job has gotten way too hectic and the revamping of workflows and bugfixes have taken a backseat
     
    I'd gladly merge pull requests though!
    Thanks and apologies!
  3. Like
    Mr Pennyworth got a reaction from OAL in Better Dictionaries   
    Better Dictionaries

    Better search and live previews for built-in macOS dictionaries.
     
    This post might be outdated, link to up-to-date README
    Download the latest version: Better.Dictionaries.alfredworkflow

    Features
    IPA (phonetic) pronunciations:
    Press ‚Ćė‚Ü© to hear the pronunciation. In-Alfred live previews with colors that
    automatically adapt to Alfred's theme:
    Reverse search:
    More relevant search results:  
    left: macOS/Alfred built-in search, right: BetterDict
    If one word has multiple, unrelated meanings with different
    origin, they are showed as diffrent entries
    (in the above example, see "arm" has two entries at the top) Import any compatible dictionary

    Setup

    After importing the workflow,
    first type .setup-better-dictionaries into Alfred
    and follow the instructions for granting permissions.

    Importing a Dictionary

    After setup, type .dict-import into Alfred.

    Select the dictionary you want to import.  

    Dictionary-specific Keywords and Hotkeys

    After a dictionary is imported, a script filter and a hotkey trigger
    is automatically created into the workflow editor. 
    Freshly-installed workflow without any imported dictionaries:
    Two hotkeys and keyword triggers each automatically added after importing
    two dictionaries. They come pre-labeled with dictionary names:
    This allows you to assign hotkeys and keywords for specific dictionaries.
    For example, below you can see how I have manually assigned keywords
    thesaurus and defn to the thesaurus and dictionary respectively.
    In addition, I can trigger the dictionary search using ‚ĆÉ‚Ć•‚ĆėD. ¬†


    Word Lookup

    You can use the hotkeys/keywords created above for directly searhcing
    specific dictionaries. That's the recommended way for dictionaries
    that you use frequently.

    For the infrequently used dictionaries for which you haven't assigned
    any hotkeys/keywords, follow this:
     1. Type lookup into Alfred. You'll see a list of all dictionaries
        imported into BetterDict.
       
     2. Select the dictionary to search, and type the search query.

    Notes and Warnings
    [*]Importing a dictionary could take as much as 30 minutes
    on old machines or if there's significant CPU activity from other apps.[*]After each mac restart, for the first time when you run
    the workflow, expect a comparatively slower search.
    Subsequent searches should be instant.[*]This workflow takes a LOT of space on disk. Take a look at the comparison:

     

    # Built-in dictionaries Oxford Thesaurus:   7 MB Oxford Dictionary: 36 MB # After importing into BetterDict Oxford Thesaurus:     101 MB (html files) Oxford Dictionary:    442 MB (html files) Search index for two: 730 MB (apart from html)

     

    Known IssuesThe workflow doeesn't work if the theme is Alfred Classic.  
    If you must use that theme, duplicate that theme and use the
    duplicated one.
  4. Like
    Mr Pennyworth reacted to Chris Messina in Better support for native app x-callbacks/deeplinks?   
    Yes! This is exactly what I was suggesting ‚ÄĒ it's both more accurate and doesn't obtrusively get in the way of the default/majority case:
     

     
    Thanks for hearing me out and considering this discussion and moving quickly on an implemented solution, @Andrew!
     
    And thank you @Mr Pennyworth¬†for summarizing the different perspectives and moving the core conversation forward which, in my view, resulted in a better Alfred for¬†everyone. ūüėÖ
  5. Thanks
    Mr Pennyworth got a reaction from Chris Messina in Better support for native app x-callbacks/deeplinks?   
    I love this discussion minus the part where @Chris Messina felt unwelcome. From my limited interactions with @deanishe and @vitor I feel damn confident that no one on this thread means to attack / argue in bad faith with anyone.
     
    MacOS settings:
    I don't agree with the thesis that Apple's "Default Web Browser" setting is misleading or incomplete. "Web" implies http(s), no? I don't see any ambiguity there. Apple is saying "choose an app to open http(s) urls". It is just that for all other URL schemes, Apple hasn't provided a UI. But whatever UI is present, it is precise, and complete. It claims to be about "web" and it is.
     
    Alfred:
    Reading the text for the "Open URL" object, presence of terms like "website's search URL" and example of twitter, I feel like there's a possibility that the original design intent behind the "Open URL" object was exclusively for http(s) URLs. The copy certainly reads like that. Another reason for me to believe so is the fact that it is grouped together with "Default *Web* Search".

    To my eyes, being able to open other URL schemes with this workflow object seems like a case of "it is possible due to particular implementation details".
     
    As @vitor has correctly pointed out, terms "Browser" or "Default Browser" are a bit of a lie.
    Imagine the user (workflow user who has opened the object out of curiosity) experience:
    - User sees that the URL is "craft://..."
    - Browser is "[firefox icon] Default Browser"
    - User rightly concludes that it'll open a firefox tab/window and the address bar will have "craft://..."
    - User concluded wrong
    - When workflow runs, craft app is opened
     
    As a user, I don't like such surprises. This is where @vitor's another observation comes in.
    - What fraction of users will feel "lied to"? (guess: teeny tiny)
    - How easy is it for the above users to update their mental model? That is, them realizing that "when alfred says *default browser*, it means, under the hood, it is like calling 'open' without an app argument" (guess: very easy for most users)
     
    My interpretation of @vitor's view is that because it is only a teeny tiny fraction of users who will ever get confused (cuz most users won't know/bother about non-http(s) schemes), and those users (not all, but most) will quickly figure what is going on, it is not worth changing the UI as it would mean complicating the UI for the other users. This is the part where I disagree. What if the said change didn't complicate stuff?
     
    Here's a mock:

    - instead of "Browser:" it says "Open With:"
    - instead of "[Firefox Icon] Default Browser" it says "[Generic Mac Icon] MacOS Default"
     
    To my eyes, this change won't add or cause any confusion for the majority of users (who are concerned only with *web*).
    At the same time, it eliminates the confusion for the minority too (who would enter "craft://..." and get confused as to why the dropdown has only web browsers)
     
    TL;DR: Presently, the following are simultaneously true
    As @Chris Messina pointed out, the UI is wrong in some cases. (It shows "[firefor icon] Default Browser, but opens in Craft, which is not a browser) As @deanishe pointed out, most users learn that even though the UI is wrong, the actual behavior is correct. Not all users, because Chris just gave us a data point. As @vitor pointed out, changing UI is a bad idea if it improves experience of a tiny minority while making it worse for the majority. @vitor what do you think about my proposed changes? Do you think it'll degrade the "most users'" experience?
    @Chris Messina what about you? Do you think these changes that I suggested would go a long way in addressing your complaint (which is my complaint too, by the way)?
     
    @Andrew it would be awesome if you chimed in. You're the OG and solo designer, and looking at Alfred, an outstanding one!
    - Do you see this as an issue or non-issue?
    - What do you think of the proposed changes?
  6. Like
    Mr Pennyworth got a reaction from vitor in Better support for native app x-callbacks/deeplinks?   
    I love this discussion minus the part where @Chris Messina felt unwelcome. From my limited interactions with @deanishe and @vitor I feel damn confident that no one on this thread means to attack / argue in bad faith with anyone.
     
    MacOS settings:
    I don't agree with the thesis that Apple's "Default Web Browser" setting is misleading or incomplete. "Web" implies http(s), no? I don't see any ambiguity there. Apple is saying "choose an app to open http(s) urls". It is just that for all other URL schemes, Apple hasn't provided a UI. But whatever UI is present, it is precise, and complete. It claims to be about "web" and it is.
     
    Alfred:
    Reading the text for the "Open URL" object, presence of terms like "website's search URL" and example of twitter, I feel like there's a possibility that the original design intent behind the "Open URL" object was exclusively for http(s) URLs. The copy certainly reads like that. Another reason for me to believe so is the fact that it is grouped together with "Default *Web* Search".

    To my eyes, being able to open other URL schemes with this workflow object seems like a case of "it is possible due to particular implementation details".
     
    As @vitor has correctly pointed out, terms "Browser" or "Default Browser" are a bit of a lie.
    Imagine the user (workflow user who has opened the object out of curiosity) experience:
    - User sees that the URL is "craft://..."
    - Browser is "[firefox icon] Default Browser"
    - User rightly concludes that it'll open a firefox tab/window and the address bar will have "craft://..."
    - User concluded wrong
    - When workflow runs, craft app is opened
     
    As a user, I don't like such surprises. This is where @vitor's another observation comes in.
    - What fraction of users will feel "lied to"? (guess: teeny tiny)
    - How easy is it for the above users to update their mental model? That is, them realizing that "when alfred says *default browser*, it means, under the hood, it is like calling 'open' without an app argument" (guess: very easy for most users)
     
    My interpretation of @vitor's view is that because it is only a teeny tiny fraction of users who will ever get confused (cuz most users won't know/bother about non-http(s) schemes), and those users (not all, but most) will quickly figure what is going on, it is not worth changing the UI as it would mean complicating the UI for the other users. This is the part where I disagree. What if the said change didn't complicate stuff?
     
    Here's a mock:

    - instead of "Browser:" it says "Open With:"
    - instead of "[Firefox Icon] Default Browser" it says "[Generic Mac Icon] MacOS Default"
     
    To my eyes, this change won't add or cause any confusion for the majority of users (who are concerned only with *web*).
    At the same time, it eliminates the confusion for the minority too (who would enter "craft://..." and get confused as to why the dropdown has only web browsers)
     
    TL;DR: Presently, the following are simultaneously true
    As @Chris Messina pointed out, the UI is wrong in some cases. (It shows "[firefor icon] Default Browser, but opens in Craft, which is not a browser) As @deanishe pointed out, most users learn that even though the UI is wrong, the actual behavior is correct. Not all users, because Chris just gave us a data point. As @vitor pointed out, changing UI is a bad idea if it improves experience of a tiny minority while making it worse for the majority. @vitor what do you think about my proposed changes? Do you think it'll degrade the "most users'" experience?
    @Chris Messina what about you? Do you think these changes that I suggested would go a long way in addressing your complaint (which is my complaint too, by the way)?
     
    @Andrew it would be awesome if you chimed in. You're the OG and solo designer, and looking at Alfred, an outstanding one!
    - Do you see this as an issue or non-issue?
    - What do you think of the proposed changes?
  7. Thanks
    Mr Pennyworth reacted to Andrew in Better support for native app x-callbacks/deeplinks?   
    @Chris Messina this is indeed a UI issue, however minor, as the underlying feature works as expected (all URLs are routed via macOS).
     
    Alfred should really dynamically be showing the correct default handler if possible.
     
    Taking suggestions from this thread (thanks for the relevant input), I've updated Alfred to show "Open With" instead of "Browser", and the default handler will automatically update as you type, for example:
     



     
    This should be in the 4.3.2 pre-release in the next few days.
     
    Cheers,
    Andrew
  8. Like
    Mr Pennyworth reacted to vitor in Better support for native app x-callbacks/deeplinks?   
    I‚Äôd say the issue might be the amount of back and forth. There are three Alfred veterans trying to help on this thread (and in your others, there were multiple as well). In general, one of us is enough and the others move on to help someone else or only make a small comment for completeness. But since you continue to argue back (not a criticism), the others will try to further clarify the points already made and fill any gaps, which makes it so you have more people to respond to (while we still only have one each‚ÄĒyou).
     
     
    Yes, but to be honest the example answer you gave is to me the one which feels patronising. It‚Äôs essentially what‚Äôs already been said but with a¬†‚Äúgood job, here‚Äôs a cookie‚ÄĚ in there. I wouldn‚Äôt enjoy receiving it, and I wouldn‚Äôt feel genuine giving it unless I were truly impressed by the idea (admittedly¬†a high bar).¬†It may have made sense to make such a comment at the start of the conversation, but I entered late into it‚ÄĒwhen specifics are what matter.
     
    Frankly, I need to be direct to be efficient because I assist a crap ton of people daily, both here and on Homebrew Cask plus other projects. The vast majority of people I interact with in this manner find it perfectly fine, so I know it works for me.
     
    Everyone has their style, so perhaps ours clash. I’ll pay attention on the next chance we have to interact, and perhaps deliberately pass on it. Again, I understand how you may have found my comment insulting (and I apologise for that) but I expected the previous rapport to have made it less probable to have been interpreted as such, not more.
     
    Surely none of us imagined we’d spend so much of a Sunday discussing this. I understand and accept your side of it. I expect you accept mine. Have a great week!
  9. Like
    Mr Pennyworth got a reaction from Espresso in How to - type query, press enter, get results .... and repeat?   
    @Espresso
    Edit:
    Here's your workflow modified to do exactly what you were aiming for: https://drive.google.com/file/d/1eX_pa_E3thrMvdKVKzYDpjrKyOT2oLyS/view?usp=sharing
    I haven't edited the python script at all, just re-arranged and edited some stuff in the workflow editor.
    Now it looks like this:

     
    For a crude explanation of how it works, refer below:
     
    Before edit:
    The following workflow does precisely what you've described:
    https://github.com/mr-pennyworth/alfred-gif
     
    I know you want to write your own, so, you can take a look at this workflow and see how it is done and do the same in your own workflow. Here's how it achieves the behavior you described:
     

    This is a script filter. As @deanishe mentioned, in a script filter, you can't do wait-for-enter. So, I do this hack instead:
    The script filter basically does no work except for storing the query in a file. When the user presses enter, (2) and (3) are activated simultaneously. Returns immediately with a "search in progress..." message. Gets results from the gif website, returns a message about the gif. The messages from (2) or (3) are stored in an environment variable. Re-populate Alfred's search box with the query that was just executed.
  10. Like
    Mr Pennyworth got a reaction from deanishe in How to - type query, press enter, get results .... and repeat?   
    @Espresso
    Edit:
    Here's your workflow modified to do exactly what you were aiming for: https://drive.google.com/file/d/1eX_pa_E3thrMvdKVKzYDpjrKyOT2oLyS/view?usp=sharing
    I haven't edited the python script at all, just re-arranged and edited some stuff in the workflow editor.
    Now it looks like this:

     
    For a crude explanation of how it works, refer below:
     
    Before edit:
    The following workflow does precisely what you've described:
    https://github.com/mr-pennyworth/alfred-gif
     
    I know you want to write your own, so, you can take a look at this workflow and see how it is done and do the same in your own workflow. Here's how it achieves the behavior you described:
     

    This is a script filter. As @deanishe mentioned, in a script filter, you can't do wait-for-enter. So, I do this hack instead:
    The script filter basically does no work except for storing the query in a file. When the user presses enter, (2) and (3) are activated simultaneously. Returns immediately with a "search in progress..." message. Gets results from the gif website, returns a message about the gif. The messages from (2) or (3) are stored in an environment variable. Re-populate Alfred's search box with the query that was just executed.
  11. Thanks
    Mr Pennyworth reacted to biati in Calculate Anything   
    Calculate Anything is a workflow for Alfred 4, that uses natural language and is able to calculate multiple things like currency, time, vat, percentage, etc.
     
    Why?

    There are several workflows out there but i just needed a workflow that worked naturally for example you can open alfred and type 100 + 9 and alfred will give you a result no need for keywords or hotkeys it just works, i wanted to be able to jus type 100 + 16% or 100 euros to usd or 100km to cm or 100 years to hours and a large etc. and so this workflow was created.
     
    Features

    - Natural language¬†- type 100 euros to dollars or 100 euros in usd or 100‚ā¨ to $ or 100eur usd or 100 euros a dolares. It does not matter, the same result will be displayed.
    - Currency - Up to 168 currencies
    - Cryptocurrency - Support for 100 cryptocurrencies
    - Units - 100 kilometers to meters or 100km to m or maybe 100km m
    - Percentages - 100 + 16% | 100 - 16% etc.
    - PX,Em,Rem,Pt - 12px or 12px to em or 12px pt
    - Time - time +15 years? now plus 15 hours? or need to convert a timestamp?
    - VAT - value added tax calculations, we all need this
    - Translations You can create your own translations to display results in your language
    - Keywords Extend the natural language in the queries so you can type 100 dolares a pesos and the code will see 100usd to mxn
     
    Important
    You will always find the latest version, changelog and updated documentation on Github as is difficult to use the forum to keep track of updates and support. 
     
    Download

    Download directly from Github releases page, make sure to download the latest release. Download here
     
    Base Configuration

    There's only one global configuration and is the language, this configuration will be used to display the messages in your own language. View the Translations secction for the available languaes.
    Configure it with.
     
    calculate configure and select Set base language and enter the language for example es_ES For more information about configuration click here
     
    Currency
     
    You can use natural language or type a few characters and that's all, for example:
    100 usd to mxn 100$ in mxn 100‚ā¨ to $ 100 euros to dollars 100 euros a dolares (you can also write it in your own language) 100eur (If no target the currency will be converted to the base currency that you configured) ¬†
    All this examples will simply work, you can add spaces between the value and the currency or don't.
     

     
    If by any chance you don't remember the currency symbol or abbreviation simply type calculate list and select "List Available Currencies" (view the gift above)
     
    Currency Options
     
    By default the workflow will use exchangerates api to make the conversion, exchangerates has only support for 32 currencies, if you need support for all the currencies that this worflow includes you need to get a FREE API Key from https://fixer.io it takes less than a minute.
     
    The following options are available for the currency. Simply launch Alfred and type calculate configure and select any of the options below. View the configuration section for more info
     
    Set base currency
    This will become your base currency, if you type 100eur it will automatically be converted to mxn, examples of currency (USD, EUR, MXN, CAD, etc)
     
    Set currency locale
    Used to give format to the converted amount using the money format of your contry
     
    Set Fixer API
    Set your fixer API Key for support more currencies
     
    Currency Symbols
     
    You can also use currency symbols in your query for example 100¬• to ‚ā¨ will be converted to 100JPY to EUR, here is a list of available symbols.
     
    Please go to the repo description on Github for a full list of supported symbols it's really difficult to write them here in the forum. View Currency Symbols
     
    Cryptocurrency
    You can use this in conjunction with currency to convert 100 cryptocurrencies to up to 168 currencies, again you can use natural language or simply pass the currency symbol and that's all.
     
    2 bitcoin to dollars 0.1 bitcoin in dollars 5 bitcoins in ethereum 1 ethereum to ¥ 10 ethereum in mxn 1eth btc 1btc (If no target the currency will be converted to the base currency that you configured)  
    Cryptocurrency Options
    You need to get a FREE API Key from https://coinmarketcap.com/api/pricing/ it takes less than a minute.
    The following options are available for cryptocurrency. Simply launch Alfred and type calculate configure and select any of the options below. View the configuration section for more info
     
    Set Coinmarketcap API
    Select this option and paste your API key and press enter to save it.
     
    Units
     
    You can write your query using natural language or just a few characters, either way this workflow will give you the result you need.
     
    100 ounces to kilograms 100oz to kg 100oz = kg 100oz kg 10 years to months 10years to seconds 1 year to sec 1hr s 10 días a horas (use your own language)  
    If you don't remember the unit abbreviation just simply type the name for example instead of "oz" you can type "ounce" or "ounces" or even use words in your own language for exaple "onza" or "onzas" in spanish.
     

     
    Finally if you still don't remember the unit abbreviation or it's name simply type calculate list and select "List Available Units" you can type to filter, etc.
    Please go to the repo description on Github for a full list of units it's really difficult to write them here in the forum. View Units
     
    Units Options
     
    The following options are available. Simply launch Alfred and type calculate configure and select any of the options below. View the configuration section for more info
     
    Set System of Measurement
    Here you can define your System of Measurement, this option is still in development but as the workflow grows this might be necessary for US users, by default the metric system will be used but you can define imperial or metric
     
    Percentages
     
    You can easily calculate percentages for example:
     
    15% of 50 = 7.50  //7.5 equals to 15% of 50 120 + 30% = 156  //120 plus the 30% of 120 120 plus 30% = 156  //120 plus the 30% of 120 120 - 30% = 84  //120 minus the 30% of 120 120 minus 30% = 84  //120 minus the 30% of 120 30 % 40 = 75%  // 30 is 75% of 40.  
    Translations and natural language can also be used
    120 más 30% = 156  

     
    Time
     
    Time is triggered by a keyword because is not often used so you can simply open alfred and type time
     
    Gives you the current time
    time  
    Converts the timestamp to a regular date
    time 1577836800  
    Gives you the time from now plus anything you want
    time +15 days time now plus 3 days  
    Number of days until specified date
    time days until 31 december  
    The start date of current year
    time start of year  
    The start date of specified year
    time start of 2021  
    The end date of current year
    time end of year  
    The end date of specified year
    time end of 2021  
    It also works in your language
    time inicio de 2020 time fin de 2020 time dias hasta 31 diciembre  
    Get information about date
    time 31 December, 2021 18:00:00 time 31/12/2021 18:00:00 time 12/31/2021 18:00:00  
    Calculate the difference between two dates
    time 25 December, 2021 - 31 December, 2021 time 31-11-2019 - 21-11-2019 time 11/31/2019 - 11/21/2019  

     
    Time Options
     
    The following options are available. Simply launch Alfred and type calculate configure and select any of the options below. View the configuration section for more info
     
    Set base timezone
    Base time zone to calculate dates in your time for example (America/Los_Angeles, Mexico/General, etc.)
     
    Add date format
    Configure a new date format so the date is displayed the way you want for example (j F, Y, g:i:s a)
     
    Delete date format
    It will show you a list of configured date formats, simply select the one you want to delete and press enter to remove it
     
    Time will use the language that you configure with Set base language
     
    VAT (value added tax)
     
    With this you can calculate the vat of a given amount. Like time, vat is also triggered with the keyword "vat" you can change the keyword in the workflow.
     
    Given the following query
    vat of 400 (with 16% vat configured, you can configure your own percentage)
     
    You will get
    VAT of 400 = 64 // VAT Amount 400 plus VAT = 464 // Amount plus vat 400 minus VAT = 344.82 // Amount minus vat  
    VAT Options
    The following options are available. Simply launch Alfred and type calculate configure and select any of the options below. View the configuration section for more info
     
    Set VAT percentage for example (16%)
     
    Configuration
     
    You can easily configure the workflow simply by opening Alfred and typing calculate configure you will see a list of all the available options to configure the workflow, select the option you want and press enter then simply enter your value and again press enter to save it. Check the following gif if you have doubts.
     

     
     
    Translations
     
    Please check the available languages on Github, it's easier to update the information there and also how you can create  a translation.
     
    Keywords
     
    Keywords are words that can be used when writing a query in natural language for example a keyword "ounces" will be converted to "oz", "kilometers" will be converted to "km" or "dollars" will be converted to "USD", "seconds" will become "s" and a large etc. This keywords allows the user to type in a more natural way and in their own language. You can write your own keywords to extend the functionality, please check the information on Github.
     
    Stop Words
     
    Stop words are words that can be used in the query when using natural language for example "100km to cm" - here the stop word is "to"
     
    Stop words are useful for two things:
     
    Allows the user to write more naturally and in their own language (e.g 100 dolares a mxn) "a" is the stop word Are used to check if the query has to be processed for example:  
    100km equals meters
     
    if the word "equals" is not registered in the stop_words array then it won't be processed. At the end this stop words are removed so 100km to cm becomes 100km cm.
     
    Please take a look at the readme on Github to learn more about this.
     
    For Currency, Percentages and Units this workflow will only process the query if it begins with a digit and it has at least 3 characters. Time and VAT have a keyword because those are not often used.
     
    Updates
     
    Updates are installed automatically when a new version is released you don't have to do anything but if want you can check for new updates manually just launch Alfred and type calculate update the workflow will check for updates and it will let you now if there are any updates available.
  12. Like
    Mr Pennyworth got a reaction from Alan He in Script Filter Icon from URL   
    https://www.alfredapp.com/help/workflows/inputs/script-filter/json/
    Search for "Rerunning script filters automatically" on that page
  13. Thanks
    Mr Pennyworth reacted to deanishe in Stripping trailing characters in a python script not working for me   
    Don’t need the flush() at the end of a script.

    Another possibility is print(output, end='') as long as you’re using Python 3 or from __future__ import print_function in Py2.
  14. Like
    Mr Pennyworth got a reaction from Vero in How long have you been using Alfred?   
    In May 2020, a friend saw me using spotlight and claimed "I'm going to pull you out of stone age". And she told me to get Alfred. I had been using it as "just another spotlight" since then.
     
    Beginning of November, I got curious "what is this powerpack thing?".
    Searched online, found packal, and this forum, downloaded a bunch of workflows.
    It hit me so hard!! "HOLY SHIT! ALFRED IS SO POWERFUL!!"
    "It's not an app, it's a platform!" ūü§©ūüíē
    I was up all night for a couple of days building stupid workflows and playing around.
    In a day or two, I became a mega supporter.
  15. Like
    Mr Pennyworth reacted to deanishe in Create workflow search history   
    Kind of, but it's not obvious. If you right-click on your Keyword or Script Filter, choose Inbound Configuration and set Inbound Mode to "Keyword" (and give your Keyword/Script Filter a keyword), your workflow will open in "normal" mode (keyword + query) even when you use a Hotkey. Then Alfred will remember your queries in its history.
     
    If you don’t want the keyword showing up in normal results, put a punctuation mark at the beginning (e.g. :devon)
  16. Thanks
    Mr Pennyworth reacted to Andrew in Clipboard History - IMessage Images - Not pasting properly   
    This is very interesting behaviour from iMessage, and it doesn't surprise me, as iMessage is quirky in quite a few different ways.
     
    While this isn't a "quick fix" in Alfred, as he currently singles out specific types, and doesn't store broad data in the history, one workaround is to turn off storing files in Alfred's clipboard history (if you're not using them often). For various reasons, Alfred prioritises files above images in the history check, so disabling files will get the image correctly from iMessages.
     
    In the further future, it's very likely that Alfred will have a more broad and intelligent clipboard history which will be able to work with this kind of issue.
  17. Like
    Mr Pennyworth reacted to Andrew in How to show scrollbar initially? (when there's scrollable results)   
    Thanks for the feedback, I'll be sure to allow for the old (or better) behaviour back.
     
    It's worth adding, one other reason I changed the default behaviour was because you had this awkward look with rounded corners:
     

     
    But you're right, vanity should definitely not take precedence over function.
  18. Like
    Mr Pennyworth got a reaction from deanishe in How to show scrollbar initially? (when there's scrollable results)   
    I found the old scrollbar behavior very helpful. It immediately told me that there are more results and not just the 9. From a UX perspective, I think the macOS behavior to "show scrollbar only while scrolling" isn't exactly the same Alfred's latest choice. In most places (like a browser for example), there are plenty other visual affordances to let you know that "there is more content". For example, looking at a webpage, or an article, it becomes apparent most of the times that there's more stuff below the fold. In contrast, the scrollbar was the sole indicator of it in Alfred.
     
    So, here's another strong vote in favor of "I really really wish Alfred gave me a choice to restore old behavior"
  19. Haha
    Mr Pennyworth reacted to Andrew in Terminal Command strips beginning of textarea   
    I am happy to change the Terminal Action to not trim.
     
     
    uhhh what is BOMs? *google search*
     
     
    Ah yeah cool, I'll keep trimming these...
  20. Like
    Mr Pennyworth got a reaction from Andrew in Vim Navigation Binding   
    As of v4.1 this works:

  21. Like
    Mr Pennyworth reacted to Chris Messina in [WIP, POC] Spotlight like rich preview pane for alfred workflows   
    More like I was imagining their platform might be used to provide search-as-you-type for other websites... beyond Google.
  22. Like
    Mr Pennyworth got a reaction from Chris Messina in [WIP, POC] Spotlight like rich preview pane for alfred workflows   
    Thanks @Alfred0!
     
    My most favorite use-case is actually something that I hadn't originally thought about:
    "Search Google as You Type"
     
    Google has become more and more of a question-answering-machine.
    So many times, I just want a quick answer and am not looking at reading articles/blogs etc.
    For those cases, the mode of operation is "search google -> look at result -> move on".
     
    The extra pane fits so well for them!
    And ofc, pressing enter would open the same page in browser if I want to interact with that page further.

    @Andrew The above involved writing this script filter:

    I would agree that writing such a script filter is a minimal-effort, no-hassle thing.
    It does feel like a teeny-tiny duplication-of-function though, given that Alfred already has awesome web-searches.
    Is there a way to access the URL the web-searches are building?
    Or, would it be possible to expose those URLs through press-secretary?
    Or, is that not desirable due to privacy concerns?
     
    Also, is there a programmatic way of accessing the web-searches? cc: @deanishe @vitor
    (that way, someone could programmatically build a workflow mirroring the web-searches and their keywords if they want)
    I scoured through various plists and alfdbs, but couldn't find where they are stored...
    Are they stored in some proprietary format / right inside the binary?
    Or did I miss something obvious?
     
    Having said all this, I must agree I don't really foresee much value in doing this for all web-searches because with the exception of google and wolframalpha, I would assume most of the searches are such that they require further interactions with results (like clicking a link, copying some text etc).
     
    Aside:
    Here's a different (vertical) configuration I've been toying with:

     
  23. Like
    Mr Pennyworth got a reaction from JJJJ in [WIP, POC] Spotlight like rich preview pane for alfred workflows   
    Thanks @Alfred0!
     
    My most favorite use-case is actually something that I hadn't originally thought about:
    "Search Google as You Type"
     
    Google has become more and more of a question-answering-machine.
    So many times, I just want a quick answer and am not looking at reading articles/blogs etc.
    For those cases, the mode of operation is "search google -> look at result -> move on".
     
    The extra pane fits so well for them!
    And ofc, pressing enter would open the same page in browser if I want to interact with that page further.

    @Andrew The above involved writing this script filter:

    I would agree that writing such a script filter is a minimal-effort, no-hassle thing.
    It does feel like a teeny-tiny duplication-of-function though, given that Alfred already has awesome web-searches.
    Is there a way to access the URL the web-searches are building?
    Or, would it be possible to expose those URLs through press-secretary?
    Or, is that not desirable due to privacy concerns?
     
    Also, is there a programmatic way of accessing the web-searches? cc: @deanishe @vitor
    (that way, someone could programmatically build a workflow mirroring the web-searches and their keywords if they want)
    I scoured through various plists and alfdbs, but couldn't find where they are stored...
    Are they stored in some proprietary format / right inside the binary?
    Or did I miss something obvious?
     
    Having said all this, I must agree I don't really foresee much value in doing this for all web-searches because with the exception of google and wolframalpha, I would assume most of the searches are such that they require further interactions with results (like clicking a link, copying some text etc).
     
    Aside:
    Here's a different (vertical) configuration I've been toying with:

     
  24. Like
    Mr Pennyworth got a reaction from evanfuchs in GIF Search: Workflow for Searching and Browsing GIFs   
    @evanfuchs aha! got it!
    That's such a bad bug!!
    Thanks so much for reporting it
    I fixed it in v0.0.5, download it and give it a go
  25. Thanks
    Mr Pennyworth reacted to evanfuchs in GIF Search: Workflow for Searching and Browsing GIFs   
    Sure, sorry about that. The workflow is working as expected, but I am finding an unexpected issue the Clipboard History Viewer related to the workflow.
     
    The typical behavior after triggering the Clipboard History Viewer (for example, using the keyword clipboard), is that RETURN will paste the selected item into the foreground app, while COMMAND-C will copy that item back to the clipboard so you can paste it elsewhere without automatically pasting into the foreground app.
     
    After installing and running this workflow, COMMAND-C puts /Users/<username>/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/mr.pennyworth.gif/selected.gif on the clipboard.
     
    If I run killall AlfredGifBrowser, the issue with Clipboard History Viewer goes away.
     
    I hope I'm explaining it clearly.
     
     
×
×
  • Create New...