MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

Two side by side modules in the same region



  • I followed this thread as it seems to address what I want to do: Re: How to get 2 modules side by side? however, I do not seem to be getting the same results.

    To start with I would like the Worldclocks and WIFI Password QR code to be seen in the bottom_left region. I have the following code in my config and css files:

    {
    	module: 'worldclock',
    	position: 'bottom_left',
    	header: '',
    	config: {
    		timeFormat: 'HH:mm A', //defined in moment.js format()
    		style: 'left', //predefined 4 styles; 'top', 'left','right','bottom'
    		clocks: [
                                  {
                                      title: "London",
                                      timezone: "Europe/London",
                                      flag: "gb",
                                  },
    	                      {
    				  title: "Paris",
                                      timezone: "Europe/Paris",
                                      flag: "fr",
                                  },
                                  {
                                      title: "Perth",
                                      timezone: "Australia/Perth",
                                      flag: "au",
                                 },      
                                 {
                                      title: "New York",
                                      timezone: "America/New_York",
                                      flag: "us",
                                 },
                                 {
                                      title: "Colorado",
                                      timezone: "America/Denver",
                                      flag: "us",
                                 },
    			]
    		}
    },
    {
    	module: 'MMM-WiFiPassword',
    	position: 'bottom_left',
    	config: {
    		authType: "WPA",
    		network:  "Hackers_Delight",
    		password: "NotARealPa55word",
    	},
    },
    
    

    and in my css:

    /* CSS to control the placement of the world clocks and the WIFI QR  */
    /* to be within the same bottom left region but side by side and not */
    /* stacked on top of each other                                      */
    .MMM-WiFiPassword {
      display: inline-block;
      width: 45%;
      max-width: 45%;
      min-width: 45%;
      margin-left: 5%;
    }
    
    .worldclock {
      margin-right: 45%;
    }
    
    .region.bottom.left {
      width: 7220px;
      min-width: 720px;
      max-width: 720px;
    

    This gives me the following screen:
    screen grab

    By indication of the blue arrows, you can see what I’m attempting to do. The actual display os on a 43" TV so there is a lot of room between the left and the center regions which I was hoping to several small status modules into.

    Anyone able to teach the idiot here?

    Thanks though for reading
    Mark



  • This post is deleted!


  • @sdetweil Yep - just saw that and was sorting out another solution to this - thanks though



  • @sdetweil - Sorted 🙂



  • in one of my modules, where I wanted to support multiple instances and still get side by side by config I did

    where config.float if specified was either ‘left’ or ‘right’

    if(this.config.float!== ""){
            // get the MM div container for this module (parent of our wrapper div)
    	document.getElementById(this.identifier).style.float=this.config.float;			
            // adjust the border between instances
    	if(this.config.spacing !==""){
    		if(this.config.float === "left")
    			document.getElementById(this.identifier).style.marginLeft=this.config.spacing
    	        else if(this.config.float === "right")
    			document.getElementById(this.identifier).style.marginRight=this.config.spacing
    		}
    	}	
    
    

    I’m not sure you can do this without some help from the module



  • @sdetweil - Many, many thanks for sharing this. I changed both modules to include your code, removed a custom CSS rule and bingo bango, side by side modules.

    Here is the full display now and you can see the result in the bottom left corner.
    MyMirror.

    Now I just have to work out what to do with these changed modules (I’m no developer, more of a use large hammer coder, so not sure how to make brances or changes to the original pulls so as to share my changes…) and I can see me adding this to several other modules now I can see how easy it is to do!



  • @tenpinmark start by going to the original module on github, and press the fork button, top right

    now YOU have a complete copy of the module your self…

    move the current one out of the way on you MM installation, and clone YOUR copy

    then copy the modified files from the original into yours

    git status should show the changed file(s)

    then the commands are (i am in a hurry to leave)

    fo each modified file
    git add

    then git commit -m " some message about the changes"
    then git push to send those change up to your github forked copy
    (will need your github userid/password… free signup)

    then u can offer those changes to the module author,
    via a pull request (hey, I have updates to your module you may want, you can PULL them from my repo)



  • @sdetweil Again, many thanks for your time and efforts in “teaching the idiot” here 🙂

    I’ll follow the instructions above and hope it contributes to the community here - one of the best!


Log in to reply