mirror of
https://github.com/Eugeny/tabby.git
synced 2025-10-04 14:04:56 +00:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { Injectable } from '@angular/core'
|
|
import { App, IpcRenderer, Shell, Dialog, Clipboard, GlobalShortcut, Screen, AutoUpdater, TouchBar, BrowserWindow, Menu, MenuItem, PowerSaveBlocker } from 'electron'
|
|
import * as remote from '@electron/remote'
|
|
|
|
export interface MessageBoxResponse {
|
|
response: number
|
|
checkboxChecked?: boolean
|
|
}
|
|
|
|
@Injectable({ providedIn: 'root' })
|
|
export class ElectronService {
|
|
app: App
|
|
ipcRenderer: IpcRenderer
|
|
shell: Shell
|
|
dialog: Dialog
|
|
clipboard: Clipboard
|
|
globalShortcut: GlobalShortcut
|
|
screen: Screen
|
|
remote = remote
|
|
process: any
|
|
autoUpdater: AutoUpdater
|
|
powerSaveBlocker: PowerSaveBlocker
|
|
TouchBar: typeof TouchBar
|
|
BrowserWindow: typeof BrowserWindow
|
|
Menu: typeof Menu
|
|
MenuItem: typeof MenuItem
|
|
|
|
/** @hidden */
|
|
private constructor () {
|
|
const electron = require('electron')
|
|
this.shell = electron.shell
|
|
this.clipboard = electron.clipboard
|
|
this.ipcRenderer = electron.ipcRenderer
|
|
|
|
this.process = remote.getGlobal('process')
|
|
this.app = remote.app
|
|
this.screen = remote.screen
|
|
this.dialog = remote.dialog
|
|
this.globalShortcut = remote.globalShortcut
|
|
this.autoUpdater = remote.autoUpdater
|
|
this.powerSaveBlocker = remote.powerSaveBlocker
|
|
this.TouchBar = remote.TouchBar
|
|
this.BrowserWindow = remote.BrowserWindow
|
|
this.Menu = remote.Menu
|
|
this.MenuItem = remote.MenuItem
|
|
}
|
|
}
|