Jump to content

RecentDownloads — List and act on the contents of a directory


Recommended Posts

@vitor Thanks for this wonderful workflow! Probably the one I use the most!

 

I was wondering if you had the intention of adding an exclusion list? I have my Keyboard Maestro settings file in this folder and as it updates almost every day it appears at the top of the results. Of course, I could and certainly will move this file somewhere else. But still wanted to ask you this question as I suspect other interesting use cases for this feature 😀

Link to comment
8 hours ago, politicus said:

Thanks for this wonderful workflow! Probably the one I use the most!

 

Thank you for the kind words.

 

8 hours ago, politicus said:

I was wondering if you had the intention of adding an exclusion list?

 

I do not. I doubt many people would use it.

Link to comment
  • 6 months later...

@vitor I would definitely echo @politicus statement about how awesome this workflow is! It's definitely near the top of my most used workflows.

 

Somewhat related to @politicus question about blacklisting items, is it possible to exclude temp/invisible items? I might be wrong, but the issue seems to be limited to Microsoft Word files. When I run your workflow, it always shows a handful of Word files that start with "~$". I notice them whether I run the workflow on my Downloads or Desktop folders, etc.

 

Thanks again for sharing the workflow!

Link to comment
  • 2 weeks later...
  • 4 months later...

Update.


On deleting cache file, also ask Spotlight to reindex directory. This should make certain operations (like renames) quicker to show up correctly.


To update, download the latest version (same URL) or wait a few days and it’ll prompt you to on next usage, since it uses OneUpdater.

Link to comment
  • 6 months later...

Hi Vitor, 

I've made very good use of your workflow in conjunction with the Hook App. 

I have it index a folder with a bunch of files that point to all of my projects, and voila - instant project management tool!

 

I just need to figure out an option to list the files simply in alphabetical order and I'll be happy. 

 

If you're interested, here is the small post i made about using your worfkflow: https://discourse.hookproductivity.com/t/using-hook-files-to-maintain-a-list-of-current-projects/2884?u=seishonagon

 

Thanks! 

Link to comment

@seishonagon No plans to officially add alphabetical sort. But you can make a new Script Filter with language set to /usr/bin/ruby and paste the following:

 

require 'json'
require 'pathname'

script_filter_items = Pathname.new(ENV['downloads_dir']).expand_path.children.sort.each_with_object([]) do |entry, array|
  name =
    if entry.directory?
      entry.basename.to_path
    else
      entry.basename(entry.extname).to_path
    end

  array.push(
    type: 'file',
    title: name,
    subtitle: entry,
    icon: { path: entry, type: 'fileicon' },
    arg: entry
  )
end

puts({ items: script_filter_items }.to_json)

 

I offer that code, but no support for it (I tested it, and it worked).

Link to comment

Oh wow! Thanks!

That'll save me some mind numbing slog. To give you an example of my own script-fu, I've just spent 2 hours figuring out how to pass arguments properly to the "Run Script" action in Alfred Workflow ...

 

EDIT: for future reference (mine, specially) - don't forget to set "Argument Optional" in the script filter or the list of files won't appear

 

Edited by seishonagon
Link to comment
5 hours ago, seishonagon said:

To give you an example of my own script-fu, I've just spent 2 hours figuring out how to pass arguments properly to the "Run Script" action in Alfred Workflow


We’ve all been through it! The quintessential example is forgetting a semi-colon, though I doubt that particular example happens much with the checks we have today.

Link to comment

Major update! Your usage won’t change if you don’t want to.


First, I’ve done a big code cleanup.


Second, the list will now auto-refresh every few seconds, which is a great way to monitor for changes.


Third, I’ve revamped how the file list is cached (only applicable when sorting by added):


Previously, on every run it would read from the cache unless the directory had changed, in which case it would have to save a new cache. This means that if your directory changed quite often, you’d see little gain from caching.


Now, no caching is done by default. If you want caching, run :recentdownloadslaunchd which will install a launchd agent to watch your directory and save a new cache when the directory is modified. This means your cache will always be up to date and you’ll get the fastest run every time. This leverages technology built-in to macOS, there’s no weird hacks.


Fourth, I’ve worked around a pesky Spotlight bug when it sometimes returns (null) in a result, which is annoying if it gets saved to the cache because you wouldn’t be seeing the real path.


Finally, thanks to the above I removed the option to manually delete the cache.


To update, download the latest version (same URL) or wait a few days and it’ll prompt you to on next usage, since it uses OneUpdater.

Link to comment
  • 3 months later...

HI Vitor - thanks for the workflow, I have my downloads all routed to a downloads folder on iCloud called "iCloud Downloads." Can I ask what do I need to change on this workflow to change the folder to that one? 

Sorry not familiar with any of this. 

 

Thanks

Link to comment
56 minutes ago, jifpanzee said:

Can I ask what do I need to change on this workflow to change the folder to that one? 

Sorry not familiar with any of this. 

 

Read the instructions in the first post in this thread:

 

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...