microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
94.95k stars 8.22k forks source link

Windows Terminal Alt+F4 behaviour #17613

Open ChGen opened 1 month ago

ChGen commented 1 month ago

Windows Terminal version

1.20.11781.0

Windows build number

10.0.22631.3880

Other Software

Also reproducible in: Windows Terminal Preview Version: 1.21.1772.0

Steps to reproduce

  1. Start Windows Terminal.
  2. Open Settings -> Interaction -> Warn when closing more than one tab -> On -> Save.
  3. Close Settings tab and open any second terminal tab.
  4. Try to close terminal window with the X button in the upper right corner. It will ask for confirmation.
  5. Try to close terminal window with Alt+F4 shortcut. It will close window without confirmation.
  6. When Settings tab is active, it sometimes asks for confilmation when I press Alt+F4, but mostly not.

Expected Behavior

Windows Terminal should ask for confirmation when closing window in any way: titlebar button, Alt+F4, Alt+Space menu, Taskbar menu, etc.

Actual Behavior

Pressing Alt+F4 shortcut will close Window Terminal window without confirmation, but pressing title bar 'close' button shows confirmation according to "Settings -> Interaction -> Warn when closing more than one tab" configuration.

j4james commented 1 month ago

I think this may be a known problem, because there are a few open issues related to the close confirmation that could potentially cover this scenario. Possibly #2976 or #6549.

ChGen commented 1 month ago

Indeed, looks like those are similar, but I think this case is quite straightforward and could be fixed directly, without discussion of complex logic and consequences. Actually, Alt+F4 seems to be the only unhandled way of closing the window. Alt+Space menu, taskbar menu and close button all show confirmations correctly.

codenotworking commented 4 weeks ago

So this was fixed a long time ago (see #2526), but it creeped up again?

I did a work-around by reassigning alt+f4 to quit:

{ "command": "quit", "keys": "alt+f4" }

quit shows a confirmation dialog asking to close the window, regardless if confirmCloseAllTabs setting is explicitly set to false or not present.

ChGen commented 4 weeks ago

@codenotworking , thanks, with this workaround it indeed asks confirmation, but it's for the whole app now. Still, its better than nothing. Feels safer with confirmation :)

ClaireCJS commented 1 week ago

Can't wait for this to be added.

When you have 4 tabs open, and some of the tabs have 6 carefully arranged panes, some monitoring active processes

And you have 4 screens, so you think your Alt-F4 is going to the app under your mouse pointer, but you haven't actually clicked it yet...

...BAM! LOST ALL THAT WORK! OMG

Can't wait for this to be fixed :)