Jump to content

Mr Pennyworth

Member
  • Posts

    175
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Mr Pennyworth

  1. I have a suspicion that it might not be possible to change that keybinding... Nonetheless, if you're okay with keeping "Fn + Backspace" and want to add your own shortcut in addition, you can follow this: Check my post, and Andrew's explanation following right after that post. Hope it helps!
  2. My emoji search workflow has a JSON file with following stats: Filesize: 2.1 MB Character Count: 1304946 Line Count: 1 Alfred loads it correctly without truncation. Maybe it is worth investigating whether it is Alfred truncating your JSON file or something else causing the truncation...
  3. Ongoing discussion with two working solutions: https://github.com/biati-digital/alfred-calculate-anything/issues/22
  4. 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!
  5. Quite likely not possible with just Alfred. If you don't mind using https://karabiner-elements.pqrs.org/ which is free and open source, it is easy. Note: for this to work, you'll have to set Alfred Preferences > Appearance > Options > Focusing to "Compatibility Mode" Just add the following rule to ~/.config/karabiner/karabiner.json: { "description": "Tab as down arrow in Alfred", "manipulators": [ { "conditions": [ { "bundle_identifiers": [ "^com.runningwithcrayons.Alfred" ], "type": "frontmost_application_if" } ], "from": { "key_code": "tab" }, "to": [ { "key_code": "down_arrow" } ], "type": "basic" } ] } For reference, here's an example of how the entire file would look like: { "global": { "check_for_updates_on_startup": true, "show_in_menu_bar": true, "show_profile_name_in_menu_bar": false }, "profiles": [ { "complex_modifications": { "parameters": { "basic.simultaneous_threshold_milliseconds": 50, "basic.to_delayed_action_delay_milliseconds": 500, "basic.to_if_alone_timeout_milliseconds": 1000, "basic.to_if_held_down_threshold_milliseconds": 500, "mouse_motion_to_scroll.speed": 100 }, "rules": [ { "description": "Tab as down arrow in Alfred", "manipulators": [ { "conditions": [ { "bundle_identifiers": [ "^com.runningwithcrayons.Alfred" ], "type": "frontmost_application_if" } ], "from": { "key_code": "tab" }, "to": [ { "key_code": "down_arrow" } ], "type": "basic" } ] }, ] }, "devices": [], "fn_function_keys": [ { "from": { "key_code": "f1" }, "to": { "consumer_key_code": "display_brightness_decrement" } }, { "from": { "key_code": "f2" }, "to": { "consumer_key_code": "display_brightness_increment" } }, { "from": { "key_code": "f3" }, "to": { "key_code": "mission_control" } }, { "from": { "key_code": "f4" }, "to": { "key_code": "launchpad" } }, { "from": { "key_code": "f5" }, "to": { "key_code": "illumination_decrement" } }, { "from": { "key_code": "f6" }, "to": { "key_code": "illumination_increment" } }, { "from": { "key_code": "f7" }, "to": { "consumer_key_code": "rewind" } }, { "from": { "key_code": "f8" }, "to": { "consumer_key_code": "play_or_pause" } }, { "from": { "key_code": "f9" }, "to": { "consumer_key_code": "fastforward" } }, { "from": { "key_code": "f10" }, "to": { "consumer_key_code": "mute" } }, { "from": { "key_code": "f11" }, "to": { "consumer_key_code": "volume_decrement" } }, { "from": { "key_code": "f12" }, "to": { "consumer_key_code": "volume_increment" } } ], "name": "Default profile", "parameters": { "delay_milliseconds_before_open_device": 1000 }, "selected": true, "simple_modifications": [], "virtual_hid_keyboard": { "country_code": 0, "mouse_key_xy_scale": 100 } } ] }
  6. 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. @Shakti Here's the download link: https://github.com/ibnuh/alfred-character-counter-workflow/releases/download/1.0/Character.Word.Counter.alfredworkflow Here's the link to the page, in which the downloads are listed: https://github.com/ibnuh/alfred-character-counter-workflow/releases
  8. @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.
  9. Hmm... Not sure whether it is possible... I for sure can't think of a way I'm not sure whether this could be somehow used: https://karabiner-elements.pqrs.org/ but give it a look? Till then, I guess you're stuck with pressing enter to paste
  10. Agreed. You can always create your own keybindings though. Check this link for an example and explanation: Just create a workflow with the following:
  11. The following work too: control-n (for down) control-p (for up)
  12. Whoops! My bad Meant Alfred's debugger. This is great!! The browser tab for authentication opens. There are no "command not found" errors in the debugger anymore. If you do the exact same thing as in the video, but with the actual secret and ID. I want to say "it'll work!". However, you've repeatedly told us that it didn't Sadly, I've got nothing further to help but to say, "try one last time exactly like in video, but with the id and the secret"
  13. Same thing for me! Here's a last-ditch effort: I loved how you shared that video! It was very helpful Based on the back-and-forth so far, I feel like we'd be able to spot what's going wrong if you could share an entire video of the download-edit-save-run process with console open. To make sure that you're not sharing the client secret in the video, in the "edit" phase, just add 'xxxxxxxxxxxxx' to the relevant lines in the rb file instead of actual secret. (by the way, I should clarify that it is perfectly fine to share the app id and client secret from the perspective of your security. from the perspective of quotas, maybe not so)
  14. Can you confirm that this is the first line of google-drive.rb file? #!/usr/bin/ruby
  15. As @deanishe has pointed out, This isn't how it should be done. Try the following: Download the workflow (the .alfredworkflow file): https://github.com/azai91/alfred-drive-workflow/releases/download/v2.1/Google-Drive.alfredworkflow Double click on the downloaded file to open it with alfred Right click on the workflow inside Alfred, and select "Open in Finder" In the finder window that's opened in (3), edit the google-drive.rb file with your own credentials. Save the file Run the workflow
  16. https://www.alfredapp.com/help/workflows/inputs/script-filter/json/ Search for "Rerunning script filters automatically" on that page
  17. That can easily be determined. Free versions have a limit of 100 searches per month or so. (for all of the services listed there) Q: Do you want "search as you type"? A: If yes, free version won't be enough because because each query in alfred could result in tens of queries to the service. Q: Do you see yourself using this workflow more than thrice a day on average? A: If yes, free version won't be enough because you'll run out of your quota way before the month ends.
  18. @allenrowand try this: import decimal import sys query = float("{query}") output = str(round(decimal.Decimal((query*.029)+.3),2)) sys.stdout.write(output) sys.stdout.flush() The newline is coming from the `print` function
  19. 1) Copy image file in finder -> paste in firefox (Hangouts) works! 2) Copy something else -> Use Alfred's clipboard history to paste the same file from (1) -> doesn't work! It always works in chrome though. So looks like something wonky with firefox!
  20. Cleanshot (a screenshotting tool) too does something similar (puts file as well as image data onto the pasteboard) Thanks sooooo much for pointing this out!!
  21. Hangouts, Facebook Messenger, Whatsapp for Web (all in firefox) Works for this forum and google docs though. I guess each website handles paste according their own whims and fancies!
  22. Very justifiable!! It's just that the single-representation approach breaks my workflow (sounds too much xkcd-like I know 😂) Cleanshot is a screenshot app with some handy features. I'm so used to just pasting the screenshot without thinking whether it is the browser or finder. That works because it puts a file as well as the png and tiff data onto the pasteboard. I keep getting tripped over "Why isn't Alfred pasting the screenshot I copied just a while ago?" and then "oh yeah, cuz now it is just a file". I didn't post on the forums before as I felt it would be too entitled to ask for it 😝 But when I saw a post, I couldn't resist requesting the "feature"
  23. Many applications put multiple types of entries onto the pasteboard. Alfred, however seems to save only one of those. This creates unexpected behavior like the one described by @deanishe here: I can imagine that an argument can be made that "it is not a bug, it is just that Alfred's clipboard manager is not as feature rich". And for that reason, I'm opening this thread as a feature request
  24. 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"
  25. @raphaelhuleux soon someone more knowledgeable will come along and give a more sensible solution... In the meanwhile, here's how I've been solving the same problem: In the hotkey setting, set "Argument" to "text" and set the text to period "." followed by space
×
×
  • Create New...