Background
D7714 sparked a discussion about the wording and handling of the confirmation dialog shown when closing applications with multiple tabs still open, and its consistent use within KDE. Pain points where the use of a warning icon, ambiguous checkbox wording, inconsistent warning messages, HIG violation of button wording and a redundant middle button. It was concluded to model a better dialog after the dialog Firefox uses.
Suggested wording
(as concluded in D7714#145582, comment below if you have improvements)
- Window title: "Confirm Close — <app name>"
- Icon: question mark
- Message: "You are about to close a window with <n> tabs. Are you sure you want to continue?"
- Checkbox: "Warn me when I attempt to close a window with multiple tabs" (should be aligned horizontally below text like in Firefox)
- Buttons: "Close Window" and "Cancel"
Remarks
- I guess Firefox chose "Close tabs", because the dialog is also used for protecting the "Close other tabs" function. I prefer "Close Window", as in the end there is no empty shell with 0 tabs left.
- "Close" instead of "Quit", because the action closes only one window and does not actually also quit all other windows
- Only two buttons, because "Close tab" should normally be triggered by other means
- "Do not ask again" does not make sense for "Cancel" (see also bug 202106
Open Questions
- Which button should be made default? Needs balancing between primary use cases and destructiveness of the action.
Screenshots
Firefox (slightly different wording)
Okular (proposal for patch that sparked the discussion)
Konsole and Dolphin (current implementation)
Action Items
Outreach
- review by VDG / UX experts (partially done in D7714#145298)
- buy-in from other application developers (suspended for now, because of D7714#146282)
Decide on implementation
- (1) custom KMessageBox::createKMessageBox (example: Dolphin) → no changes in KMessageBox and no KF5 version bump needed, but code is uglier
- (2) standard KMessageBox::questionYesNo (example: Konsole) → needs support for custom "Do not ask again" message in KMessageBox, but code is nicer (custom message could even be added later)
Bugfixes/Features
(optional, i.e. non-blocking)
- custom "Do not ask again" message in KMessageBox (if using (2))
- D7859: KMessageBox: Use question mark icon for question dialogs (if using (2))
- D7828: fix createKMessageBox focus widget inconsistency (if using (1))
- align checkbox horizontally below text like in Firefox
- provide GUI to reset confirmation status in Okular (see examples in Dolphin's and Konsole's settings)
- [add more]
Porting
(independent, i.e. non-blocking)
- Okular: D7714 (not yet ported to new dialog)
- Konsole
- Dolphin
- Yakuake (feature broken?)
- More?