Remove or fix "Use parent process directory" checkbox #12087

Closed
opened 2026-01-31 03:06:03 +00:00 by claunia · 7 comments
Owner

Originally created by @cinnamon-msft on GitHub (Jan 15, 2021).

In the main branch right now in the settings UI, there's a checkbox called "Use parent process directory" underneath Starting directory. This checkbox is intended to behave as if the Starting directory were empty. If you click the checkbox, it will empty and disable the textbox for Starting directory.

I am personally in favor of removing this checkbox and putting in the Starting directory tooltip that leaving the field blank will use the parent process directory. The checkbox adds extra confusion to the setting.

If people are adamant about keeping it, its functionality should be fixed slightly: if the Starting directory box is emptied, the checkbox should immediately be checked.

Therefore, this scenario shouldn't be possible.
image

Originally created by @cinnamon-msft on GitHub (Jan 15, 2021). In the main branch right now in the settings UI, there's a checkbox called "Use parent process directory" underneath Starting directory. This checkbox is intended to behave as if the Starting directory were empty. If you click the checkbox, it will empty and disable the textbox for Starting directory. I am personally in favor of removing this checkbox and putting in the Starting directory tooltip that leaving the field blank will use the parent process directory. The checkbox adds extra confusion to the setting. If people are adamant about keeping it, its functionality should be fixed slightly: if the Starting directory box is emptied, the checkbox should immediately be checked. Therefore, this scenario shouldn't be possible. ![image](https://user-images.githubusercontent.com/48369326/104786784-cafd7b80-5742-11eb-976b-9d03575f806b.png)
Author
Owner

@carlos-zamora commented on GitHub (Jan 15, 2021):

Tagging @PankajBhojwani since he implemented this (PR).

@carlos-zamora commented on GitHub (Jan 15, 2021): Tagging @PankajBhojwani since he implemented this ([PR](https://github.com/microsoft/terminal/pull/8786)).
Author
Owner

@PankajBhojwani commented on GitHub (Jan 15, 2021):

Based on #8761 I thought the checkbox design was what we were going for!

Also, if you empty the textbox and hit 'Apply', the checkbox will automatically get checked - the reason it doesn't automatically get checked before you hit apply is because otherwise the user will not be able to clear out the textbox and type in a whole new path (clear out text box -> checkbox gets immediately checked -> text box gets disabled). Also, the user will not be able to uncheck the checkbox at all (uncheck check box -> textbox is empty -> check box immediately gets rechecked)

@PankajBhojwani commented on GitHub (Jan 15, 2021): Based on #8761 I thought the checkbox design was what we were going for! Also, if you empty the textbox and hit 'Apply', the checkbox _will_ automatically get checked - the reason it doesn't automatically get checked before you hit apply is because otherwise the user will not be able to clear out the textbox and type in a whole new path (clear out text box -> checkbox gets immediately checked -> text box gets disabled). Also, the user will not be able to uncheck the checkbox at all (uncheck check box -> textbox is empty -> check box immediately gets rechecked)
Author
Owner

@DHowett commented on GitHub (Jan 16, 2021):

Right. I think we should favor more expressive settings (a checkbox for "use parent folder" instead of the empty text field means use parent folder) with some user-facing affordances for making it convenient.

Here's an idea.

The text field only emits a Change event when the user navigates off of it. Can we move focus into the text field automatically when the user UNCHECKS the box, and then CHECK the box only when the user navigates off the text field with it empty?

We can rely on the profile viewmodel's PropertyChanged notification to implement that. We have to make sure we don't move focus back into the text field unless it was explicit user action on the check, but that should be doable.

We could also make the browse button override the checkbox (choosing a folder turns off the box and fills the field) using the same notification.

how's that sound/

@DHowett commented on GitHub (Jan 16, 2021): Right. I think we should favor more expressive settings (a checkbox for "use parent folder" instead of _the empty text field means use parent folder_) with some user-facing affordances for making it convenient. Here's an idea. The text field only emits a Change event when the user navigates _off_ of it. Can we move focus into the text field automatically when the user UNCHECKS the box, and then CHECK the box only when the user navigates off the text field with it empty? We can rely on the profile viewmodel's PropertyChanged notification to implement that. We have to make sure we don't move focus back into the text field unless it was explicit user action on the check, but that should be doable. We could also make the browse button _override_ the checkbox (choosing a folder turns off the box and fills the field) using the same notification. how's that sound/
Author
Owner

@PankajBhojwani commented on GitHub (Jan 19, 2021):

I like that idea, will wait on response from @cinnamon-msft before making a PR

@PankajBhojwani commented on GitHub (Jan 19, 2021): I like that idea, will wait on response from @cinnamon-msft before making a PR
Author
Owner

@cinnamon-msft commented on GitHub (Jan 19, 2021):

:shipit:

@cinnamon-msft commented on GitHub (Jan 19, 2021): :shipit:
Author
Owner

@carlos-zamora commented on GitHub (Jan 26, 2021):

(I feel like this issue revolves around the design for "starting directory", so I'm adding this here for discussion and opening it up again)

Got some feedback on this design:

Default option is not the first thing you see

This one can probably be ignored. The parent process option is not the default option.

The heading for the whole block is disabled

This one is annoying. I have a feeling that a11y will not like that the header is disabled. We should make the header its own text block to avoid this.

Starting Directory SUI

The user also proposed a new design for this setting:
Starting Directory Proposal

@cinnamon-msft Thoughts?

@carlos-zamora commented on GitHub (Jan 26, 2021): (I feel like this issue revolves around the design for "starting directory", so I'm adding this here for discussion and opening it up again) Got some feedback on this design: > Default option is not the first thing you see This one can probably be ignored. The parent process option is not the default option. > The heading for the whole block is disabled This one is annoying. I have a feeling that a11y will not like that the header is disabled. We should make the header its own text block to avoid this. ![Starting Directory SUI](https://user-images.githubusercontent.com/11050425/105884061-681aa880-5fbc-11eb-860b-61703572901c.png) The user also proposed a new design for this setting: ![Starting Directory Proposal](https://user-images.githubusercontent.com/11050425/105884109-79fc4b80-5fbc-11eb-81bb-ed2eb4f5c59a.png) @cinnamon-msft Thoughts?
Author
Owner

@DHowett commented on GitHub (Jan 26, 2021):

Please use a new issue for this. It was "removed or fixed" up to 1.6 standard.

@DHowett commented on GitHub (Jan 26, 2021): Please use a new issue for this. It was "removed or fixed" up to 1.6 standard.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12087