51 lines
1.9 KiB
JavaScript
51 lines
1.9 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
|
|
}
|
|
})
|
|
})
|
|
} |