microsoft/PowerToys

Please add a per-application startup-folder option for workspaces

Open

#35,061 opened on Sep 25, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C# (7,978 forks)batch import
Help WantedIdea-EnhancementNeeds-TriageProduct-Workspaces

Repository metrics

Stars
 (133,154 stars)
PR merge metrics
 (Avg merge 14d 20h) (117 merged PRs in 30d)

Description

Description of the new feature / enhancement

Workspaces is great for launching multiple apps simultaneously. It provides long overdue functionality for Windows. The one thing I haven't reliably been able to do so far is customize the settings for all applications in such a way as to specify their startup-folder location. With some applications (e.g., Windows Terminal), I can add another command-line parameter (-d <path>) that seems to work. But many applications often lack this ability. I know that the Windows API methods to launch processes all take startup paths, so it would be a trivial addition to the existing data set but pay a lot of dividends in time saved for opening/saving files from within those applications and other startup-folder sensitive operations.

Scenario when this would be used?

For applications that don't offer a command-line option to specify a startup folder, this would be helpful in many scenarios:

  1. Standard open/save dialogs starting in the folder I want them to by default, rather than having to change them every single time.
  2. Applications being able to find their proper set of configuration files based on startup path.
  3. Applications that generate files in the same folder as their executable dumping them where I actually want them.

And many more.

Supporting information

I think the ask is pretty clear, but as a Windows developer I'll put it this way:

  1. Add UI to capture startup paths.
  2. Add UI to edit application startup paths--please allow environment variables to be referenced by said UI!
  3. Add code to resolve those startup paths when launching to hand them off to the Windows process-related APIs.

Contributor guide