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

Allow moving the editor's bottom panel to the right #36040

Closed

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Feb 9, 2020

master version of #53643.

This lets people make better use of their display if it's wide enough.

There's a shortcut to toggle the bottom panel's position: Shift + F10. Let me know if another combination would be more appropriate.

This is a WIP and needs some changes before it can be merged:

  • Disallow moving the bottom panel to the right side if the editor window isn't wide enough. In my experience, this feature is only usable if the window is at least 1800 pixels wide. In practice, this means you need a 1920×1080 monitor at least. Ultrawide monitors are a particularly good fit for this feature.
  • Figure out what to do when no subpanel is displayed while the panel is on the right. Right now, the panel can still be resized but it just wastes space. Should we forbid closing a subpanel while the panel is moved to the right?
  • Collapse the splitter to make it non-draggable when moving the bottom panel back to the bottom while it's collapsed.
    • This can also be solved by not allowing the user to close a subpanel while the panel is moved to the right (see above).
  • Save the setting and make it persist across editor restarts.
  • Change the button's tooltip after moving the bottom panel to the right.
    • Renamed the tooltip to "Toggle Bottom Panel Position" to make it more logical in the editor shortcuts dialog.
  • Use an icon that better represents moving the panel? Right now, I just use a generic arrow icon.

We could also investigate making the panel movable to the left, but I think this is better left for a future pull request.

This partially addresses #26229 (and probably a few other issues I can't find right now).

Preview

Screenshot_20230327_175722 webp

@Calinou Calinou force-pushed the editor-bottom-panel-move-to-right branch from 95e42d7 to 29b6222 Compare February 9, 2020 13:59
@Calinou Calinou added this to the 4.0 milestone Mar 12, 2020
@Calinou
Copy link
Member Author

Calinou commented Jan 15, 2021

Update: reduz would prefer not to modify SplitContainer for internal usage like I'm currently doing. Instead, he said using a GridContainer node would be preferable. Unfortunately, I haven't gotten a SplitContainer -> GridContainer replacement to work for the main editor viewport. Also, if we go for the GridContainer route, we'll have to implement split dragging functionality into it, which sounds difficult to do right.

Therefore, I'm not sure what to do about this at this point. The only other alternative I see would be to remove the VSplitContainer for an HSplitContainer on user demand, but doing so requires manipulating the scene tree a fair bit in C++ (on top of handling signal reconnections).

Edit: Modifying SplitContainer for internal usage is no longer required for the 4.x version of this PR thanks to #64724 🙂

@Calinou
Copy link
Member Author

Calinou commented Apr 6, 2021

Rebased and tested on the current master branch, it works successfully. The original patch that you can apply to the 3.x branch can be found in the first post.

Edit (October 2021): Rebased and tested again:

image

@Geometror
Copy link
Member

Do you think godotengine/godot-proposals#3558 (comment) could be a viable solution for allowing dynamic orientation switching for containers?

@neikeq
Copy link
Contributor

neikeq commented May 19, 2022

I'm not a fan of this. It defeats the purpose of the bottom panel, which is useful for panels whose visibility can be quickly toggled. The problem with the bottom panel is that it's being used for things that don't work well there. IMO it would be better to turn these panels into docks, which are hidden when not required.
A much more radical change would be having something like Blender's workspaces, to quickly switch views.

@Calinou
Copy link
Member Author

Calinou commented May 20, 2022

Do you think godotengine/godot-proposals#3558 (comment) could be a viable solution for allowing dynamic orientation switching for containers?

Yes, definitely. I'm in favor of that proposal 🙂

@Zireael07
Copy link
Contributor

that it's being used for things that don't work well there

Which things are those, out of curiosity?

@neikeq
Copy link
Contributor

neikeq commented May 21, 2022

that it's being used for things that don't work well there

Which things are those, out of curiosity?

The two examples that come to my mind right now are Shader and Texture Region. My main problem with those two being in the bottom panel is that I need to resize the panel every time because I need more vertical space.

IMO something like Texture Region should be a floating dock that's displayed when clicking a button in the inspector (I think this would also improve discoverability).

@reduz reduz modified the milestones: 4.0, 4.1 Jul 28, 2022
@mhilbrunner mhilbrunner modified the milestones: 4.0, 4.x Aug 18, 2022
@Calinou
Copy link
Member Author

Calinou commented Mar 27, 2023

Rebased and tested again, it works as expected.

@Calinou Calinou force-pushed the editor-bottom-panel-move-to-right branch from 0e437a7 to abfb742 Compare March 27, 2023 16:00
@MewPurPur
Copy link
Contributor

An optimized and grid-aligned SVG in case this PR makes the light of the day :)

<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 12 8 15v-2h5v-2H8V9zm0-8L8 7V5h5V3H8V1zM1 15V1h2v14z" fill="#e0e0e0"/></svg>

This lets people make better use of their display if it's wide enough.

Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
@Calinou
Copy link
Member Author

Calinou commented Jul 3, 2024

@Calinou Calinou closed this Jul 3, 2024
@Calinou Calinou removed this from the 4.x milestone Jul 3, 2024
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.

7 participants