6

Cmd ⌘ Shift ⇧ 4 + Space behaves unexpectedly. For example, when I right-click on Chrome, the captured window does not include the right-click UI.

What exactly determines a unit in Cmd ⌘ Shift ⇧ 4 + Space ?

How exactly does Cmd ⌘ Shift ⇧ 4 + Space work?


(Mac v10.12.5 here, though focused on generality.)

7

WindowServer

The unit being captured is a layer or window as determined by macOS's WindowServer process.

As a developer, this is accessed through CoreGraphic's CGWindowListCreateImage method:

CGImageRef CGWindowListCreateImage(CGRect screenBounds, CGWindowListOption listOption, CGWindowID windowID, CGWindowImageOption imageOption);

This call returns a composite image based on a dynamically generated list of windows.

Screen Captures with Layers

Tools like Acorn, ScreenShot PSD, and Ondesoft ScreenCapture can take screenshots capturing all the individual layers or windows. The resulting capture retains the layering, allowing you to select, hide, or edit windows as desired.

  • Wow you mean the resulting capture can allow you to generate a png of any of all combinations of the layers? Internally does Mac OS uses the same functions as these 3rdparty tools? – Pacerier Dec 1 '17 at 9:13
  • Yes, I use Acorn to capture everything and edit afterwards; you can even move windows around. – Graham Miln Dec 1 '17 at 9:14
  • I see it doesn't work for canvas eg Gmail rightclick. Is there any way to "connect" them together? – Pacerier Dec 1 '17 at 9:15
  • Web views are not windows, so macOS does not "see" them. That becomes the responsibility of the browser. Consider asking a new question explaining what you want to achieve and hopefully someone will know a tool or approach that works for web content. – Graham Miln Dec 1 '17 at 9:17
  • For web pages, maybe PageLayers does what you want? – Graham Miln Dec 1 '17 at 9:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .