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

      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 Reply Quote 0
      • S Away
        sdetweil @Manu85
        last edited by

        @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

          @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 Reply Quote 0
          • S Away
            sdetweil @Manu85
            last edited by

            @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

              @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 Reply Quote 0
              • S Away
                sdetweil @Manu85
                last edited by

                @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 Reply Quote 0
                • M Offline
                  Manu85 @sdetweil
                  last edited by

                  @sdetweil you know me well :-)

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    Manu85
                    last edited by

                    @sdetweil
                    I don’t see this line!

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

                    S 1 Reply Last reply Reply Quote 0
                    • S Away
                      sdetweil @Manu85
                      last edited by

                      @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

                        @sdetweil Thank you for your answer

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • First post
                          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