AutoLaunch.js 801 B

1234567891011121314151617181920212223242526272829303132333435
  1. const { app } = require('electron');
  2. const { LOGIN_SETTING_OPTIONS } = require('./Constant').AutoLaunch;
  3. class AutoLaunch {
  4. enable () {
  5. return new Promise((resolve, reject) => {
  6. const enabled = app.getLoginItemSettings(LOGIN_SETTING_OPTIONS).openAtLogin
  7. if (enabled) {
  8. resolve()
  9. }
  10. app.setLoginItemSettings({
  11. ...LOGIN_SETTING_OPTIONS,
  12. openAtLogin: true
  13. })
  14. resolve()
  15. })
  16. }
  17. disable () {
  18. return new Promise((resolve, reject) => {
  19. app.setLoginItemSettings({ openAtLogin: false })
  20. resolve()
  21. })
  22. }
  23. isEnabled () {
  24. return new Promise((resolve, reject) => {
  25. const enabled = app.getLoginItemSettings(LOGIN_SETTING_OPTIONS).openAtLogin
  26. resolve(enabled)
  27. })
  28. }
  29. }
  30. module.exports = AutoLaunch;