@sdetweil doh. I missed that comment.
Works now. Course, Middle_center don’t. 🤣
@sdetweil doh. I missed that comment.
Works now. Course, Middle_center don’t. 🤣
@sdetweil Ahh, gotcha. Changing the container display to inline-flex fixes centering issue on middle-center, but does not fix being able to set modules side by side.
I currently have:
.region .container {
display: inline-flex;
}
/* adjust modules to display side by side */
.clock, .MMM-Worldclock {
display: inline-flex;
margin-right: 5px;
margin-left: 5px;
}
in my custom.css for that screen.
Thanks!
@sdetweil Yep. that fixed it.
If the answer appears to be frank’s solution in that other thread, I don’t understand what to do or how to fix it. without knowledge of where he’s working I have no idea where to touch.
I’m having a few problems with CSS that I think is all related.
/* adjust modules to display side by side */
.MMM-ValuesByNotification, .MMM-OpenWeatherForecast {
display: inline-flex;
margin-right: 5px;
margin-left: 5px;
}
Now it seems the modules are forced to left-align (rather than center) and are contained in a 100% width container.
Any clue what’s going on?
ViewNotification doesn’t show anything…
When I load the mirror in chrome/brave I get this in console:

Browser is whatever node uses - same problem occurs on other sessions through chrome like browser on my Main PC (Brave)
One magic mirror folder - all configs in MM/Config just numbered.
Refresh does nothing. (Via Chrome/Brave).
Start MM using this:
export MM_CONFIG_FILE=config/config2.js
export MM_PORT=8081
export ELECTRON_DISABLE_GPU=1
DISPLAY=:0 node clientonly --address mirrorserv.local --port 8081
Multi-screen: https://docs.magicmirror.builders/configuration/introduction.html#a-couple-of-real-world-examples (remember, I re-wrote this?)
Client/Server: https://docs.magicmirror.builders/getting-started/installation.html#server-only
Calendar = default calendar module.
Most of the calendars are in fact local, so timing don’t matter. The only problem I’m having is that this exact configuration works on the screen running as main monitor, but not on the screen running as secondary. Main monitor’s header info is this:
var config = {
address: "0.0.0.0",
port: 8080,
ipWhitelist: [],
language: "en",
timeFormat: 12,
units: "imperial",
//logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],
I’m trying to move my calendar apps to my 2nd screen…
I’m currently using the old X Window Manager (for now - if someone has a guide to run multi-screen in modern display systems, hit me up)
As title says, Calendar will not run on the 2nd instance. Logs at debug level show no errors, no warnings, no debug, nothing. Just shows “Loading…” .
I’m in a server/client environment.
Also, while clock runs, it’s ignoring the config specified in the module. (oops, forgot to move over the CSS, it does work, just was hard to see due to screen size)
/* Magic Mirror Config by Brendan Keyport. */
/* Secondary Display - Office */
var config = {
address: "0.0.0.0",
port: 8081,
electronOptions: {
webPreferences: {
webSecurity: false,
webviewTag: true,
},
x: 1920
},
ipWhitelist: [],
language: "en",
timeFormat: 12,
units: "imperial",
logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],
// customCss: "css/custom2.css",
modules: [
{
module: 'clock', // built-in
position: 'top_bar',
config: {
displaySeconds: true,
}
},
{
module: "calendar", // Built in
position: "top_left", // testing mode
config: {
animationSpeed: 0,
broadcastEvents: true,
broadcastPastEvents: true,
fetchInterval: 60000, // minimum 1 minute.
maximumEntries: 999999,
calendars: [
{
url: "<Redact>",
name: "Main",
symbol: "calendar",
color: "Aqua",
},
{
url: "<redact>",
name: "Utility",
symbol: "trash-can",
color: "Orange",
},
{
url: "<Redact>",
name: "Seahawks",
symbol: "football",
color: "#69BE28",
},
{
url: "<redact>",
name: "Sounders",
symbol: "futbol",
color: "#5D9741",
},
{
url: "<Redact>",
name: "Kraken",
symbol: "hockey-puck",
color: "#99d9d9",
},
{
url: "<redact>",
name: "Mariners",
symbol: "baseball",
color: "#C4CED4",
},
{
url: "<redact>",
name: "Huskies",
symbol: "paw",
color: "#ECDCA8",
},
{
url: "<redact>",
name: "Holidays",
symbol: "gift",
color: "#FFF",
},
{
url: "<redact>",
name: "K7LED",
symbol: "walkie-talkie",
color: "lime",
},
{
url: "<redact>",
name: "Personal",
},
],
},
},
/*************** DO NOT EDIT BELOW ***************/
]
};
if (typeof module !== "undefined") {
module.exports = config;
}
@haji6 Every module that supports this SHOULD have documentation that shows how they talk to each other.
Imagine a room full of people. In that room - only one person can speak at a time.
Person A (Calendar) will yell out “I have an Event at 8:30 called Appointment” and write it on it’s part of the whiteboard (Might be nowhere). Then Person B will hear it and write it on a whiteboard where it’s told to for all to see.
This is a simplified version of how the notification system works.
My module (MMM-Multimonth) and others uses the above concept to display data. Why rewrite work when you can use what’s provided?
@plainbroke at minimum, put an easy way to get access to the SD card - like an extender to a hidden location or something.
@KristjanESPERANTO I’ve noticed that it seems that most of the functions of moment is in vanilla javascript - at least in what we typically use.
@ASteinsdoerfer having suffered the same issue - there’s a slight formatting difference between your LICENSE file and mine (other than copyright name). Therefore, I think Kristjan is being too picky on the file.
Maybe we can get a rethink on this.
I still take my mirror displays and put them back into X11 mode. It’s what I understand, it’s what allows me to do what I want to do.
@khrusher It’s something on Google’s end, I’d bet. Gmail was also acting up for extensions - losing permissions within a week or so.
Google updating their security and breaking access.
@jaimegarzont lots of different camera tools. Pretty easy.
@dathbe Thank you. I’ve wanted to install this module again, but I have worries about longevity.
@rkorell I haven’t had any issues - it spreads the heat out much more than many of the setups, but it does work in keeping the system running without much noise. This is on a RasPi 5 that runs two mirrors - one with pages flipping all the time, the other showing camera feeds. Very process intensive. I got it initially because the pi was going to be visible - if I was going to use it in the config I have now, I’d likely go with something with a large heat sink and a quiet (Noctura?) fan.
@rkorell Mine is in a https://argon40.com/products/argon-one-v3-case-for-raspberry-pi-5 case, hidden behind the TV.