-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Don't show inactive buttons in editor top bar #8570
Comments
Please do show inactive buttons, because I don't want buttons to move around when I do not expect them to and thus leave me pressing the wrong one. Especially in this example where some of them can kill a running game, or start a build process, or other violative operations. |
can you elaborate, what button do you want to press twice but won't be able to in this specific case? |
I don't want to be pressing buttons twice. However, accidents happen. And this increases accidents. A common "operation" that I do IS to: Hit F5 to run the game, realize I missed something, and immediately click stop. Now with this proposal the stop button may jump around. Maybe I'll hit it, maybe not. My memory of where it is has become useless, and I will need to carefully check each buttons position every time. There are other places in the editor where hiding inactive operations can be of benefit. This in my opinion, is not one of them. |
I think this could work if this is implemented in the way YouTube does it (for example), where the stop and play video buttons are in the same location, but they just animate/morph them accordingly. In this case, if the play and stop game buttons just switch places (instantly) and they're in the same location, then it could work. However, this shouldn't be a default. A tick like "Hide inactive buttons" would have to be implemented because many are used to the current workflow. |
I personally would like to see all these UI elements have their visibility toggleable in the settings and tool scripting. I know this is the case for some things like the 'Script' and '3D' buttons, but why stop there. This will allow people to do whatever they want, which is especially useful, when extending the editor itself. I am currently working on a project, where I never run the application outside the editor. This might be better as a different proposal though. |
I can agree to hiding the pause/stop buttons when the project is playing, but hiding UI from the user by default is a slippery slope. Imo by default you want to disable and tooltip content thats currently inactive so the user knows its there and knows why its disabled, and then we can opt into hiding inactive content in the editor settings somewhere if we really want to. You want to look at this as someone whos completely new to your application, sure you know what you need to do to get those inactive buttons to show and use them, but does a new person even know that content is there? Tl;dr: Not a bad idea, but make it opt in, not the default |
In my opinion hiding UI elements on dynamic changes like "running/not running" instead of disabling them is not good UI design, it breaks muscle memory and workflow by moving elements around constantly Also, the problem if the running game crashes as you are about to stop the running game, in that case you will start it again instead, this would absolutely be possible in a case where the game locks up, and you go to stop it, but it crashes as it is locked up when what ever was locking it up finally runs out of memory etc. |
I like this, but clearly from the responses it should be optional if done. I think it should be on by default, though. To me this makes more sense than how it's currently done and leaving it as-is is only good for not breaking existing dev muscle memory.
This problem seems easily fixed by a brief pause after the project exits where the buttons are locked. |
That's not the point, moving the buttons around is what harms muscle memory, not just the people used to it, the fact that the button moves based on what's going on does that
This is even worse, now you run the risk of the "Netflix Skip" frustration (i.e. where Netflix pops up the "skip intro" button below where you pause, just a short moment after starting the video), now you end up clicking wrong because you miss the time window instead |
While I generally agree that button changes are bad for muscle memory, running the game is something I'd consider a "major state change" that would take a second or two to execute anyways. |
Major state change here would be a change to the editor or the settings, running the game isn't a major change, nothing in the editor changes |
Is it controversial to say at the very least the remote debug button should be hidden if you don't even have |
The remote debug button serves as a method of enabling the functionality. It has a purpose. If you never want to use it, Editor Feature Profiles would be the way to remove it. |
Describe the project you are working on
Anything in Godot editor
Describe the problem or limitation you are having in your project
The top panel with buttons to run the project looks busy:
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It can easily be decluttered if we don't show inactive buttons
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
This is when the project is not running:
This is when the project is running:
Pause and stop buttons can't do anything if the project is not running. Running current/specific scene while the project is already running is technically possible, but I'm not sure if anybody ever pressed those buttons without stopping first. The remote debug button is only active if remote debug is configured, it's kind of an advanced feature and you probably don't need to see an icon for that unless it's enabled in your project
This is a low-hanging fruit to declutter the UI because that's how people usually expect controls like these to work anyway, so there's no need to show them in their inactive state:
Less buttons will make the editor less overwhelming to newcomers and easier on the eyes for existing users
If this enhancement will not be used often, can it be worked around with a few lines of script?
N/A
Is there a reason why this should be core and not an add-on in the asset library?
N/A
The text was updated successfully, but these errors were encountered: