Provide manual refresh of settings.json or have refresh code follow symlinks #8610

Closed
opened 2026-01-31 01:33:42 +00:00 by claunia · 2 comments
Owner

Originally created by @brianpepin on GitHub (May 26, 2020).

Provide a way to manually refresh Terminal's reading of settings.json or have the update sniff follow symbolic links.

I like to keep important state for my dev machine in a git repo so I can blow away the machine and easily recreate it if I need to. I have settings.json living in this repo and I've created a symbolic link at the original location. This all works fine. But now if I change settings I need to close reopen terminal windows -- the changes are not automatically updated. It would be great if there was a way to trigger a re-parse of settings, or have Terminal follow symbolic links and monitor their targets for changes (I couldn't use a hard link -- different drives).

Proposed technical implementation details (optional)

Ideally the file change monitor for settings would detect if settings is using a symlink and monitor the target. Less ideally, but probably useful in more situations is to have an option to reload settings manually.

Originally created by @brianpepin on GitHub (May 26, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> Provide a way to manually refresh Terminal's reading of settings.json or have the update sniff follow symbolic links. I like to keep important state for my dev machine in a git repo so I can blow away the machine and easily recreate it if I need to. I have settings.json living in this repo and I've created a symbolic link at the original location. This all works fine. But now if I change settings I need to close reopen terminal windows -- the changes are not automatically updated. It would be great if there was a way to trigger a re-parse of settings, or have Terminal follow symbolic links and monitor their targets for changes (I couldn't use a hard link -- different drives). # Proposed technical implementation details (optional) Ideally the file change monitor for settings would detect if settings is using a symlink and monitor the target. Less ideally, but probably useful in more situations is to have an option to reload settings manually.
claunia added the Issue-FeatureResolution-Duplicate labels 2026-01-31 01:33:42 +00:00
Author
Owner

@zadjii-msft commented on GitHub (May 27, 2020):

So, there's a specific reason for this: https://github.com/microsoft/terminal/issues/1812#issuecomment-508280785

So, here's the weird thing about file modifications. We can't subscribe to know when a file has been changed -- we must subscribe to know when its directory changed. The risk in following the symbolic link is that we will probably start listening for file changes in somewhere crazy (with a high event volume) like the user's home directory. ☹️

We do have #2933 tracking "allow importing settings from another file", so in that case you could probably opt-in to storing the settings in another location

I think this largely counts as /dup #1812

@zadjii-msft commented on GitHub (May 27, 2020): So, there's a specific reason for this: https://github.com/microsoft/terminal/issues/1812#issuecomment-508280785 > > So, here's the weird thing about file modifications. We can't subscribe to know when a file has been changed -- we must subscribe to know when its _directory_ changed. The risk in following the symbolic link is that we will probably start listening for file changes in somewhere crazy (with a high event volume) like the user's home directory. ☹️ We do have #2933 tracking "allow importing settings from another file", so in that case you could probably opt-in to storing the settings in another location I think this largely counts as /dup #1812
Author
Owner

@ghost commented on GitHub (May 27, 2020):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (May 27, 2020): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#8610