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 2.6k 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 Do not disturb
        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 Do not disturb
            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 Do not disturb
                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 Do not disturb
                      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

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • 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