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
  • trouble using CSS to make a picture bigger

    3
    0 Votes
    3 Posts
    1k Views
    F
    @saljoke i actually was able to go to the module itself. I adjusted the .css file inside the module folder. It seems to work so far with no issues.
  • shade don't align with clock

    2
    1
    0 Votes
    2 Posts
    768 Views
    L
    .clock .bright { font-size: 120px; padding-bottom: 20px; } fixed!
  • Distance between two modules

    9
    1
    0 Votes
    9 Posts
    3k Views
    brobergB
    @Peter We need to see your custom.css if we will have any chance at all to help you.
  • Date and clock

    1
    0 Votes
    1 Posts
    1k Views
    W
    Hi all. As i just migrated my mirror to my 7" touch screen and are working on a bedroom table mirror where i got the clock in the center and the date above i need to get this to bi a bit bigger and also a space between the date and clock as i found a css for adjusting the clock size but when i do this the clock ends up covering the date so how do i do this in css?
  • Quick CSS Help Please?

    1
    0 Votes
    1 Posts
    657 Views
    D
    I would like the text that says " Dr.Baqui" to be lined up on the left hand side. It is the stock calendar and I have tried a few things but can’t get it working. when I tried Float: left in the css it did pull it to the left but now the time of the event isn’t on the right side it’s in the middle. [image: ukgi45N.jpg]
  • MMM-NOAA3

    25
    0 Votes
    25 Posts
    13k Views
    S
    @justjim1220 said in MMM-NOAA3: Any idea what it means? Any idea how to fix it? appears the api did not return the expected data data.pollution failed as data does not have a value
  • Still possible to use custom CSS?

    css
    3
    0 Votes
    3 Posts
    2k Views
    ?
    @Macgomes Are you saying about MagicMirror?
  • How to make the background all black

    7
    0 Votes
    7 Posts
    4k Views
    R
    @rabbit83ka How do you cut the power to the backlight only?
  • MMM-iFrame transparent background only working in Chromium

    1
    2
    0 Votes
    1 Posts
    870 Views
    J
    Re: How add transparent background to modules Hopefully somebody can help I am using the MMM-iFrame module to grab the now playing status page of a network music system (logitech Media Server) This works fine except that it had a background and looks unsightly blocking the full page images of the MMM-Wallpaper module, I have managed to edit the originating CSS of the status page to have a transparent background, using the below background: rgba(0,0,0,0); background: transparent; I can confirm this works when I load my MagicMirror page via normal laptop chrome browser pointed at the IP of the RPi. So all is good I thought. [image: 1554242099943-445405ad-cb1f-4659-aadd-f951cd575f5a-image.png] ![alt text](image url) However when I load up the Magic Mirror on the on the RPi, there is still a black background on the iframe. ![alt text]([image: 1554242401968-2941f4bc-d631-4445-a540-3af407008543-image.png] image url) I have then gone on to edit both the custom css page with code taken from the above referenced thread module.MMM-iFrame { background-colour: rgba(0,0,0,0); background-colour: transparent; I have also tried to add the above to the CSS code of the of the MMM-iFrame module itself. None of which has worked. I am fine with following instructions and generally get there in the end. But not sure where to go from here to get it to work. So could somebody kindly help me figure out what I need to do so that the inbuilt browser of MagicMirror recognizes the transparent background of the captured web page like Chrome & Chromium do, its the last piece of the puzzle before this thing can get hung on the kitchen wall cheers Jelbear
  • MMM-NOAA3 icon sizes

    1
    0 Votes
    1 Posts
    755 Views
    N
    Does anyone know how to edit the custom.css to make the icons for the 4-day forecast bigger?
  • width of module on 3.5 in screen

    2
    0 Votes
    2 Posts
    1k Views
    P
    The process where the user wants to find out the work that will be able to manage it in such way where the user will be able to get the work better so netgear r6700 review will able to get the work better for width module on 3.5 in the screen.
  • can someone help me figure out text-shadow behind a text clipping mask?

    2
    0 Votes
    2 Posts
    956 Views
    S
    can u post and example of the html and CSS used for that?
  • Change the color of the relative dates in the default calendar.

    3
    0 Votes
    3 Posts
    1k Views
    Е
    Thank you very much. I understood, but this is still difficult for me.
  • Use image as Header?

    3
    0 Votes
    3 Posts
    1k Views
    F
    Brilliant! Thank you so much.
  • Compliments Font (Crying Uncle)

    font custom.css
    2
    0 Votes
    2 Posts
    1k Views
    yawnsY
    this should work .compliments .xlarge { font-family: Verdana; font-weight: 10; }
  • Anyone fancy doing a fulscreeen month calendar?

    6
    0 Votes
    6 Posts
    2k Views
    ?
    [image: 1550672752004-sc1.png] I don’t know what you mean grayscale theme, but how about this? Unless you set your style to event, it will be displayed as B/W style. like this; [image: 1550672935890-sc2.png] Of course you can adjust color with CSS. [card:eouia/MMM-CalendarExt2] MMM-CalendarExt can do that also.
  • Rotating Module in Fullscreen (100%)

    2
    0 Votes
    2 Posts
    1k Views
    Mykle1M
    @userloris You might try changing the config position of each module to fullscreen_above, as such: position: 'fullscreen_above', I don’t know how each module will react to such a setting. You might see some odd formatting in the display of modules that were not designed/intended to be displayed this way.
  • 0 Votes
    3 Posts
    1k Views
    S
    ahh yes, padding… thx :-)
  • Hot to set MagicMirror not on top?

    3
    0 Votes
    3 Posts
    1k Views
    S
    the design is the MM owns the screen… so you should open a window and show the vlc thru the mirror, i think there is already something that does this…
  • "Today" on default calendar module

    6
    0 Votes
    6 Posts
    3k Views
    R
    @bkeyport, I modified my config with your config and it removed the Today, just as I was looking for! Thank you for your help. I think where my problem may have been is instead of having all of the config options above the calendars section, right after the config braces, I had all of my options below the url line in the calendars section… When I saw your config layout, I was immediately suspicious of my config layout being the culprit… I had one mirror that was still displaying Today even though I edited the config just like the other one that was not displaying it… I ended up having to edit line 279 in the calendar.js file & removing the text “Today” from "timeWrapper.innerHTML = this.capFirst(this.translate("Today “));” That together does the trick! I thank you for your help!