Skip to main content

OpenSesame Plugin: Screenshot

An OpenSesame plugin for saving screenshots of stimuli and other screens within an experiment.

Copyright (C) 2024-2026 Bob Rosbag

About

This plugin saves screenshots of stimuli and other screens within an experiment.

The screenshots are saved in the folder of the log file, in a subfolder per capture method and subject, for example screenshots_stim_psycho/subject-1/filename.png.

This plugin has the following options:

  • Verbose mode: print the path of each saved screenshot.
  • Stimulus display (PsychoPy): capture the PsychoPy window, saved in screenshots_stim_psycho. Only available with the PsychoPy backend.
  • Stimulus display (PIL): capture the first monitor with PIL, saved in screenshots_stim_pil.
  • Composite of all displays (PIL): capture all monitors with PIL, saved in screenshots_full_pil.
  • Filename: the filename with extension; the extension determines the picture format (.png, .jpg, etc.). Variables can be used, e.g. trial_[count_trial_sequence].png. The filename can't contain a folder.

Known issues

Which capture method works depends on the operating system and the display server. Check the screenshots of a test run before you rely on them.

System Stimulus display (PsychoPy) Stimulus display and composite (PIL)
Linux, X11 works (see below for the first screenshot) works
Linux, Wayland black images works
Windows works shows the desktop behind a fullscreen experiment, not the stimulus
  • Linux, X11, PsychoPy: the first screenshot of the experiment can be corrupt (dark, with a diagonal line). The plugin prevents this by reading the screen once when the first screenshot item is prepared, before the stimulus is shown. This doesn't help when the first screenshot item is prepared after its stimulus was shown, e.g. a screenshot item in a loop that directly follows the stimulus. Workaround: put a screenshot item with its own filename (e.g. dummy.png) at the start of the experiment, outside the trials, and ignore its screenshot.
  • Linux, Wayland, PsychoPy: all screenshots are black. Workaround: use the PIL options, or log in to an X11 session (e.g. "Ubuntu on Xorg").
  • Windows, PIL: the screenshots show the desktop behind the fullscreen experiment window. Workaround: use the PsychoPy option.
  • Without a graphics card (e.g. a virtual X server such as Xvfb, which uses Mesa's software renderer), PsychoPy screenshots are black too.

Installation

Install the plugin with pip, in the Python environment of OpenSesame:

pip install opensesame-plugin-screenshot

License

This plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version (GPL-3.0-or-later).

The full license text is in the file COPYING, and is also available at https://www.gnu.org/licenses/gpl-3.0.html.

This plugin contains works of others. Icons are derivatives of the Faenza icon theme.

Documentation

Installation instructions and documentation on OpenSesame are available on the documentation website:

Metadata

Release files for opensesame-plugin-screenshot 0.8.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opensesame-plugin-screenshot 0.8.3
File Size Uploaded Provenance Actions
opensesame_plugin_screenshot-0.8.3.tar.gz 20.4 kB Without provenance Details for opensesame_plugin_screenshot-0.8.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for opensesame-plugin-screenshot 0.8.3
File Interpreter ABI Platform Actions
opensesame_plugin_screenshot-0.8.3-py3-none-any.whl Python 3 none any Details for opensesame_plugin_screenshot-0.8.3-py3-none-any.whl

Total release size: 43.0 kB

Release files / opensesame_plugin_screenshot-0.8.3.tar.gz

Download URL opensesame_plugin_screenshot-0.8.3.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
418ff5578b14fac73858ba76e3e8d338e771e055b83375c709729f38365b34d8
BLAKE2b-256 checksum
How to use checksums
3e8a6fca4123aa44ba81995cd80fe7cc0b50f68430ccbaf1732ea3a3e10ed7af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / opensesame_plugin_screenshot-0.8.3-py3-none-any.whl

Download URL opensesame_plugin_screenshot-0.8.3-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89b5353740e6ff62ef452ce8d2de3048f34a301a3bc8666933ca9bb61a09df16
BLAKE2b-256 checksum
How to use checksums
f82571056526a4ff0fc2d6827facc339dd3551fd930e4d2b54d449777d6b3f88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Security for opensesame-plugin-screenshot 0.8.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page