42 lines
		
	
	
	
		
			896 B
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			896 B
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { app, BrowserWindow, ipcMain, clipboard } = require('electron')
 | |
| const path = require('node:path')
 | |
| 
 | |
| let mainWindow = null
 | |
| 
 | |
| function createWindow () {
 | |
|   const windowOptions = {
 | |
|     width: 600,
 | |
|     height: 400,
 | |
|     title: 'Clipboard paste',
 | |
|     webPreferences: {
 | |
|       preload: path.join(__dirname, 'preload.js')
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   mainWindow = new BrowserWindow(windowOptions)
 | |
|   mainWindow.loadFile('index.html')
 | |
| 
 | |
|   mainWindow.on('closed', () => {
 | |
|     mainWindow = null
 | |
|   })
 | |
| }
 | |
| 
 | |
| ipcMain.handle('clipboard:readText', () => {
 | |
|   return clipboard.readText()
 | |
| })
 | |
| 
 | |
| ipcMain.handle('clipboard:writeText', (event, text) => {
 | |
|   clipboard.writeText(text)
 | |
| })
 | |
| 
 | |
| app.whenReady().then(() => {
 | |
|   createWindow()
 | |
| 
 | |
|   app.on('activate', function () {
 | |
|     if (BrowserWindow.getAllWindows().length === 0) createWindow()
 | |
|   })
 | |
| })
 | |
| 
 | |
| app.on('window-all-closed', function () {
 | |
|   if (process.platform !== 'darwin') app.quit()
 | |
| })
 | 
