• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

electron.js HELP

Scheduled Pinned Locked Moved Troubleshooting
10 Posts 2 Posters 1.5k Views 2 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    Manu85
    last edited by sdetweil Apr 10, 2020, 3:33 PM Apr 10, 2020, 3:20 PM

    Hello everyone, I did some ******* in js / electron.js, I wanted to copy lines, it didn’t work and I deleted but I did bullshit my MM doesn’t start anymore … I will give you a copy of the electron file, if you can help me please
    “use strict”;

    const electron = require(“electron”);
    const core = require(__dirname + “/app.js”);
    // Config
    var config = process.env.config ? JSON.parse(process.env.config) : {};
    // Module to control application life.
    const app = electron.app;
    // Module to create native browser window.
    const BrowserWindow = electron.BrowserWindow;

    // Keep a global reference of the window object, if you don’t, the window will
    // be closed automatically when the JavaScript object is garbage collected.

    function createWindow() {
    app.commandLine.appendSwitch(“autoplay-policy”, “no-user-gesture-required”);
    var electronOptionsDefaults = {
    width: 800,
    height: 600,
    x: 0,
    y: 0,
    darkTheme: true,
    webPreferences: {
    nodeIntegration: false,
    zoomFactor: config.zoom
    },
    backgroundColor: “#000000”
    }
    };

    // DEPRECATED: "kioskmode" backwards compatibility, to be removed
    // settings these options directly instead provides cleaner interface
    if (config.kioskmode) {
    	electronOptionsDefaults.kiosk = true;
    } else {
    	electronOptionsDefaults.fullscreen = true;
    	electronOptionsDefaults.autoHideMenuBar = true;
    }
    
    var electronOptions = Object.assign({}, electronOptionsDefaults, config.electronOptions);
    
    // Create the browser window.
    mainWindow = new BrowserWindow(electronOptions);
    
    // and load the index.html of the app.
    // If config.address is not defined or is an empty string (listening on all interfaces), connect to localhost
    var address = (config.address === void 0) | (config.address === "") ? (config.address = "localhost") : config.address;
    mainWindow.loadURL(`http://${address}:${config.port}`);
    
    // Open the DevTools if run with "npm start dev"
    if (process.argv.includes("dev")) {
    	mainWindow.webContents.openDevTools();
    }
    
    // Set responders for window events.
    mainWindow.on("closed", function() {
    	mainWindow = null;
    });
    
    if (config.kioskmode) {
    	mainWindow.on("blur", function() {
    		mainWindow.focus();
    	});
    
    	mainWindow.on("leave-full-screen", function() {
    		mainWindow.setFullScreen(true);
    	});
    
    	mainWindow.on("resize", function() {
    		setTimeout(function() {
    			mainWindow.reload();
    		}, 1000);
    	});
    }
    

    }

    // This method will be called when Electron has finished
    // initialization and is ready to create browser windows.
    app.on(“ready”, function() {
    console.log(“Launching application.”);
    createWindow();
    });

    // Quit when all windows are closed.
    app.on(“window-all-closed”, function() {
    createWindow();
    });

    app.on(“activate”, function() {
    // On OS X it’s common to re-create a window in the app when the
    // dock icon is clicked and there are no other windows open.
    if (mainWindow === null) {
    createWindow();
    }
    });

    /* This method will be called when SIGINT is received and will call

    • each node_helper’s stop function if it exists. Added to fix #1056
    • Note: this is only used if running Electron. Otherwise
    • core.stop() is called by process.on(“SIGINT”… in app.js
      */
      app.on(“before-quit”, (event) => {
      console.log(“Shutting down server…”);
      event.preventDefault();
      setTimeout(() => { process.exit(0); }, 3000); // Force-quit after 3 seconds.
      core.stop();
      process.exit(0);
      });

    // Start the core application if server is run on localhost
    // This starts all node helpers and starts the webserver.
    if ([“localhost”, “127.0.0.1”, “::1”, “::ffff:127.0.0.1”, undefined].indexOf(config.address) > -1) {
    core.start(function© {
    config = c;
    });
    }

    S 1 Reply Last reply Apr 10, 2020, 3:32 PM Reply Quote 0
    • S Away
      sdetweil @Manu85
      last edited by Apr 10, 2020, 3:32 PM

      @Manu85 u can get the original back.

      erase electron.js or rename it
      Then
      cd ~/MagicMirror
      git checkout js/electron.js

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 1
      • M Offline
        Manu85
        last edited by Apr 10, 2020, 3:50 PM

        @sdetweil thank you very much, it restarted !!!
        I was trying to fix an error on the module of @ mykle1 which recommended the following thing:

        },
        Electron may hinder the use of autoplay. Known issue.
        This will fix it
        Edit MagicMirror/js/electron.js
        Add the line shown below
        let mainWindow;

        function createWindow() {
        app.commandLine.appendSwitch(‘autoplay-policy’, ‘no-user-gesture-required’); //< -------- added
        Save and restart MagicMirror

        S 1 Reply Last reply Apr 10, 2020, 4:12 PM Reply Quote 0
        • S Away
          sdetweil @Manu85
          last edited by Apr 10, 2020, 4:12 PM

          @Manu85 u don’t need that. We added it a couple releases ago

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • M Offline
            Manu85
            last edited by Apr 10, 2020, 4:27 PM

            @sdetweil ok, the module crashes from time to time and I have a message telling me that I have an update problem (something like that) and I have a photo of the horizon with a sunset

            S 1 Reply Last reply Apr 10, 2020, 6:38 PM Reply Quote 0
            • S Away
              sdetweil @Manu85
              last edited by Apr 10, 2020, 6:38 PM

              @Manu85 could you be a little more specific on the error… if using pm2 to start, show the part in the output from

              pm2 logs --lines=100
              

              the line

              app.commandLine.appendSwitch(‘autoplay-policy’, ‘no-user-gesture-required’);
              

              only applies to video or audio files

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              M 1 Reply Last reply Apr 10, 2020, 7:13 PM Reply Quote 0
              • M Offline
                Manu85 @sdetweil
                last edited by Apr 10, 2020, 7:13 PM

                @sdetweil you know me well :-)

                1 Reply Last reply Reply Quote 0
                • M Offline
                  Manu85
                  last edited by Apr 10, 2020, 7:34 PM

                  @sdetweil
                  I don’t see this line!

                  app.commandLine.appendSwitch(‘autoplay-policy’, ‘no-user-gesture-required’);

                  S 1 Reply Last reply Apr 10, 2020, 7:49 PM Reply Quote 0
                  • S Away
                    sdetweil @Manu85
                    last edited by Apr 10, 2020, 7:49 PM

                    @Manu85 ver 2.11 direct from github

                    function createWindow() {
                    	app.commandLine.appendSwitch("autoplay-policy", "no-user-gesture-required");
                    

                    I added that in ver 2.8 last year

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      Manu85
                      last edited by Apr 11, 2020, 3:06 PM

                      @sdetweil Thank you for your answer

                      1 Reply Last reply Reply Quote 0
                      • 1 / 1
                      1 / 1
                      • First post
                        2/10
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy