A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Subcategories

  • Share your custom style sheets with the community!

    24 Topics
    302 Posts
    J
    @jerryy622 Hey Jerry, This sounds fantastic! Please share your scripts or a link as to where to find the info! I would love to have this kind of thing running on my TV so i can view it when i switch to the HDMI channel that my Pi would be hooked to! I would love to see some screen shots of what you created also! Joe
  • You have questions regarding CSS?

    114 Topics
    680 Posts
    R
    @kool said Bumping this back up. Pleeeease help Dear @kool , if you are using url as suggested by Sam ( @sdetweil ), you are nearly done. As far as I can see from my rookie perspective you do have some redundancies in your config.js (e.g. the unit section: units, tempUnits, windUnits) ) but this shouldn’t disturb. As far as I understood you can delete these icontables because you do not use the icon-font but try to use some images from sigle file-URLs instead - so you can delete the whole section iconTable {} with all entries. In addition you have to adapt (see above, Sam’s tip) the URL of all you images in your custom.css file. (pls. double check, if the files are really in these locations) You wrote in your current css .weatherforecast .wi-day-sunny { content: url("/home/kool/MagicMirror/css/icons/6fas/day.svg") !important; } IF your weather-icon files are really in this directory (/home/kool/MagicMirror/css/icons/6fas/) than your css should be as follows: .weatherforecast .wi-day-sunny { content: url("/css/icons/6fas/day.svg"); You do not need the !important flag (in my case) second wrong thing besides the URL is your qualifier. you are using .weatherforecast .wi-something .... This cannot be recognized because .weatherforecast is not defined. At first you have to decide if you want to have different icons for the current weather and for the weather forecast. (In my case this is true). IF you would like to have this you have to differentiate the two instances of the weather-module by a “classes” definition. For example your first instance of the weather module (current weather) than should be module: "weather", position: "top_right", // Adjust position as needed classes: "weather_current", config: { weatherProvider: "openmeteo", // Specify the Open-Meteo provider apiBase: "https://api.open-meteo.com/v1", // REQUIRED: Base URL for Open-Meteo lat: xxxx, // REQUIRED: Latitude of the location lon: xxxx, // REQUIRED: Longitude of the location maxNumberOfDays: 8, // OPTIONAL: Number of forecast days (default is 5) pastDays: 0, // OPTIONAL: Number of past days of data to include (default is 0) units: "imperial", // Set this to 'imperial' for Fahrenheit and miles per hour tempUnits: "imperial", // Make sure to match with 'imperial' windUnits: "imperial", type: "current", // OPTIONAL: Change to "current" if only current weather data is desired } }, (pay attention for the third line: classes: “weather_current”, ) THIS is your qualifier if you are about to diffrentiate between current weather and weather forecast image-wise. (“weather_current” is just an example! you can name it like you want every name is suitable and OK, only pay attention that all of these namings are strictly case sensitive, so Weather is NOT the same as weather" Your correct line for custom.css than is: .weather_current .wi-day-sunny { content: url("/css/icons/6fas/day.svg"); and the same dance than for your second instance with DIFFERENT classes-clause in config.js (e.g. a " classes: “weather_forecast”, " in the definition of the second weather instance ) results in a custom.css entry like this: .weather_forecast .wi-day-sunny { content: url("/css/icons/some_other_directory_with_smaller_icons/day.svg"); Because the “forecast instance” of the weather module is (in my case) organized as table I found it really useful to differentite these logos - big ones for current, smaller ones for the forecast: [image: 1744630855324-screenfloat-bildschirmfoto-von-sublime-text-am-14_04_2025-13_38_51-14_04_2025-13-38-51.jpg] If You do NOT like to differentiate the current and forecast instance you do NOT need the classes-phrase in config.js and your correct qualifier is the name of the module (so “weather” ) and your custom.css entry is like this: .weather .wi-day-sunny { content: url("/css/icons/6fas/day.svg"); And this than is valid for both instances. Keep in mind that there are a LOT more weather conditions than the two times 5 conditions you have defined in your current custom.css! my own definition for the current weather for your reference: .weather_current .wi-fog { content: url("/css/icons/current/wsymbol_0007_fog.png"); } .weather_current .wi-cloudy { content: url("/css/icons/current/wsymbol_0002_sunny_intervals.png"); } .weather_current .wi-cloudy-windy { content: url("/css/icons/current/wsymbol_0004_black_low_cloud.png"); } .weather_current .wi-rain { content: url("/css/icons/current/wsymbol_0018_cloudy_with_heavy_rain.png"); } .weather_current .wi-showers { content: url("/css/icons/current/wsymbol_0017_cloudy_with_light_rain.png"); } .weather_current .wi-thunderstorm { content: url("/css/icons/current/wsymbol_0024_thunderstorms.png"); } .weather_current .wi-snow { content: url("/css/icons/current/wsymbol_0019_cloudy_with_light_snow.png"); } .weather_current .wi-snowflake-cold { content: url("/css/icons/current/wsymbol_0020_cloudy_with_heavy_snow.png"); } .weather_current .wi-na { content: url("/css/icons/current/wsymbol_0999_unknown.png"); } .weather_current .wi-day-sunny { content: url("/css/icons/current/wsymbol_0001_sunny.png"); } .weather_current .wi-day-cloudy { content: url("/css/icons/current/wsymbol_0043_mostly_cloudy.png"); } .weather_current .wi-day-cloudy-gusts { content: url("/css/icons/current/wsymbol_0004_black_low_cloud.png"); } .weather_current .wi-day-cloudy-windy { content: url("/css/icons/current/wsymbol_0004_black_low_cloud.png"); } .weather_current .wi-cloudy-windy { content: url("/css/icons/current/wsymbol_0004_black_low_cloud.png"); } .weather_current .wi-day-fog { content: url("/css/icons/current/wsymbol_0007_fog.png"); } .weather_current .wi-day-hail { content: url("/css/icons/current/wsymbol_0015_heavy_hail_showers.png"); } .weather_current .wi-day-haze { content: url("/css/icons/current/wsymbol_0005_hazy_sun.png"); } .weather_current .wi-day-lightning { content: url("/css/icons/current/wsymbol_0016_thundery_showers.png"); } .weather_current .wi-day-rain { content: url("/css/icons/current/wsymbol_0085_extreme_rain_showers.png"); } .weather_current .wi-day-rain-mix { content: url("/css/icons/current/wsymbol_0009_light_rain_showers.png"); } .weather_current .wi-day-rain-wind { content: url("/css/icons/current/wsymbol_0010_heavy_rain_showers.png"); } .weather_current .wi-day-showers { content: url("/css/icons/current/wsymbol_0018_cloudy_with_heavy_rain.png"); } .weather_current .wi-day-sleet { content: url("/css/icons/current/wsymbol_0087_heavy_sleet_showers.png"); } .weather_current .wi-day-sleet-storm { content: url("/css/icons/current/wsymbol_0089_heavy_sleet.png"); } .weather_current .wi-day-snow { content: url("/css/icons/current/wsymbol_0011_light_snow_showers.png"); } .weather_current .wi-day-snow-thunderstorm { content: url("/css/icons/current/wsymbol_0057_thundery_snow_showers.png"); } .weather_current .wi-day-snow-wind { content: url("/css/icons/current/wsymbol_0053_blowing_snow.png"); } .weather_current .wi-day-sprinkle { content: url("/css/icons/current/wsymbol_0009_light_rain_showers.png"); } .weather_current .wi-day-storm-showers { content: url("/css/icons/current/wsymbol_0018_cloudy_with_heavy_rain.png"); } .weather_current .wi-day-sunny-overcast { content: url("/css/icons/current/wsymbol_0002_sunny_intervals.png"); } .weather_current .wi-day-thunderstorm { content: url("/css/icons/current/wsymbol_0024_thunderstorms.png"); } .weather_current .wi-day-windy { content: url("/css/icons/current/wsymbol_0060_windy.png"); } .weather_current .wi-solar-eclipse { content: url("/css/icons/current/wsymbol_0005_hazy_sun.png"); } .weather_current .wi-hot { content: url("/css/icons/current/wsymbol_0045_hot.png"); } .weather_current .wi-day-cloudy-high { content: url("/css/icons/current/wsymbol_0006_mist.png"); } .weather_current .wi-day-light-wind { content: url("/css/icons/current/wsymbol_0060_windy.png"); } .weather_current .wi-night-clear { content: url("/css/icons/current/wsymbol_0008_clear_sky_night.png"); } .weather_current .wi-night-alt-cloudy { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-alt-partly-cloudy { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-alt-cloudy-gusts { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-alt-cloudy-windy { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-alt-hail { content: url("/css/icons/current/wsymbol_0031_heavy_hail_showers_night.png"); } .weather_current .wi-night-alt-lightning { content: url("/css/icons/current/wsymbol_0032_thundery_showers_night.png"); } .weather_current .wi-night-alt-rain { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-alt-rain-mix { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-alt-rain-wind { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-alt-showers { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-alt-sleet { content: url("/css/icons/current/wsymbol_0029_sleet_showers_night.png"); } .weather_current .wi-night-alt-sleet-storm { content: url("/css/icons/current/wsymbol_0029_sleet_showers_night.png"); } .weather_current .wi-night-alt-snow { content: url("/css/icons/current/wsymbol_0028_heavy_snow_showers_night.png"); } .weather_current .wi-night-alt-snow-thunderstorm { content: url("/css/icons/current/wsymbol_0075_thundery_snow_showers_night.png"); } .weather_current .wi-night-alt-snow-wind { content: url("/css/icons/current/wsymbol_0071_blowing_snow_night.png"); } .weather_current .wi-night-alt-sprinkle { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-alt-storm-showers { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-alt-thunderstorm { content: url("/css/icons/current/wsymbol_0032_thundery_showers_night.png"); } .weather_current .wi-night-cloudy { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-cloudy-gusts { content: url("/css/icons/current/wsymbol_0044_mostly_cloudy_night.png"); } .weather_current .wi-night-cloudy-windy { content: url("/css/icons/current/wsymbol_0044_mostly_cloudy_night.png"); } .weather_current .wi-night-fog { content: url("/css/icons/current/wsymbol_0064_fog_night.png"); } .weather_current .wi-night-hail { content: url("/css/icons/current/wsymbol_0039_cloudy_with_heavy_hail_night.png"); } .weather_current .wi-night-lightning { content: url("/css/icons/current/wsymbol_0032_thundery_showers_night.png"); } .weather_current .wi-night-partly-cloudy { content: url("/css/icons/current/wsymbol_0041_partly_cloudy_night.png"); } .weather_current .wi-night-rain { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-rain-mix { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-rain-wind { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-showers { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-sleet { content: url("/css/icons/current/wsymbol_0029_sleet_showers_night.png"); } .weather_current .wi-night-sleet-storm { content: url("/css/icons/current/wsymbol_0029_sleet_showers_night.png"); } .weather_current .wi-night-snow { content: url("/css/icons/current/wsymbol_0027_light_snow_showers_night.png"); } .weather_current .wi-night-snow-thunderstorm { content: url("/css/icons/current/wsymbol_0075_thundery_snow_showers_night.png"); } .weather_current .wi-night-snow-wind { content: url("/css/icons/current/wsymbol_0028_heavy_snow_showers_night.png"); } .weather_current .wi-night-sprinkle { content: url("/css/icons/current/wsymbol_0025_light_rain_showers_night.png"); } .weather_current .wi-night-storm-showers { content: url("/css/icons/current/wsymbol_0026_heavy_rain_showers_night.png"); } .weather_current .wi-night-thunderstorm { content: url("/css/icons/current/wsymbol_0032_thundery_showers_night.png"); } HTH & good luck! Ralf
  • Make a remove header space or overlap two modules

    7
    1
    0 Votes
    7 Posts
    2k Views
    halacabullasH
    @sdetweil THAT WAS IT. THANK YOU SO MUCH <3333
  • Can't get module background to change

    Solved
    4
    0 Votes
    4 Posts
    913 Views
    A
    @memphismark :beaming_face_with_smiling_eyes:
  • Remove space between two modules. Custom CSS code and pictures.

    6
    0 Votes
    6 Posts
    2k Views
    J
    @jamaces For future knowledge within the Main.css there is .region.bottom .module { margin-top: 30px; margin-bottom: 0px; } adding to custom.css .region.bottom .module{ margin-top: 0px; } Will fix the issue. However if you have a bottom_bar module it removes the gap between bottom_bar and anything in bottom_left/center/right
  • Add fade to transparent background on module.

    Solved
    8
    0 Votes
    8 Posts
    2k Views
    J
    @bkeyport Thank you! I realized after I made the post it is called gradient. For future knowledge change background-color to background-image and add linear-gradient with another RGBA value. Thank you for your help. Is there a way to have CSS go gradient to the left and to the right? I have the news module at the bottom and I really just want it to be dark in the centre where the headlines are. I have tried to right and to left, I have tried radial and nothing seems to work.
  • MMM-NewPIR messing modules position

    1
    2
    0 Votes
    1 Posts
    492 Views
    M
    Hello great people and thanks to you all! Thanks to you and all your help i’m concluding the second Magic Mirror. My fault for not presenting them here but i’m on final configurations. I’me writing right now because one of those configurations. I have just adapted a motion sensor and installed the great MMM-NewPIR. With this the presentation of the MMM-SystemStats module ended up all messed up. Before i aligned it to be inside the clock and worked well After the MMM-NewPIR instalation he moved and i can’t force it to be where i want him and that’s inside the clock. Can you please help me out? Inside css i have: body { margin: 0px; position: absolute; height: calc(100% - 35px); width: calc(100% - 50px); } .MMM-SystemStats { position: absolute; top: 37px; left: 215px; } .MMM-SystemStats { margin: 10px 5px 10px 10px; /* 10px top, 5px right, 15px bottom, 20px left */ width: 150px; } Here’s the before, like i want it: [image: 1613264817790-without.jpg] And after MMM-NewPIR applied: [image: 1613264833432-with.jpg] Thaks for all the help you can give!
  • Multiple Modules of the Same Type, Change Width of One Instance Only

    5
    0 Votes
    5 Posts
    1k Views
    A
    @tylerj714 Id starts with 1 in MM, but it does not matter. You need to get actual id of the module you are targeting using dev tools. [image: 1612858492276-a2ebbd99-a2e8-4f18-8bfe-9f5ba88b9d50-image-resized.png]
  • Usage of "classes" Parameter

    2
    0 Votes
    2 Posts
    963 Views
    S
    @tylerj714 i think these classes are without the module prefix you should be able to see the classes assigned in the developers window elements tab
  • Current Weather and Weather Forecast looks grey out.

    24
    1
    0 Votes
    24 Posts
    6k Views
    Mykle1M
    @sdetweil ![0_1612315124827_21.png](Uploading 100%) Invalid files also
  • compliments reduce font size and move down a little bit

    4
    0 Votes
    4 Posts
    1k Views
    K
    Hello @sdetweil I have a similar question: I want the compliments module to have the same appearance as the title of the newsfeed module. found in newsfeed-code: if (!this.config.showFullArticle) { const title = document.createElement("div"); title.className = "newsfeed-title bright medium light" + (!this.config.wrapTitle ? " no-wrap" : ""); title.innerHTML = this.newsItems[this.activeItem].title; wrapper.appendChild(title); } so i want the compliments style to be “bright medium light” the compliments code shows getDom: function () { var wrapper = document.createElement("div"); wrapper.className = this.config.classes ? this.config.classes : "thin xlarge bright pre-line"; Im not sure how to modify the custom.css. Something like: .compliments .class { bright medium light; } Can you help me? :)
  • disable the header in the Weather Forecast module

    9
    0 Votes
    9 Posts
    4k Views
    F
    @chanster Actually just figured out that if I do visibility instead of display it works. .weatherforecast .module-header { visibility: hidden; }
  • Display waste bins in color

    52
    0 Votes
    52 Posts
    19k Views
    kusselinK
    Thanks…now it run fine
  • Viewed at 15m - Scale everything up x10+

    4
    0 Votes
    4 Posts
    810 Views
    A
    @Bill-Door You can use custom.css with zoom property for body. Adjust 200% below to your taste. body { zoom: 200%; } [image: 1609326112511-535f8cf6-5826-4d52-b08d-141450b167d3-image-resized.png] PS: It will also survive the reboots :)
  • iFrame border properties

    1
    0 Votes
    1 Posts
    434 Views
    ankonaskiff17A
    I have an iFrame to hold a weather radar image. Default for iFrame is no border but I wanted one to act as border for radar image. Got border no problem and I defined color also but it behaved as if it had some sort of bevel type property that I don’t understand. For example if I chose hex value for red, the bottom and right borders would be red, the top and left borders would be a darker red. Anyone got any thoughts on what is going on there?
  • How to change color of SourceTitle and PublischDate of news feed

    2
    0 Votes
    2 Posts
    611 Views
    B
    OK guys, I found the answer on this forum. .newsfeed .bright.medium.light { color: #06e600; } .newsfeed .light.small.dimmed { color: #06e600; }
  • CSS problems with your program

    Locked
    4
    0 Votes
    4 Posts
    608 Views
    H
    I’m so sorry about that. I tried to download GB Whatsapp
  • Can't change MMM-SystemStats colors

    color 0099ff
    4
    0 Votes
    4 Posts
    768 Views
    S
    @ortizimo you don’t need .module prefix anymore
  • Clock and current weather horizontally

    8
    0 Votes
    8 Posts
    2k Views
    A
    @JasonInOttawa May be float is doing this because you are not showing week text as header ? In my screenshot they are aligned on top. Any ways both are on user choice ! :)
  • Distinguishing CSS from Config

    4
    0 Votes
    4 Posts
    725 Views
    S
    @ankonaskiff17 this.config. says u can add variables to config section. Or use the default for it. color: And fillcolor:
  • showPeriodUpper

    1
    0 Votes
    1 Posts
    267 Views
    ankonaskiff17A
    This refers to upper or lower case am/pm? I checked CSS case and it refers to text-transform. I’ve seen this in multiple modules and want to make sure.
  • Custom.css file

    5
    0 Votes
    5 Posts
    1k Views
    ankonaskiff17A
    I could have phrased that better. It doesn’t say that you need to create the custom.css file from scratch if you use the official manual install.