Skip to main content

Take screenshots on macOS

Project description

# 📸 screenshot: Better macOS screenshots via the Terminal

`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.

Using `screenshot`, you can capture windows belonging to an application, or only an application's windows with certain titles.

## Justification and Use Case
The macOS `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 `screencapture`.
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.

## Example
Take a screenshot of the current Terminal window and view it with Preview.app:
```bash
open "`screenshot Terminal`"
```

Take a screenshot of the Pycharm application with the *window title* containing "screenshot":
```bash
screenshot Pycharm -t screenshot
```


## Installation
You will need Python 3.6+. Please install it with `brew` or `ports` if you do not have it already.

### PyPI
```bash
pip3 install screenshot
```

### Github Source
Grab the source, run the following in the source dir:
```bash
pip3 install -r requirements.txt
```

then run
```bash
python3 setup.py install
```

## Usage
`screenshot --help`

```
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
See `LICENSE`


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

screenshot-1.0.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

screenshot-1.0.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file screenshot-1.0.0.tar.gz.

File metadata

  • Download URL: screenshot-1.0.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.13.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for screenshot-1.0.0.tar.gz
Algorithm Hash digest
SHA256 14b1a22f24647ae53684754f19bd374567e0d71377ddad9d13023b6deda4d501
MD5 d12621ec89144e4087be6529dcbb12f1
BLAKE2b-256 34906f5286b2bb3657176a80706b340627dff1f2139bdbebebf9d5b01de86940

See more details on using hashes here.

File details

Details for the file screenshot-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: screenshot-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.13.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for screenshot-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08fce3e2dc07ebdbfeb61aa34baf44267f64229e2f145733321182c3565dc5c9
MD5 0937af65391f8c26927135c03ae32cb9
BLAKE2b-256 1013755aa410267361f40cef938668b48ab443a5ffc0860f0ed293b498f5952e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page