egui_dock icon indicating copy to clipboard operation
egui_dock copied to clipboard

Different design: more compact windows and collapsing/closing control on each tab bar

Open micfong-z opened this issue 9 months ago • 1 comments

Currently, detached windows have a window header for collapsing header and close button, which takes quite a lot of space above each window. The flexibility of splits are also limited as I could not collapse nodes (technically Leafs) individually.

I'd like to suggest a different design of window/node controls as shown in the screen recording below. (Pull request #237)

https://github.com/Adanos020/egui_dock/assets/68492819/9920af40-6ac9-4be1-a028-61512dc42cf0

This design is more similar to ImGui's approach. (No worries, this design works with the add tab button as well, see #237 for a sample implementation)


Here are some advantages I could come up with this design:

  • More flexibility with collapsing docked Leafs, including those in the main surface.
  • More compact windows.
  • Clearer display of what tabs are included in a collapsed window.
  • Closing all tabs on a node is sometimes more useful than closing an entire surface.
  • Potential for further functionality (e.g. detaching a window with all tabs in a Leaf by dragging out the Leaf from the collapsing button, similar to that in ImGui).

Significant drawbacks:

  • More space taken for fully collapsed windows.
  • No more buttons for collapsing or closing an entire detached window. (A workaround is to put those two buttons to the right-click context menu of the corresponding buttons in all tab bars)
  • May sacrifice a little bit of performance (not tested yet).

I'd like to hear some opinions (criticism?) before moving on in #237.

micfong-z avatar May 13 '24 15:05 micfong-z