• 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.

[HOW_TO] MagicMirror as Desktop Wallpaper (all platform : updated)

Scheduled Pinned Locked Moved Tutorials
23 Posts 8 Posters 8.4k Views 9 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
    MMRIZE
    last edited by MMRIZE May 16, 2024, 7:46 AM Oct 1, 2021, 1:56 PM

    Since MM 2.17 (2021-10-01), You can use your MM as Desktop wallpaper (like Rainmeter of window). Easy.

    Environment

    • MagicMirror >= 2.17

    For MacOS / Linux

    image

    configuration

    // in your config.js add these lines.
    // (ADDED 2024-05-16) These lines should be placed inside of `config`, not end of file.
    // I forgot to mention it because it seemed so obvious. Surprisingly, it seems to be misunderstood as appending these to the end of the file.
    
    
    electronOptions: {
    	width: 1920,
    	height: 1200,
    	fullscreen:  false,
    	backgroundColor: '#00000000',
    	titleBarStyle: 'none',
    	frame: false,
    	type: 'desktop',
    	hasShadow: false,
    	transparent: true,
    	resizable:   false,
    },
    electronSwitches: ["enable-transparent-visuals"],
    
    

    That’s all.

    For Windows 10

    image

    Requirements

    • You might not have python > 3.7 and node-gyp(It requires Visual Studio Tools to install).
    • So, Read this link and setup your environment. (Install Visual Studio things and python)

    Install

    Unlike Mac/Linux, for Windows, you need some hacks for preparation.

    cd ~/MagicMirror # Your magicmirror directory
    npm install --save electron-wallpaper-napi
    # If fails, you might hava some issues about Visual Studio things. Read above;
    

    Then, open js/electron.js with your editor, and add these two lines;

    //around line 7
    ...
    const electron = require("electron");
    const core = require("./app.js");
    const Log = require("logger");
    
    const electronWallpaper = require('electron-wallpaper-napi')  // <-- Insert
    
    // Config
    let config = process.env.config ? JSON.parse(process.env.config) : {};
    ...
    

    and

    // around line 50
    ...
    // Create the browser window.
    mainWindow = new BrowserWindow(electronOptions);
    electronWallpaper.attachWindow(mainWindow)  // <-- Insert
    ...
    

    Configuration

    // in your config.js add these lines.
    
    electronOptions: {
    	//width: 1920,
    	//height: 1080,
    	//x: 0,
    	//y: 0,
    	fullscreen:  true,
    	backgroundColor: '#00000000',
    	frame: false,
    	type: 'desktop',
    	transparent: true,
    },
    electronSwitches: ["enable-transparent-visuals"],
      
    

    CSS

    :root {
      --color-text: #DDD;
      --color-text-dimmed: #BBB;
      --color-text-bright: #fff;
      --color-background: rgba(0, 0, 0, 0);
     /* make fonts color brighter */
    
      --font-size: 2vh;
      --font-size-small: 0.75rem;
    
      --gap-body-top: 20px;
      --gap-body-right: 120px;
      --gap-body-bottom: 20px;
      --gap-body-left: 40px;
    /* adjust margin for your screen */
    }
    
    * {
      text-shadow: 2px 2px 5px #000000; /* make text more readable on the background image */
    }
    
    
    

    replace or add this to contents of your custom.css

    M D L 3 Replies Last reply Oct 1, 2021, 2:25 PM Reply Quote 5
    • M Offline
      mumblebaj Module Developer @MMRIZE
      last edited by Oct 1, 2021, 2:25 PM

      @mmrize Very nice

      Check out my modules at: https://github.com/mumblebaj?tab=repositories

      1 Reply Last reply Reply Quote 0
      • S sdetweil pinned this topic on Oct 1, 2021, 2:50 PM
      • D Offline
        doctorwhen @MMRIZE
        last edited by Oct 3, 2021, 3:38 AM

        @mmrize I just use pcmanfm https://gitlab.com/doctorfree/Scripts/-/blob/master/MagicMirror/backgrounds.sh

        M 1 Reply Last reply Oct 3, 2021, 7:06 AM Reply Quote 0
        • M Offline
          MMRIZE @doctorwhen
          last edited by MMRIZE Oct 3, 2021, 7:07 AM Oct 3, 2021, 7:06 AM

          @doctorwhen
          Interesting. I know pcmanfm can set desktop wallpaper with image, but is it possible also application to locate in background layer?

          Anyway, now we can do it natively since 2.17

          D 1 Reply Last reply Oct 17, 2021, 10:08 PM Reply Quote 0
          • D Offline
            doctorwhen @MMRIZE
            last edited by Oct 17, 2021, 10:08 PM

            @mmrize no, pcmanfm cannot run an application in the desktop background layer, just a wallpaper image. so, i take my comment back, i did not fully understand what you are talking about. but, now i want to try running magicmirror as my desktop background!

            1 Reply Last reply Reply Quote 0
            • L Offline
              lexcyr @MMRIZE
              last edited by Oct 17, 2021, 10:30 PM

              @mmrize Hello
              i just tried it on Xubuntu, the background stay black for me and not transparent. so i can’t see my desktop icons anymore :(.

              M 1 Reply Last reply Oct 17, 2021, 11:18 PM Reply Quote 0
              • M Offline
                MMRIZE @lexcyr
                last edited by Oct 17, 2021, 11:18 PM

                @lexcyr
                In the Linux environment, some additional options might be needed or modified (I mentioned it in README)
                Anyway, you’ve said;

                so i can’t see my desktop icons anymore

                It means, your MM is not placed on the desktop layer, but normal application layer. (And your transparent setting also doesn’t work)
                I doubt you probably miss these;

                • Your MM might not be 2.17.
                • Or your configuration was wrong.
                1 Reply Last reply Reply Quote 0
                • O Offline
                  OscarVsp
                  last edited by Apr 26, 2022, 2:08 PM

                  Hello, thank for this !

                  I’ve followed configuration for linux, and i also had to add the custom css content to have transparency. It works well expect one issue: the mouse click don’t go through magicmirror, so i can’t click on folder/app on the desktop.

                  Is it normal, and am i supposed to only use the menu to launch app or am i missing something ? I looked on the electron documentation but i didn’t found answer to this…

                  Thanks for your help

                  M 3 Replies Last reply Apr 26, 2022, 2:39 PM Reply Quote 0
                  • M Offline
                    MMRIZE @OscarVsp
                    last edited by Apr 26, 2022, 2:39 PM

                    @OscarVsp

                    I’ve tested MacOS and Windows, but not Linux, sorry. But Electron Manual says type: 'desktop' options would work on Linux Environment too.
                    What kind of Linux are you using?

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @OscarVsp
                      last edited by Apr 26, 2022, 2:41 PM

                      @OscarVsp
                      You can check whether MM is really ‘most-bottomed’. Adjust some CSS to check whether MM is “COVERING but just transparent” against other icons or applications.

                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      • 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