GafferHQ / gaffer

Gaffer is a node-based application for lookdev, lighting and automation
http://www.gafferhq.org
BSD 3-Clause "New" or "Revised" License
931 stars 206 forks source link

Window options for floating panes: floating panes should be a part of the main Gaffer window. #4197

Open MattKiefer-vfx opened 3 years ago

MattKiefer-vfx commented 3 years ago

Summary

Requesting a config option for floating panes to combine with the main Gaffer window:
To not show up in the taskbar as a separate window, to minimize / restore along with the main windows, to not constantly "notify" Linux about popped out window panes, and to stack properly with popped-out Node Editors.

What

Currently if you make a floating pane by tearing a tab off from an existing pane it shows up as a separate window entirely, and does not follow the main Gaffer window when it minimizes or is moved to another virtual desktop. Floating panes will also go in front of popped-out Node Editors when clicked on.

Also Linux desktop managers (GNOME 2) think that this window is "notifying" that the window has a message or is ready for user input so it frequently shows up highlighted in the taskbar for no reason.

Why

I like to have fullscreen tools in my second screen (Graph Editor, Animation Editor, Node Editor for nodes with lots of controls) and the best way to make use of screen real-estate is to have a pane on that monitor so I can put large tools into tabs. Basically I want to treat my second screen just like an extension of the 'primary' Gaffer window.

Feature proposal

With this proposed option enabled (assuming that people would want to keep the current pane behavior as an option.):

Example scenario(s)

Current versions of Nuke: panes that are pulled off the primary window to become floating remain attached to the primary window, cannot be minimized separately. (Altho Nuke also has the problem with the main window going in front of popped-out Node Editors, and apparently no way to fix that in the current version.)

ewalters commented 5 months ago

Bumping this issue, as it can cause disorientation when trying to multi-task across several open sessions.

johnhaddon commented 5 months ago

I've taken a stab at this in #5663. There will be test builds available for testing shortly, available at the artifacts links at https://github.com/GafferHQ/gaffer/actions/runs/7829000775. I don't use GNOME 2 and don't have a task bar, so it would be good to confirm that this does the job for those who do. For me, it removes the minimise buttons from the detached panel (it follows the main panel instead), so I'm hopeful that it will also sort out the task bar. I don't believe it will sort out the detached-panel-on-top-of-popped-out-node-editor problem though - it doesn't here.

MattKiefer-vfx commented 5 months ago

Thanks for the update, John!

This version makes the separated window follow the main window when minimized and moving to another virtual-desktop, which is great.

It still seems that the Linux Mate desktop thinks there's some reason to flag secondary windows as "notifying", or whatever. I'll resume looking into this on our end.

And yes, no change to the detached-panel-on-top-of-popped-out-node-editor problem to my experience either.

johnhaddon commented 5 months ago

This version makes the separated window follow the main window when minimized and moving to another virtual-desktop, which is great.

Cool. Do you think that improvement alone makes this worth rolling out even if we can't fix the rest?

It still seems that the Linux Mate desktop thinks there's some reason to flag secondary windows as "notifying", or whatever.

Have you got a screenshot or something for this? I'll need to figure out what this means from the Qt perspective and stop it happening somehow.

And yes, no change to the detached-panel-on-top-of-popped-out-node-editor problem to my experience either.

Yeah, I kindof expected that really. Both of those window types are parented to the main window, so they are siblings of each other really - there's nothing to sat that one belongs on top. I think there might be a separate always-on-top flag that we could try though.

MattKiefer-vfx commented 5 months ago

Here's a screenshot of what the taskbar notification looks like, and the Gaffer situation that caused it. I have one Graph Viewer torn off and floating on the same screen as the main window. The first screenshot of the taskbar is taken from a different virtual desktop from the one where the Gaffer session is on.

It does seem like it's less prone to having this notification come up with this windowParenting version of gaffer. Or maybe I'm not doing the right thing to trigger it. At the very least this seems worth rolling out just for the fact that the windows stick together when moved to a different desktop or minimized. That's a nice add

Screenshot 2024-02-12 115729 Screenshot 2024-02-12 174355