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
  • Unsure where to place custom.css

    2
    0 Votes
    2 Posts
    458 Views
    S
    @jant91 yes, it should be in ~/MagicMirror/css if U had used my installer script I would have created and empty file. we removed it from the distribution a couple releases ago, cause we kept overwriting the user managed file.
  • Modules overlaping / Module überlappend

    5
    2
    0 Votes
    5 Posts
    987 Views
    LordyL
    @BKeyport ``` BKeyport BKeyport Module Developer vor 12 Stunden I believe that’s HTML just trying to make everything fit… The only way to fix it, IMO, is to reduce the font size in the complements module so that long statements fit. I think so too, but I would like to have a possibility where the font is displayed via "MMM-TomTomTrafficIncidents". Thanks anyway. Das denke ich auch, aber ich wollte gern, eine Möglichkeit, wo die Schrift über "MMM-TomTomTrafficIncidents" angezeigt wird. Trotzdem Danke.
  • different screen resolution

    2
    0 Votes
    2 Posts
    766 Views
    S
    @bdream well, the main.css is hard coded to 1920/1080… I have an adjusted one that uses view height/width view height/width main.css config.js doesn’t adjust and most modules (including mine) are pixel based
  • Changing customcss for third party modules.

    4
    0 Votes
    4 Posts
    735 Views
    S
    @nibov33070 sorry, you are still unclear… there is an entry in the css. you looked at the code and it uses the info class but if u edit the info class (to be the same as the already existing class???) it doesn’t work? in the config for the module it says this is required showImageInfo: true, https://github.com/darickc/MMM-BackgroundSlideshow
  • Changing the icon for only one calendar

    7
    0 Votes
    7 Posts
    2k Views
    G
    @sdetweil Yes but I don’t understand how to make this … And English is difficult to me (I’m French) … Is there any solution for my problem ? Thank you
  • Traffic Module height and width not adjusting

    1
    1
    0 Votes
    1 Posts
    268 Views
    D
    I have the TomTomTraffic module running in a split Upper Third container. When I attempted to resize the map using custom.css file, it would not take. I tried calling the module itself .MMM-TomTomTraffic { height: 550px; width: 527.5px; } but did not change. It is currently doing 400px x 400px. When I look at the developer mode and drill down I can see the element style is overriding everything else but have no clue how to code this in css so looking for a bit of help. [image: 1590091090342-capture.jpg]
  • I want to cut an Module

    3
    1
    0 Votes
    3 Posts
    498 Views
    Mykle1M
    @Noah007 This will remove the underline altogether. Not a fan of headers at all. Substitute your email module name. .MMM-PC-Stats header { border-bottom: none; }
  • Anyone Use Custom CSS's in VirtualBox?

    css font size
    6
    0 Votes
    6 Posts
    1k Views
    S
    @clebo99 yes, zoom setting will be remembered
  • Moving modules

    8
    1
    0 Votes
    8 Posts
    2k Views
    Mykle1M
    @gwiz Sure, but troubleshooting will have to be done to determine the cause. I suggest you try the following: Disable all modules except the weatherforecast module in your config.js file. Disable all entries in your custom.css file except the one for weatherforecast. Now see if the css entry for weatherforecast works.
  • Custom css to analog clock

    4
    0 Votes
    4 Posts
    1k Views
    bheplerB
    Here, this might be helpful for what you are trying to accomplish. https://stackoverflow.com/questions/6088409/svg-drop-shadow-using-css3
  • Question for custom css

    8
    1
    0 Votes
    8 Posts
    2k Views
    D
    @lavolp3 Thanks! I loaded up a new MM build today and started messing with the configs using this one as a reference and so far I am liking the results. Similar to what I was originally aiming for. Much appreciated for pointing this out!
  • Newsfeed size

    29
    0 Votes
    29 Posts
    10k Views
    Mykle1M
    @cyberphox :thumbsup:
  • missing custom.css file

    19
    0 Votes
    19 Posts
    6k Views
    S
    @mmmmh well, there is no damage if its not there, so, if you need it, you will create it… i agree with you it should be there… there are quite a few new users that are following some guide, and get to the ‘edit custom.css file’ step and its not there and they are lost. and don’t know what to do.
  • How to delete this line

    3
    1
    0 Votes
    3 Posts
    529 Views
    StoffbeuteluweS
    @broberg Thank you works fine …that looks better :ok_hand_medium_skin_tone:
  • 0 Votes
    32 Posts
    10k Views
    S
    @Radnor said in Is it possible to have CSS for normal screens and a custom CSS for 7in screen?: ” (BEFORE changing width to 801) right, the node_helper was not loaded, so the UI will just sit and wait for data that will never come if you opened the dev window, console tabe, you would see an error from the module trying to send a message to the node_helper, which is not loaded…oops…
  • Spacing question

    2
    0 Votes
    2 Posts
    446 Views
    lavolp3L
    @matelot20 what you see is most probably the margin of the modules Try changing that .bottom_bar .module { margin: 0; }
  • Question about layout position

    6
    1
    0 Votes
    6 Posts
    2k Views
    lavolp3L
    @matelot20 Try putting it into fullscreen_below but in the config below the picture module. Or you could put it into bottom_bar and adjust the margin_bottom accordingly
  • Layout and positioning on a tiny screen.

    8
    0 Votes
    8 Posts
    5k Views
    G
    @broberg said in Layout and positioning on a tiny screen.: @smackenzie5 Config.js doesn’t really do anything to the layout, it is the index.html and main.css that defines the different positions that you can use. Hi guys! It seems like I am blowing the dust off this old topics! By the way… I am trying to change the postions of some modules and I am having the same issue as @smackenzie5 , first it loads the module where i want to place it, but at the end of the loading it increases the size of the top_bar and place it as default. this is what I’ve put in the custom.css .MMM-network-signal{ position: absolute; transform.scale(0,35); left: 1800px; top: 0px; } Is it because it overlaps with the Weather module?
  • need help with custom css

    2
    0 Votes
    2 Posts
    495 Views
    L
    I mean this picture [image: 1587215097720-screenshot.png]
  • Enlarging clock causes overlap

    4
    0 Votes
    4 Posts
    1k Views
    S
    Wooo sorted :D .clock .time{ /*transform: scale(5);*/ font-size:300px; } .clock .date { font-size: 75px; margin-bottom:75px; } .region.top .container { margin-bottom: 200px; } results in: [image: 20200329-132309sml.jpg]