Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set open_dominant_script_on_scene_change to off by default #81906

Merged
merged 1 commit into from
May 7, 2024

Conversation

the-sink
Copy link
Contributor

@the-sink the-sink commented Sep 19, 2023

Super tiny change - just changes the default for the text_editor/behavior/files/open_dominant_script_on_scene_change editor settings option to false.

This behavior is super unintuitive imo. When a user tabs into a scene, they may not necessarily want to edit the dominant script in that scene, but this functionality seems to assume they always do. This has the side effect (in my experience) of making the list of open scripts super messy as scripts I never intended to edit are opened in the background, requiring me to "Close All" on the list often if I want to maintain any clarity on what I am actually working on.

From godotengine/godot-proposals#7434 it seems like others have the same feeling that this behavior is odd, however I think it makes sense to leave the option there for those who do find it useful.

@the-sink the-sink requested a review from a team as a code owner September 19, 2023 08:32
@AThousandShips AThousandShips added this to the 4.x milestone Sep 19, 2023
@AThousandShips
Copy link
Member

Note that this will make it so that everyone who has actively wanted this to be turned on will have to enable it manually

@the-sink
Copy link
Contributor Author

I deleted my editor_settings_-4.tres file and let 4.1 re-build it from scratch, and it explicitly defines

text_editor/behavior/files/open_dominant_script_on_scene_change = true

in the file immediately on launch, so wouldn't the new version just leave that value as-is? Re-launching the editor in a custom build w/ this change applied doesn't touch it and just shows in the editor settings window as the value being different than the (new) default.

@AThousandShips
Copy link
Member

AThousandShips commented Sep 19, 2023

You're right! Didn't remember that this behaved differently than all other storage (including project settings)

On the flip side this won't affect any current users

@Mickeon
Copy link
Contributor

Mickeon commented Sep 19, 2023

That comment is true. Editor Settings don't behave the same as Project Settings in that regard. They're all saved regardless of what the default value is.

That also leads to settings that are moved or removed between versions to be kept, but that's outside of this PR.

Regardless, this is an enhancement. I turned it off, all of my colleagues ask me how to turn this off. I have seen people in the Proposals repository requesting this to be turned off (only example I can easily find). And I cannot blame them, because the name of the setting and where it is located is annoyingly ambiguous. I'd struggle to find it if I didn't know any better.

So, thank you very much from the bottom of my heart.

Copy link
Contributor

@Mickeon Mickeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please let's just do this for the time being. This setting always comes up in casual conversations and I have to remind friends how to disable it even now.

@Calinou
Copy link
Member

Calinou commented Feb 6, 2024

I don't have a strong opinion on this personally, but I agree it makes sense to avoid changing the current script behind the user's back.

Copy link
Member

@Geometror Geometror left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember that I encountered this while working on #72277 and found it very confusing/unexpected. In my opinion, it's much better to have the last script that I worked on opened or restored when switching scenes or restarting the editor.

@akien-mga
Copy link
Member

akien-mga commented Feb 14, 2024

So I asked on social media to see how users feel about this feature and the proposed change of defaults.

Twitter: https://twitter.com/Akien/status/1755159026864730119

image

Mastodon: https://mastodon.gamedev.place/@akien/111889452540887927

image

Overall people seem to be in favor of changing the default, but it's really not that clear cut.

Most users in the comment express how annoying they find this feature and that they never realized they could disable it, so there's definitely a usability improvement needed here, if anything to make it more discoverable.

Several mentioned that they found this useful/intuitive as beginners, but that it starts getting in the way when being more experienced and working on more complex projects.

Changing this default will basically mean that we'll go from "A significant proportion of users dislike the feature and don't know they can disable it" to "Nobody knows this feature exists nor will ever enable it manually, since they don't know about it". So this is pretty much a death sentence for this feature, with a grace period for users who grew to rely on it and would still be able to toggle it if/when they notice the behavior changed and ask on community platforms how to restore it.

@Mickeon
Copy link
Contributor

Mickeon commented Feb 14, 2024

I see a very, very notable "Thank you Lord for helping me see the light I can finally disable this ****" in the replies, so there has definitely been a huge issue for years.

In short, looking at the whole picture, it is clear this setting is loathed by the community. Reactions here, on the surveys, on the Proposal (with literally no comments contesting it) are pretty telling.

Keep in mind that unless you entirely reset your editor settings the behavior will NOT change for existing users. Returning users will not have this feature. I think it's worth nuking this "feature" for something better later down the line.

Also worth noting that the suggestion to merge Scene and Script tabs also popped up in the survey, even if seemingly unrelated.

@reduz
Copy link
Member

reduz commented Feb 14, 2024

I think its a mistake to do this as-is, because for many people this is useful depending on their workflow. This feature was added because it was requested by users at its time.

I am not against changing the default but I would do it together with making it a more visible editor option like this:

image

@Mickeon
Copy link
Contributor

Mickeon commented Feb 14, 2024

The question for later is still "Is this feature good as is?". Because very few individuals (and none I have ever known) find this to be pleasing. Even in the survey (albeit very small sample size), only a few would argue in favour of it, but not that they would actively strive to keep it as is.

In my opinion inspiration from Visual Studio Code could be taken, where a single tab can just be temporary be open, and will be replaced by another temporary tab the next time (unless you right-click on "Keep open", pin it, or double-click on it).
image
The tab in italics is temporary.

But this is all for later.

Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's give this a try in beta 1 and see what feedback we get.

@akien-mga akien-mga modified the milestones: 4.x, 4.3 May 7, 2024
@akien-mga akien-mga merged commit 68bd282 into godotengine:master May 7, 2024
16 checks passed
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make "Open Dominant Script on Scene Change" disabled by default
7 participants