How to use screenshot-desktop - 7 common examples

To help you get started, we’ve selected a few screenshot-desktop examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
function readAndUnlinkP(p) {
  return new Promise((resolve, reject) => {
    readFileP(p)
      .then((img) => {
        unlinkP(p)
          .then(() => resolve(img))
          .catch(reject);
      })
      .catch(reject);
  });
}


if (process.platform === 'darwin') {
  screenshot.darwinSnapshot = function darwinSnapshot(options = {}) {
    return new Promise((resolve, reject) => {
      const displayId = options.screen || 0;
      if (!Number.isInteger(displayId) || displayId < 0) {
        reject(new Error(`Invalid choice of displayId: ${displayId}`));
      } else {
        const format = options.format || 'jpg';
        let filename;
        let suffix;
        if (options.filename) {
          const ix = options.filename.lastIndexOf('.');
          suffix = ix >= 0 ? options.filename.slice(ix) : `.${format}`;
          filename = '"' + options.filename.replace(/"/g, '\\"') + '"' // eslint-disable-line
        } else {
          suffix = `.${format}`;
        }
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
reject(err);
          } else {
            if (options.filename) { // eslint-disable-line
              resolve(imgPath);
            } else {
              readAndUnlinkP(tmpPath)
                .then(resolve)
                .catch(reject);
            }
          }
        },
      );
    });
  };

  screenshot.listDisplays = function listDisplays() {
    return new Promise((resolve, reject) => {
      exec(
        `"${path.join(libPath, 'screenCapture_1.3.2.bat')}" /list`,
        {
          cwd: libPath,
        },
        (err, stdout) => {
          if (err) {
            return reject(err);
          }
          return resolve(screenshot.parseDisplaysOutput(stdout));
        },
      );
    });
  };
}
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
process.env.NODE_ENV === 'development'
      ? (
        path.join(
          appPath.split('node_modules')[0],
          'node_modules/screenshot-desktop/lib/win32',
        )
      ) : (
        path.join(
          appPath.split('app.asar')[0],
          'screenshot-desktop/',
        )
      )
  );


  screenshot.windowsSnapshot = function windowsSnapshot(options = {}) {
    return new Promise((resolve, reject) => {
      const displayName = options.screen;
      const format = options.format || 'jpg';
      const tmpPath = temp.path({
        suffix: `.${format}`,
      });
      const imgPath = path.resolve(options.filename || tmpPath);

      const displayChoice = displayName ? ` /d "${displayName}"` : '';

      exec(
        `"${path.join(libPath, 'screenCapture_1.3.2.bat')}" "${imgPath}" ${displayChoice}`,
        {
          cwd: libPath,
        },
        (err) => {
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
const snapshotFunc = () => {
        switch (process.platform) {
          case 'darwin':
            return screenshot.darwinSnapshot;
          case 'win32':
          case 'windows':
            return screenshot.windowsSnapshot;
          default:
            return screenshot;
        }
      };
      const images = yield eff.all(
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
export function* takeScreenshotRequest() {
  while (true) {
    const {
      isTest,
      time,
      timestamp,
    } = yield eff.take(actionTypes.TAKE_SCREENSHOT_REQUEST);
    try {
      yield eff.put(uiActions.setUiState({
        takeScreenshotLoading: true,
      }));
      trackMixpanel('Take screenshot request');
      const displays = yield eff.call(screenshot.listDisplays);
      const snapshotFunc = () => {
        switch (process.platform) {
          case 'darwin':
            return screenshot.darwinSnapshot;
          case 'win32':
          case 'windows':
            return screenshot.windowsSnapshot;
          default:
            return screenshot;
        }
      };
      const images = yield eff.all(
        displays.map(
          d => eff.call(
            snapshotFunc(),
            {
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
const snapshotFunc = () => {
        switch (process.platform) {
          case 'darwin':
            return screenshot.darwinSnapshot;
          case 'win32':
          case 'windows':
            return screenshot.windowsSnapshot;
          default:
            return screenshot;
        }
      };
      const images = yield eff.all(
github web-pal / chronos-timetracker / app / renderer / sagas / screenshots.js View on Github external
(err, stdout) => {
          if (err) {
            return reject(err);
          }
          return resolve(screenshot.parseDisplaysOutput(stdout));
        },
      );

screenshot-desktop

Capture a screenshot of your local machine

MIT
Latest version published 10 months ago

Package Health Score

65 / 100
Full package analysis