godot icon indicating copy to clipboard operation
godot copied to clipboard

Modal Dialogs Should not have Minimize Functionality

Open jtwine opened this issue 2 years ago • 2 comments

Godot version

v4.1.1.stable.official [bd6af8e0e]

System information

Godot v4.1.1.stable - Windows 10.0.22621 - Vulkan (Compatibility) - NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.14.7311) - Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 Threads)

Issue description

(This is similar to https://github.com/godotengine/godot/issues/62668) Modal dialogs block users from getting to their parent windows (whatever is "behind" the modal dialog). However, in Godot, If a user Minimizes a modal dialog, they are left looking at an interface that appears to be broken. For example, doing this while the editor is active will leave the user looking at a blinking caret that seems to ignore all keyboard input.

Pressing anything that would activate the default Cancel command (<ESC>) or something that should trigger the default button (<ENTER>) does nothing.

You can get the dialog to restore by Minimizing and Restoring Godot's main window, e.g. clicking on Godot's taskbar button to minimize and restore it, but if a user's taskbar is hidden by default, it might take them some time to figure things out. You can also click [Minimize] on Godot's main window, but a parent window should be disabled, even its caption buttons, when a child modal dialog is visible (that is another small bug).

This behavior (allowing Minimize actions on a secondary modal dialog) is also counter to most other Windows apps out there.

The Minimize function should be removed from any secondary modal dialogs.

Steps to reproduce

With a project loaded, select any destructive operation that will cause a confirmation dialog to appear, and activate the Minimize functionality from either the Window Menu (by clicking the Godot icon in corner of the dialog) or pressing [Minimize] on the dialog's caption bar. You will then see the effect described above.

For example, load a project, open the script editor, and click into it so that the caret is visible and blinking. Select a Node in the tree and press <DELETE>. Note that while the confirmation dialog is visible, the caret in the editor is hidden. Now Minimize the confirmation dialog. Note that the caret becomes visible again and it looks like you are interacting with a normal, enabled interface, but nothing will work.

Minimize and Restore the Godot main window and the confirmation dialog becomes visible again.

Minimal reproduction project

N/A

jtwine avatar Aug 05 '23 20:08 jtwine

Isn't this essentially the same as #62668 ?

#62668 solution:

The minus (the minimize icon) should be not clickable.

The solution to this issue:

The Minimize function should be removed from any secondary modal dialogs.

But the issue is essentially the same.

Your issue seems better documented though

its-blue avatar Sep 29 '24 17:09 its-blue

Isn't this essentially the same as #62668 ?

Almost. Your issue mentions "Pop-ups" but the problem is only with modal windows. Non-modal windows will not cause the issue, and minimizing non-modal windows is expected and normal user behavior.

Peace!

jtwine avatar Oct 02 '24 14:10 jtwine