Projects launcher

Hi

I searched many times for an app that allow me to add projects with :

  • finder location
  • url from another app : omnifocus and obsidian
  • quickly add a project from finder select.

But each time I've found something, I didn't fully like it.

So I wonder if someone here did something like that with KM ?

I think about using palettes obviously. But how to quickly add a "project" from finder selection to this palette ?

Thanks for your help and insights.

It would help to know which ones you looked at and what it was about them that didn't suit you.

I tried to use :

  • Project launcher in Raycast : more focus for developper's projects and it's too long to add a project manually.
  • Start : Great but we can't define "project", only shortcuts to folder, url....
  • Workflow (if I remembred well) : nice but to long to enter project.

What could be awesome (but it's not possible with KM) is to have an homepage for project.

I think you may need to define what you mean by ā€œprojectsā€ā€”especially since you used the word in quote marks.

You might want to use the FinderInsertionLocation token.

I donā€˜t know about Omnifocus. For Obsidian, do you mean a URL that is in a note, or the URL of the note?

For the former, you could perhaps use the Search using Regular Expression action on the markdown file for the note.

If you meant the URL of a note, read up on URIs from the help section of Obsidianā€˜s site, and maybe consider the ā€œAdvanced URIā€ community plugin.

It wasnā€˜t obvious to me. I take it you just like palettes... or are they particularly relevant to the problem? I think you will get better advice once you have gone into more detail but I hope I have given a relevant idea or two. I do suspect that you might find more focus on what you need to do if you just start a rough macro and see where it leads. Then of course please ask for more specific help.

For me a project have three parts :

  • Finder path
  • Omnifocus path for todolist
  • Obsidian path for note

I was thinking about palette to quickly display all of my current projects and choose the one I want to open. I'll try to build something like that to see if it can answer to my need.

My first need is an easy and quickly way to add a folder to project list. If it's too long, I know I won't use it.

1 Like

But a KM palette is a palette of macros -- you'll need to make a separate macro for every project and delete the macro when a project is done. Doable, but seems like a lot of unnecessary work.

I'm not a user -- but isn't Omnifocus a to-do list system (and I'm sure that's an insulting over-simplification!)? And one that can group to-dos in projects? From the outside it seems easier to do the project list there -- I believe it also has "views" that would make it easy to see only the relevant projects -- and store the Finder location and Obsidian URL in each project's notes. It should be easy enough to use Omnifocus scripts or a KM macro to set up a "project workspace" by opening the Finder and Obsidian links for that project...

The main problem with Omnifocus is that is not practical to use note field.

But if I didn't find another (better) way, I will stick to it.

Not practical in what way?

I would take an other approach. The problem has two sides:

  1. Collecting the URL's
  2. Launching the URL's

For the collection I would set up three different KBM macros, one for each application you want to support. All 3 of them would use the same shortcut and only be active for the given application. As an example the macro when fired on OmniFocus would copy the item link using the Menu "Edit -> Copy Item link", when fired on Obsidian it would have to do a right click on the selected item and then use the menu item "Copy Obsidian URL", etc. KBM is very capable of executing these actions.

For the launching, in theory it would be possible to have the above capture scripts also create a keyboard macro so the URL's could be selected using a palette, but as others said not very practical. I suggest you take a look at the article Pick List which presents a list to the user to select from. A possible approach could be that the capture scripts, write (append) the collected URL's to a file, either one big for all your URL's or one for each application you want to support. Your launch script would read the file and present it in the pick list after which you can launch the required application.

1 Like

Hi

Thank for your reply and sorry for the delay.

I think for now I will only use finder shortcuts. So I tried to see how I can open finder location from palette. It’s pretty easy.

But the problem is to add or remove finder’s path from the palette. Do you know a way to dynamically change the palette’s content (so the macro list) ?

Ok from other topics I’ve found a way with a .txt file and prompt list.

One drawback is that it display a list of truncate folders’ path as I use it for remote server access.

I would like to add a ā€œnameā€ for each path. Maybe it’s possible to use regex to only have a part of the path ?

The second drawback is when I want to delete path from the list. Apparently I must edit manually the text file, I can’t remove the line from KM. Do I understand correctly ?

Maybe I can use a dictionary instead of text file ? That way I can add/remove from the dictionary from KM and add a name for the path ? But I don’t find a way to list dictionary entries in prompt list.

This and the other things you are asking are all possible with Keyboard Maestro and Prompt from List is very adaptable.

But the simplest way to make a dynamic palette that is intuitive is to make use of Keyboard Maestro's Conflict Palette feature.

If two of more Macros have the same hotkey and are active, pressing that hotkey will bring up a palette that allows you to choose which Macro to run. I use this with finder folders/websites/Apple notes/files that I use a lot.

In my case pressing ⌃⌄⌘D brings up the below conflict palette (as all these Macros have this same hotkey).

To go to the folder or website I want I either click it in the Palette or type the blue highlighted letter. That first blue symbol at the head of the Dropbox Macro, is actually just a "space" that is the first letter in the Macro's name. Hitting the spacebar while this palette is up takes me to my Dropbox folder. Likewise the Return symbol is the first letter in the Desktop Macro's name. Hitting Return while this palette is showing, takes me to my Desktop.

To remove an item from appearing on the Palette (if I no longer need quick access to that item) I hold the Option Key while clicking the item and that takes me straight to the actual Macro where I just disable it so it no longer shows (I disable rather then delete the Macro in case I want to add it again).

As I use this system constantly I have a Macro to create the Macros... but it's still pretty fast to set up without any special Macro.

1 Like

Thanks for your help.

The problem is I want a way to quickly add / remove a path from the list without editing each time KM macro as my project list change quickly.

Ok maybe I’ve found a way easily delete project. I use Search and Replace to remove the path.

The only thing I don’t achieve is to perform a search and replace for the path but also for the friendly name. %Variable%Listings% only return the path, not the friendly name.

Any idea how to do this ?

Edit : it works but not with space in path…

Ok I find a way to do it but as I have ( and ) in my path, I must escape them manually.

Do you know a way to improve this macro ?