51 lines
2.0 KiB
JavaScript
51 lines
2.0 KiB
JavaScript
var electron = require("electron");
|
|
const fs = require("fs");
|
|
const os = require('os')
|
|
const shell = electron.shell;
|
|
const path = require('path')
|
|
function shot() {
|
|
//screenshotMsg.textContent = 'Gathering screens...'
|
|
$(window).height
|
|
let options = {
|
|
types: ['screen'],
|
|
thumbnailSize: {
|
|
width: window.parent.screen.width,
|
|
height: window.parent.screen.height
|
|
}
|
|
}
|
|
const desktopCapturer = electron.desktopCapturer;
|
|
desktopCapturer.getSources(options, function (error, sources) {
|
|
if (error) return console.log(error)
|
|
|
|
sources.forEach(function (source) {
|
|
if (location.search) {
|
|
var m = location.search.match(/\?id=([a-zA-Z-0-9]+)/);
|
|
var title = m[1];
|
|
} else {
|
|
var title = "screenshot";
|
|
}
|
|
if (source.name === 'Screen 1' || source.name === 'TheDesk') {
|
|
var durl = source.thumbnail.toDataURL();
|
|
var b64 = durl.match(
|
|
/data:image\/png;base64,(.+)/
|
|
);
|
|
const screenshotPath = path.join(os.tmpdir(), 'screenshot.png');
|
|
const savePath = path.join(os.tmpdir(), 'screenshot.png');
|
|
var ipc = electron.ipcRenderer;
|
|
var h = $(window).height() - 150;
|
|
var w = $(window).width();
|
|
ipc.send('shot', ['file://' + screenshotPath, w, h, b64[1], title]);
|
|
if ($(".img-parsed").length > 0) {
|
|
for (i = 0; i < $(".img-parsed").length; i++) {
|
|
var url = $(".img-parsed").eq(i).attr("data-url");
|
|
ipc.send('shot-img-dl', [url, title + "_img" + i + ".png"]);
|
|
}
|
|
}
|
|
window.close();
|
|
return;
|
|
const message = `Saved screenshot to: ${screenshotPath}`
|
|
//screenshotMsg.textContent = message
|
|
}
|
|
})
|
|
})
|
|
} |