screenshot is a command line utility that lets you specify an application name and window title in order to take a screenshot of a specific window.
screenshot, you can capture windows belonging to an application, or only an application's windows with certain titles.
screencapture utility is not developer friendly.
To programmatically take a screenshot of an application, or a specific window, you must supply a window ID to
In order to find a window's window ID, you'll need call out to Quartz.
In newer versions of macOS, the
screencapture utility improves the user experience slightly: you can run the command and then click on the window you'd like to capture.
However, that necessitates that the user clicks a window each time. You cannot include this as part of an automated pipeline.
To that end, I use this utility to automatically generate screenshots of web, mobile and desktop applications.
Take a screenshot of the current Terminal window and view it with Preview.app:
open "`screenshot Terminal`"
Take a screenshot of the Pycharm application with the window title containing "screenshot":
screenshot Pycharm -t screenshot
You will need Python 3.6+. Please install it with
ports if you do not have it already.
pip3 install screenshot
Grab the source, run the following in the source dir:
pip3 install -r requirements.txt
python3 setup.py install
Usage: screenshot [OPTIONS] APPLICATION_NAME Options: -w, --window_selection_options TEXT Options: all_windows, on_screen_only, above_window, below_window, include_window, exclude_desktop Default: exclude_desktop on_screen_only -t, --title TEXT Title of window from APPLICATION_NAME to capture. -f, --filename TEXT Filename to save the captured PNG as. -a, --all_windows Capture all windows matching parameters. -o, --output TEXT Image format to create, default is png (other options include pdf, jpg, tiff) -s, --shadow Capture the shadow of the window. --help Show this message and exit.
LICENSE. Message me if you'd like to use this project with a different license.