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.

    multiple modules in a region

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    42 Posts 5 Posters 20.1k Views 6 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.
    • S Offline
      sdetweil @roth_nj
      last edited by

      @roth_nj said in multiple modules in a region:

      are there any other modules that post pictures to a region instead of full screen?

      you can try them…

      i spent a lot of time on MMM-ImagesPhotos in fullscreen to get the aspect ratios correct as neither of the built in CSS settings (cover/contain) work properly (imho)

      https://github.com/sdetweil/MMM-ImagesPhotos , but you can try it in other positions

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • M Offline
        MMRIZE @roth_nj
        last edited by

        @roth_nj
        similar?
        mimic

        R 1 Reply Last reply Reply Quote 0
        • R Offline
          roth_nj @MMRIZE
          last edited by

          @MMRIZE said in multiple modules in a region:

          @roth_nj
          similar?
          mimic

          that right there would be amazing

          M 1 Reply Last reply Reply Quote 0
          • M Offline
            MMRIZE @roth_nj
            last edited by MMRIZE

            @roth_nj
            This would be just what you looked at in the previous screenshot.
            Only for those modules on the screen, the CSS is severely overridden. So when you add additional modules, you should carefully handle them.
            It is designed for resolution 1920 * 1080 horizon screen.

            config

            modules: [
            	{
            		module: "alert",
            	},
            	{
            		module: "clock",
            		position: "top_left",
            		config: {
            			displaySeconds: false,
            			sendNotifications: false,
            		},
            	},
            	{
            		module: "calendar",
            		//position: "top_left",
            		config: {
            			broadcastEvents: true,
            			broadcastPastEvents: true,
            			maximumEntries: 99,
            			calendars: [
            				{
            					symbol: "calendar-check",
            					url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics",
            					color: "red",
            				},
            
            				{
            					symbol: "calendar-check",
            					url: "https://calendar.google.com/calendar/ical/ko.german.official%23holiday%40group.v.calendar.google.com/public/basic.ics",
            					color: "red",
            				},
            				{
            					symbol: "futbol",
            					url: "webcal://ics.ecal.com/ecal-sub/65254bc972b4f3000d0051df/Tottenham%20Hotspur%20FC.ics",
            					color: "#0066CC",
            				}
            			]
            		}
            	},
            	{
            		module: "weather",
            		position: "top_right",
            		config: {
            			weatherProvider: "openweathermap",
            			type: "current",
            			location: "Frankfurt",
            			apiKey: "..."
            		}
            	},
            	{
            		module: "MMM-CalendarExt3",
            		position: "bottom_bar",
            		config: {
            			locale: "en-US",
            			mode: "month",
            			maxEventLines: 3,
            			headerWeekDayOptions: { weekday: 'narrow' },
            			//firstDayOfWeek: 0,
            			//minimalDaysOfNewYear: 1,
            			useWeather: false,
            		}
            	},
            	{
            		module: "MMM-WeatherBackground",
            	},
            ]
            

            I used MMM-WeatherBackground for leftside background image, but you may use other modules.

            See where the position I put the modules into and how they might be overridden in the CSS.

            CSS (custom.css)

            :root {
              --color-text: #999;
              --color-text-dimmed: #666;
              --color-text-bright: #fff;
              --color-background: black;
              --font-primary: "Roboto Condensed";
              --font-secondary: "Roboto";
              --font-size: 20px;
              --font-size-small: 0.75rem;
              --gap-body-top: 20px;
              --gap-body-right: 20px;
              --gap-body-bottom: 20px;
              --gap-body-left: 20px;
              --gap-modules: 20px;
            }
            
            .fullscreen.below {
              width: 33.3%;
            }
            
            .region.top.bar {
              width: calc(33.3% - 60px);
              padding: 20px;
              height: calc(100vh - 40px);
              position: absolute;
              top: -20px;
              left: 0;
              text-align: right;
              display: flex;
              flex-direction: column;
              justify-content: space-between;
              background-image: linear-gradient(to right, rgb(0 0 0 / 0%), rgb(0 0 0 / 100%));
            }
            
            .region.top.left,
            .region.top.right {
              box-sizing: border-box;
              text-align: right;
              top: 0;
              position: unset;
            }
            
            .region.bottom {
              width: calc(66.7% - 20px);
              padding: 20px;
              height: calc(100vh - 80px);
              position: absolute;
              right: 0;
              top: 0;
            }
            
            .region.bottom.left,
            .region.bottom.right,
            .region.center {
              display: none;
            }
            
            .module.MMM-CalendarExt3 .module-header {
              height: 0;
              visibility: hidden;
              line-height: 0;
            }
            
            .CX3 {
              --cellheaderheight: 80px;
            }
            
            .CX3 .cell {
              border: none;
            }
            
            .CX3 .cw {
              display: none;
            }
            
            .CX3 .thisMonth {
              background-color: unset;
            }
            
            .CX3 .cell:not(.thisMonth) .cellHeader .cellDate * {
              filter: brightness(0.5);
            }
            
            .CX3 .weekGrid .weekday {
              font-size: 250%;
              line-height: 250%;
            }
            
            .CX3 .cellHeader .cellDate {
              font-size: 250%;
              text-align: center;
              display: flex;
              justify-content: center;
              flex-direction: column;
              align-items: center;
            }
            
            .CX3 .cell.today {
              border: none;
            }
            
            .CX3 .cell.today .cellHeader {
              justify-content: center;
            }
            
            .CX3 .cell.today .cellHeader .cellDate {
              border-radius: 50%;
              max-width: 60px;
              max-height: 60px;
            }
            
            .CX3 .cell.today .cellHeader .cellDate .month {
              display: none;
            }
            
            .CX3 .week:nth-child(2) .cell:first-child .cellDate :not(.month) {
              display: none;
            }
            
            .CX3 .date_1 .cellDate .dateParts:not(.month) {
              display: none;
            }
            
            .module.clock .digital {
              display: flex;
              flex-direction: column-reverse;
            }
            
            
            R S 2 Replies Last reply Reply Quote 0
            • R Offline
              roth_nj @MMRIZE
              last edited by

              @MMRIZE

              that is awesome. looks like its actually in portrait but you rotated all the text to be read the other way? thats one way to skin that cat. i like it.

              so, i know im not the first one to ask for a configuration like this. i know because i spent quite i bit of time searching and reading through all i could (here, github, reddit, etc)… it might be worth while putting together a polished post saying for a dakboard clone?

              for reference. i went though and set up the dakboard but me being me, refused to pay for the upgrade. i needed it to handle 6 ical’s and wanted to be able to change the colors. simple things really, but they lock both those abilities behind the upgrade.

              again, thank you very much. ill play around with it again tonight after work. im sure ill end up having some questions sooner or later

              R 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @MMRIZE
                last edited by

                @roth_nj

                @MMRIZE said in multiple modules in a region:

                Only for those modules on the screen, the CSS is severely overridden. So when you add additional modules, you should carefully handle them.

                just be careful , as he whacked the css pretty hard here to make this work, and other modules may no longer fit properly…

                MM is after all, just a web page…

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                R BKeyportB 2 Replies Last reply Reply Quote 0
                • R Offline
                  roth_nj @sdetweil
                  last edited by

                  @sdetweil said in multiple modules in a region:

                  @roth_nj

                  @MMRIZE said in multiple modules in a region:

                  Only for those modules on the screen, the CSS is severely overridden. So when you add additional modules, you should carefully handle them.

                  just be careful , as he whacked the css pretty hard here to make this work, and other modules may no longer fit properly…

                  MM is after all, just a web page…

                  understood. as of now i only have the mmm_wallpaper and mmm_calenderext3 added in. i have half of the default modules turned off and only the clock+2 weathers still on atm. even if i do add something, it will be something like the default modules. something light and simple over the top of the photos

                  1 Reply Last reply Reply Quote 0
                  • BKeyportB Offline
                    BKeyport Module Developer @sdetweil
                    last edited by

                    @sdetweil that’s half the fun of MM - whacking the CSS until you get what you want. :)

                    The "E" in "Javascript" stands for "Easy"

                    1 Reply Last reply Reply Quote 0
                    • R Offline
                      roth_nj @roth_nj
                      last edited by

                      @MMRIZE

                      I was able to pop that code in easy enough and its all working well. this is all still running on my Mac to my monitor via electron so ill wait until I get it into my actual pi and wall display before going crazy with the finishing touches. (spacing, colors, boarders, edges, etc). hoping ill be able to get that part up and running this weekend.

                      one thing I was playing around with now trying to tweak but not having any luck is the fade of the calendar pictures to the right side of them. I tried the fadeedges config option for the calendar in the main config file but it was breaking it. would it be a module/config thing? or a css thing?

                      here’s what it looks like at the moment
                      ad23d6be-7e82-4f83-8d77-9482fb9bbfea-image.png

                      M 1 Reply Last reply Reply Quote 0
                      • M Offline
                        MMRIZE @roth_nj
                        last edited by MMRIZE

                        @roth_nj
                        That is not faded. It only assigns a pale blue colour to Saturday on cellHeader in CSS.
                        You can find .weekday_6 things in MMM-CalendarExt3.css then override it in your custom.css.

                        .CX3 .weekday_6 {
                          color: #339;
                        }
                        

                        And long-full-day name looks somewhat ugly, So you’d better consider headerWeekDayOptions: "short", or “narrow”.

                        R 2 Replies Last reply Reply Quote 0
                        • R Offline
                          roth_nj @MMRIZE
                          last edited by

                          @MMRIZE
                          a little misunderstanding here. i am talking about this zone at the wallpaper background to the calendar.

                          i already changed the sunday red and saturday blue to both be white at this point

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            roth_nj @MMRIZE
                            last edited by

                            @MMRIZE

                            1b2f61c0-36e1-48fd-bf4c-13341d8438e5-image.png

                            M 1 Reply Last reply Reply Quote 0
                            • M Offline
                              MMRIZE @roth_nj
                              last edited by

                              @roth_nj
                              See “.region.top.bar”. I put a gradient layer there.

                              R 1 Reply Last reply Reply Quote 0
                              • R Offline
                                roth_nj @MMRIZE
                                last edited by

                                @MMRIZE

                                bingo… awesome thanks again. I was looking for anything with fade. gradient makes sense — I’m not a programmer in any sense. after changing that, I spread the wallpaper out to 40% but left the calendar overlapping a little bit still at 66%

                                its getting real close now. but like I said I’m not going to mess with too much more until I get it up on my pi+monitor

                                thanks again for the help

                                22378d8d-0e62-4506-87c5-b0ba0d0367a6-image.png

                                BKeyportB 1 Reply Last reply Reply Quote 0
                                • BKeyportB Offline
                                  BKeyport Module Developer @roth_nj
                                  last edited by

                                  @roth_nj Been playing around, and here’s what I came up with.

                                  alt text

                                  The "E" in "Javascript" stands for "Easy"

                                  1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    roth_nj
                                    last edited by

                                    @MMRIZE it got my pi programmed and the mirror up and running on the screen. i have started doing some minor graphical tweaks like font/color/size etc and changed the 33% wallpaper size to 40%… all that stuff is pretty clear to me on what/where to edit and theres a ton of into on the forum/github

                                    i have a couple follow up questions for you now: i want to adjust the position of the calendar top and clock. you can see in this picture that they are off set from the “top” of the screen. i want to get them to the edge. thanks again

                                    1 Reply Last reply Reply Quote 0
                                    • R Offline
                                      roth_nj
                                      last edited by

                                      62cb8a94-3900-40c5-bf6a-5ab709cce016-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • R Offline
                                        roth_nj
                                        last edited by sdetweil

                                        i was able to fix the clock alignment. digging into the custom.css, i found that the top right and top left were formatted the same. i split them out and modified the top left to alight and fix the position:

                                        .region.top.left {
                                          box-sizing: border-box;
                                          text-align: right;
                                          top: 20px;
                                          right: 20px;
                                          position: absolute;//unset
                                        }
                                        
                                        .region.top.right {
                                          box-sizing: border-box;
                                          text-align: right;
                                          bottom: 0;
                                          position: unset;
                                        }
                                        
                                        S 1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          sdetweil @roth_nj
                                          last edited by sdetweil

                                          @roth_nj please try to use the code block wrapper for css and js

                                          paste stuff into post, select pasted
                                          hit the </> button

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0
                                          • R Offline
                                            roth_nj
                                            last edited by

                                            this is the latest. im pretty happy with the formatting now. i have no idea if it did it “right” but i got it to look how i wanted. only big thing left i think is to get it to be a 4-5 week rolling calendar vs just the whole month. then some minor stuff like color/font/etc.

                                            b7f0c9cb-6de8-49fe-ac71-e91796f93864-image.png

                                            this is what i ended up changing in the custom css you shared. split apart the top right and top left to be different. made the top left position absolute and moved it to where it looked good. used the same px as the padding for other regions. added in the bottom bar (wasn’t in there - calendar is in the bottom bar). again made that absolute and moved it until it looked good. im going to guess if i tried adding the header in, it would be off the screen.

                                            .region.bottom.bar {
                                              padding: 20px;
                                              position: absolute;
                                              top: -100px;
                                            }
                                            
                                            .region.top.left {
                                              box-sizing: border-box;
                                              text-align: right;
                                              top: 20px;
                                              right: 20px;
                                              position: absolute;//unset
                                            }
                                            
                                            .region.top.right {
                                              box-sizing: border-box;
                                              text-align: right;
                                              bottom: 0;
                                              position: unset;
                                            }
                                            
                                            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
                                            • 2
                                            • 3
                                            • 2 / 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