godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Add Pin Option in Theme Editor Tab #7932

Open SparkT06 opened 1 year ago

SparkT06 commented 1 year ago

Describe the project you are working on

Description:

I am currently developing a game using the Godot engine and frequently need to access the theme editor. However, I find it inconvenient to have to click on the theme resource repeatedly. Unlike the animation tab, there is no option to pin the theme editor tab, which would allow for easier and more efficient access.

Describe the problem or limitation you are having in your project

it inconvenient to have to click on the theme resource repeatedly. Unlike the animation tab, there is no option to pin the theme editor tab, which would allow for easier and more efficient access.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Proposal:

I propose the introduction of a pinning option in the theme editor tab, similar to the one available in the animation tab. This would allow developers to keep the theme editor tab open and easily accessible, reducing the need for repeated navigation to the theme resource. Benefits:

Improved Workflow: The pinning option would streamline the development workflow by reducing the number of clicks required to access the theme editor. Increased Efficiency: Developers would be able to work more efficiently by having instant access to the theme editor. Better User Experience: The overall user experience of the Godot engine would be enhanced by making it more user-friendly and intuitive.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

image image

If this enhancement will not be used often, can it be worked around with a few lines of script?

implement the same pin option in Animation Editor tab to Theme editor tab

Is there a reason why this should be core and not an add-on in the asset library?

it should be core as its is included in the editor

KoBeWi commented 1 year ago

The theme editor tends to hide more than it should and this is a bug, see https://github.com/godotengine/godot/issues/72271 It's going to be fixed soon.

Calinou commented 8 months ago

Is this still needed now that https://github.com/godotengine/godot/issues/72271 was fixed?

KoBeWi commented 8 months ago

The Theme Editor is "pinned" by default when editing a file and you need to close it manually, so this is resolved.

Wartificer commented 7 months ago

This is still happening to me in Godot v4.2.1 [b09f793f5] As soon as I click a node, the Theme editor closes and I have to search the theme resource and open it up again.

KoBeWi commented 7 months ago

Theme editor is contextual. If you click unrelated Node (that doesn't contain the theme), it will be closed. What are you trying to do and why closing in this situation is unexpected?

btw you don't need to search for theme when you lose it, you can use the button for editing previous object: image

Wartificer commented 7 months ago

Theme editor is contextual. If you click unrelated Node (that doesn't contain the theme), it will be closed. What are you trying to do and why closing in this situation is unexpected?

btw you don't need to search for theme when you lose it, you can use the button for editing previous object: image

When I work with Themes what I do is create a Theme or two, then I assign them on the highest Node possible. Then on subnodes or subscenes what I do is use Type Variations. I have to write the Type Variation on each special node for example, a button that is red I set it to 'ButtonFail' type variation. So whenever I click on a node like this and set the variation, the Theme Editor goes away completely, and usually whenever I'm setting UI nodes I also have to make changes in the Theme so this is extremely annoying. I don't see why this menu needs to close considering others like Audio, Animation and Shader Editor that also use resources are there 100% of the time and are just tabs I can click (Which is what I want for the theme editor)

Wartificer commented 7 months ago

image In any case we should get something like this

KoBeWi commented 7 months ago

don't see why this menu needs to close considering others like Audio, Animation and Shader Editor that also use resources are there 100% of the time and are just tabs I can click

Audio and Shader Editor allow creating/loading resources, so you can edit something from within the editor. Animation is persistent, because you need to click different nodes to use it (but technically it can work like Theme editor now).

Wartificer commented 7 months ago

What I'm saying is still an issue though. The Theme Editor has no way of knowing if a node is affected by themes or not and just closes whenever you click any node. I need to have the theme editor open so I can see the list of variation type names to assign on nodes and/or make changes to the variation type after assigning it. It comes down to convenience, even if it would be "correct" for the menu to close itself (which I think it's not) it still is just annoying to have to double click a resource or go to history every time after clicking a node.

Jowan-Spooner commented 4 months ago

Theme type variations are a really great and powerful addition to the theming workflow, unfortunately they are really annoying to work with because of this. I'm mainly working on very UI heavy projects like applications, plugins, etc. and the workflow usually is:

If at any point you switch to a different scene, select a different node, just to check (e.g. what variation is set on another node):

I would understand this if another editor opened (like if I select an AnimationPlayer, but this happens all the time and is SUPER annoying.

I guess the closing behaviour feels a little bit correct when opening a theme from the inspector, but not at all when opening it from the file system dock. That just feels really bad. Pinning would probably be a nice way to solve this.

I'm using 4.3 beta 2.

KoBeWi commented 4 months ago

If you set the Theme as project's default, the theme variations will be selectable from a dropdown list.

Jowan-Spooner commented 4 months ago

True, though that doesn't fix having to reopen the theme editor every other moment during styling.

lexusinator commented 1 month ago

It's true, while working with themes, you often have to move around in your project quite a lot, check that the theme plays well with your user interface elements, do adjustments, copy values, textures, style boxes around, etc... And using a theme for the whole project is the easiest way to ensure consistency. But it's annoying when the editor closes every time you switch contexts. So it would be great if the Theme editor would stay open, especially when using a default Theme.

KoBeWi commented 1 month ago

After https://github.com/godotengine/godot/pull/97543, the Theme editor persists until you Close it. You can test in in 4.4 dev3.