Created
July 31, 2020 05:02
-
-
Save aryanshridhar/383e0307a878bd9903da54164c900664 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This file is required by the index.html file and will | |
// be executed in the renderer process for that window. | |
// All of the Node.js APIs are available in this process. | |
const remote = require('electron').remote | |
const { app, dialog, BrowserWindow } = remote | |
const {webFrame , desktopCapturer , ipcRenderer} = require('electron'); | |
const {screen } = remote; | |
const {shell , nativeImage , clipboard} = require('electron'); | |
const button = document.getElementById('test-button') | |
button.addEventListener('click', e => { | |
dialog.showMessageBox({ message: 'Dialog invoked from Renderer process' }) | |
let secWin = new BrowserWindow({ | |
width: 400, height: 350 | |
}) | |
secWin.loadFile('index.html') | |
console.log( remote.getGlobal('myglob') ) | |
app.quit() | |
let win = remote.getCurrentWindow() | |
}) | |
document.getElementById('click').addEventListener("click" , () =>{ | |
window.open("https://electronjs.org" , "_blank"); | |
} ) | |
document.getElementById("zoom").addEventListener("click" , () => { | |
webFrame.setZoomFactor(webFrame.getZoomFactor() + 1) | |
}) | |
document.getElementById("unzoom").addEventListener("click" , () => { | |
webFrame.setZoomFactor(webFrame.getZoomFactor() - 1) | |
}) | |
document.getElementById("reset").addEventListener("click" , () => { | |
webFrame.setZoomFactor(1) | |
}) | |
// Get screen shot of the display | |
desktopCapturer.getSources({types : ['screen'] , thumbnailSize : {height : 1080 , width : 1920}}).then((source , err) => { | |
document.getElementById('imgsrc').src = source[0].thumbnail.toDataURL() | |
}) | |
// We can send async messages to main | |
ipcRenderer.send('channel1' , "Hello this is the message send to main window form renderer") | |
ipcRenderer.on("channel2" , (e,msg) => { | |
console.log(msg); | |
}) | |
ipcRenderer.on('channelsend' , (e,msg) => { | |
document.getElementById("progress").innerHTML = msg; | |
}) | |
// Shared APIs : Process | |
console.log(process) | |
console.log(process.type) | |
process.hang() // Hang the process | |
process.crash() // Crash the process | |
Screen | |
console.log(screen) | |
const disp = screen.getAllDisplays(); | |
console.log(disp[0].size.height) | |
console.log(disp[0].size.width) | |
screen.on("display-metrics-changed" , (e,disp,array) => { // When screen settings are changed | |
console.log(disp); | |
console.log(array); | |
}) | |
console.log(screen.getCursorScreenPoint()) // get cursor | |
let file_path = './tp.png' | |
let openfile = () => { | |
shell.openExternal('https://github.com') windows and mac | |
shell.showItemInFolder(file_path); | |
} | |
document.getElementById('click').addEventListener('click' , () =>{ | |
openfile(); | |
}) | |
// Working with images | |
let path = 'tp.png'; | |
let image = nativeImage.createFromPath(path); | |
console.log(image.getSize()) | |
image.toPNG(); | |
image.toJPEG(100) | |
// Used to get data in clipboard | |
let copied_data = clipboard.readText(); // get copied message in clipboard | |
let image = clipboard.readImage(); | |
clipboard.writeText(copied_data); | |
// display notifications | |
let notify = new Notification('Electron app' , { | |
body : "This is a notification" | |
}) | |
notify.onclick = e => { | |
console.log('The notification is pressed by the user'); | |
} | |
let currentwindow = remote.getCurrentWindow(); | |
currentwindow.setProgressBar(0.5); // 0 - null , 1 - ful , negative_numver - bar removed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment