Apple bug report: Screenshot controls on Touch Bar override shortcut behavior

The following is a bug report I’ve filed with Apple. Their bug database is not public, so I’ve also submitted it to Open Radar and re-posting it here for future reference.

Update 2017-11-10: the bug report was closed with “behaves as intended”. Fair enough, though I was certainly confused by this intended behavior.

Product: macOS → Preferences
Classification: Bug
Bug Type: UI/Usability
Reproducibility: Always
Links: rdar://35388466

Summary

Assume the option “Touch Bar shows: App Controls with Control Strip” is set in Preferences → Keyboard.

When the user invokes the system-wide shortcut to save a screenshot of a selected area to a file (default: shift-cmd-4), then additional screenshot controls are displayed on the Touch Bar.

These settings are persisted and used as presets for the next invocation. This effectively overrides the default behavior of the system-wide screenshot shortcuts.

It is particularly confusing when an option other than “Touch Bar shows: App Controls with Control Strip” is selected, such as Expanded Control Strip or App Controls. Then the screenshot controls in the Touch Bar won’t display at all, but the last-used settings are still in effect, without any feedback to the user.

For example, if the user chose (using the Touch Bar) to copy the screenshot to the clipboard instead of saving to a file, then all the system-wide screenshot shortcuts will copy to clipboard—even for those shortcuts that should explicitly save to file (e.g. shift-cmd-4). Same applies to other screenshot settings selected on the Touch Bar (e.g. whether to capture a selected area or a window, which application to open the screenshot in, etc).

The only way I have found to restore the default macOS shortcut behavior is to select the option “Touch Bar shows: App Controls with Control Strip” and set the screenshot controls to “Selected Portion” and “Save to Desktop”. Then revert to the preferred option for “Touch Bar shows: …“.

Steps to Reproduce

  1. Execute the following in the terminal to set the screenshot storage location to the Desktop:

    > defaults write com.apple.screencapture location ~/Desktop
    > killall SystemUIServer
    
  2. Disable applications managing screenshots, such as Dropbox.

  3. Restore defaults in Preferences → Keyboard → Shortcuts → Screen Shots and enable all shortcuts.

  4. Press shift-cmd-4 to invoke the “Save picture of selected area as a file” shortcut and take a screenshot of any part of the screen.

  5. Verify that the screenshot was saved on the Desktop.

  6. Select “Touch Bar shows: App Controls with Control Strip” in Preferences → Keyboard.

  7. Press shift-cmd-4 to invoke the “Save picture of selected area as a file” shortcut (do not select an area of the screen yet).

  8. Select “Selected Portion” and “Save to Clipboard” in the screenshot controls on the Touch Bar.

  9. Take a screenshot of any part of the screen.

  10. Verify that the screenshot was indeed copied to the clipboard by pasting in a Rich Text document in TextEdit.

  11. Select “Touch Bar shows: Expanded Control Strip” in Preferences → Keyboard.

  12. Press shift-cmd-4 to invoke the “Save picture of selected area as a file” shortcut, verify that there is no feedback on the Touch Bar and take a screenshot of any part of the screen.

  13. Verify that no screenshot file was saved on the Desktop.

  14. Verify that the screenshot was copied to the clipboard by pasting in a Rich Text document in TextEdit.

Expected Results

The last screenshot should be saved to the Desktop (same behavior as the first shortcut). No options were presented to the user, hence the default behavior applies.

Actual Results

The last screenshot was copied to the clipboard (as set in the Touch Bar screenshot controls for the previous screenshot).

Version/Build

  • MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
  • macOS Sierra 10.12.6
    • latest update for Sierra as of time of this writing (2017-11-07)

Configuration

No specific configuration.


More posts here.

Comments