Shop Forum More Submit  Join Login
LuaCalendar 6.0 by smurfier LuaCalendar 6.0 by smurfier
*** Requires Rainmeter 3.3.2 or higher ***
Before upgrading to a newer version, back up all settings, holiday files, and personal style sheets.

A simple calendar powered by Lua with many customizable options.

Options and Features include:
  • Uses Style Sheets for easy customizing.
    • Includes three default styles and an Enigma style.
  • Start the week on Monday.
  • Use localized month names.
  • Show holidays and events.
  • Move through the months.
  • And many more!

For more information visit:…
Add a Comment:
stulumbus Featured By Owner Apr 26, 2018
I know I'm probably missing something obvious here but, when I install the skin, it appears transparent on my desktop. I've attempted to look into the .ini file to find a way to give the skin a dark background but I can't figure out how to make that happen. If anyone can help me with this I'd sure appreciate it! 
Pul53dr1v3r Featured By Owner May 1, 2018  Hobbyist General Artist
Try this modification:…

The original version has no background at all, so you have to add yours.
Temetka Featured By Owner Nov 29, 2017
Attempted to download 3 times. Says it has a trojan in it. Is there a different download link?
smurfier Featured By Owner Mar 12, 2018
There is no trojan.
Pul53dr1v3r Featured By Owner Nov 30, 2017  Hobbyist General Artist
It's false-positive. Pause your antivirus protection and download the file again, but when you enable the protection, your AV will delete it again. I suggest you to use either Kaspersky or Bitdefender (Panda is great as well, but not used it), to avoid such problems. 
Also, you can upload any suspect file to VirusTotal and scan to see what the other Anti-Viruses "say" about the file.
qwertEHOK Featured By Owner Aug 21, 2017
is there anyone alive?
the calendar is still updated?
Russian letters are displayed incorrectly. even in a UTF8
soyelrafa Featured By Owner Edited Aug 1, 2017
Cool skin!

I would like to add my own events to the skin, there is a way to do that?

EDIT: I see that you can create your own XML, but there is any way to make this within Rainmeter?
smurfier Featured By Owner Aug 9, 2017
There are currently no plans on making a rainmeter skin for adding events. Just too messy. The only things I'm kinda maybe working on is slowly supporting ical files.
puntarenas Featured By Owner May 20, 2017
Functions like {$LastFri} return the wrong day if the option "Week Starts On Sunday" is NOT checked. For example, Arbor Day is marked on the 29th of April 2017 (which is a saturday) instead of the 28th of April. Would be nice if you could fix that.
smurfier Featured By Owner Jul 11, 2017
Works perfectly fine on my machine.
levon9 Featured By Owner Edited Nov 24, 2016
Hi, new to Rainmeter and this too :)  .. this is perfect, just what I was looking for ina minimalist calendar.

However, I can't get month labels to show. I fond the file to let me change the font colors and labels from white to black for instance (at least getting started) and manipulate the transparency, though not for the label at the top of the calendar.

Also, is there a way to make the current day stand out more? I see in the style file it's set to Bold, but that's not as distinctive? Can I just change its color? Or the color of the bar below it (I'm assuming that's an additional indicator the current day?)

Thanks again for putting this together - sorry for what must be elementary questions.
mcmaguidhir Featured By Owner Nov 6, 2016
I cannot seem to get Holidays.xml file working properly for Mardi Gras, Ash Wednesday, Good Friday, and Easter Sunday. The help page… indicates that Built-In Event Variables are available for each of these holidays.

"In order to support events that require complex calculations, LuaCalendar supports certain Built-In events. These events create both a {$EventName:Month} and an {$EventName:Day} variable. The value of these variables are recalculated for each year so that they are kept up to date. Currently the supported Built-In Events are Easter, OrthodoxEaster, GoodFriday, AshWednesday, and MardiGras."

So is this correct?

 <!-- Built in Holidays. Add Inactive="true" to disable. -->
 <!--                     -->
 <Event Inactive="false" Month="{$MardiGras:Month}" Day="{$MardiGras:Day})" Color="FF7CFCFF">MardiGras</Event>
 <Event Inactive="false" Month="{$AshWednesday:Month} Day="{$AshWednesday:Day}" Color="FF7CFCFF">Ash Wednesday</Event>
 <Event Inactive="false" Month="{$GoodFriday:Month}" Day="{$GoodFriday:Day}" Color="FF7CFCFF">Good Friday</Event>
 <Event Inactive="false" Month="{$Easter:Month}" Day="{$Easter:Day}" Color="FF7CFCFF">Easter Sunday</Event>
 <!--                      -->

The example holiday.xml file has a pretty complex set of calculations. Unfortunately when I make the example Easter calculations active none of the holiday file shows up on the calendar. If I make these calculations Inactive=True nothing shows up on calendar; if I make them Inactive=False everything but Easter shows up.

Any thoughts?

Thank you.
mcmaguidhir Featured By Owner Nov 7, 2016
Extra paren after Day


Month="{$MardiGras:Month}" Day="{$MardiGras:D (Big Grin)ay})"


Month="{$MardiGras:Month}" Day="{$MardiGras:D (Big Grin)ay}"
mcmaguidhir Featured By Owner Nov 7, 2016
Seek and ye shall find. In the example above I forgot the " after Month.

This is wrong:

Month="{$AshWednesday:Month} Day="{$AshWednesday:D (Big Grin)ay}"

This is right:

Month="{$AshWednesday:Month}" Day="{$AshWednesday:D (Big Grin)ay}"

And it all works.

Thanks for letting me think this out on the comments page. Sorry for time waster.
mcmaguidhir Featured By Owner Nov 6, 2016
Sorry. Brand new to Rainmaker. I installed v3.something from the deviantart site and everything looked great. After installing v6.0 the calendar, background and text is transparent on my desktop; I can barely read it. I have been unable to figure out how to easily customize the skin to make it readable. Can you point me to the correct ini file to point to the correct file to make the appropriate change? I would like to make it look like the illustro skins although with colored moon, weekend and holiday events. I just need a darker background and brighter fonts. Thanks.

Again sorry for the newbie dumb questions.
mcmaguidhir Featured By Owner Nov 6, 2016
Of course. Ask question find the rest of the answer.

In \resources\Styles\Default\ under [Rainmeter] section change SolidColor=0,0,0,### where ### is 0-255 transparency of skin.

In \resources\Styles\Default\ under [LblTxtSty] section change FontColor=255,255,255,255 to have white text for Day of Week labels.

In \resources\Styles\Default\ under [LblTxtSty] section change SolidColor=0,0,0,### where ### is 0-255 transparency of background for Sun, Mon, Tue ... labels.

In \resources\Styles\Default\ under [TextStyle] section change FontColor 255,255,255,255 to have white text for day numbers.

In \resources\Styles\Default\ under [PreviousMonth], [NextMonth], and [HolidayStyle] sections change value1,value2,value3,### where ### is the transparency (brightness) of the font.

mcmaguidhir Featured By Owner Nov 6, 2016
Of course. Ask question, find part of the answer. Change style sheet in \resources\ under [Variables] section.
scottbeeson Featured By Owner Jul 11, 2016
"Unable to create file: ...RainList.exe"

will not run
TheWoif Featured By Owner Apr 7, 2016
I'm trying to write an event that will occur every 2 weeks starting from the first Friday of the year, so far I have:

<Event Year="2016" Month="1" Day="{$FirstFri}" Description="Friday Off" Color="999900" Repeat="Custom" Multiplier="86400*14"/>

It stay correct for the month of January, then once switching over to February all of a sudden it shows on Tuesdays (still following the once every two weeks rule). Is there something wrong in the way I wrote my event? or something wrong in the calendar code?
flamelilly Featured By Owner Feb 1, 2016
Heeey so I realize that it's been years since anyone has commented on this, but I am using the LuaCalendar for the first time this year with the Week Number option and it's only showing 2015 with 52 weeks (it had 53) which throws all the week numbers this year off. Anyone have any idea how to fix this? I've combed through all the settings files for an option to tweak, to no avail.
smurfier Featured By Owner Feb 1, 2016
When I added the feature to display week numbers I found that there were several ways to calculate them. The one that seemed the most popular is the reason the week numbers are off.
herbstgy Featured By Owner Nov 21, 2015
Greetings, Commander...

First of all, your calendar script is great, I was looking for something like this for a long time now.
I try to make a work shift calendar for myself, and I ran into some trouble.
What I try to achieve is create an event beginning a specific date, then repeating in every 4 weeks.
So I created an event.xml file and put in it a
<Event Year="2015" Month="11" Day="9" Color="FFFF66FF" Repeat="(Week*4)" Description="Day Shift"/>
If I understand correctly, this event should repeat every 4 week from the date 2015.11.09 (Monday), which means the next occurrence is at 2015.12.07 (Monday). However, the next event displays at 2015.12.09 (Wednesday). What did I do wrong in the xml?
herbstgy Featured By Owner Nov 22, 2015
nevermind, i figured it out... :)
kimchin104 Featured By Owner Oct 26, 2015
Is it possible to resize the skin? make it a little bit bigger?
rbrychckn Featured By Owner Nov 12, 2015
Yes, I'd also like to do this
herbstgy Featured By Owner Nov 22, 2015
yes, you can. in the styles directory, in the directory of your chosen style, there's a file.
in that file, you ca change the cell sizes of the calendar, and the space between the rows and columns.
TechyTech Featured By Owner Jul 14, 2015
please add work week numbers (ie: this week is "ww29")
Outlook 2013 calendars allow this option and it's extremely useful for group planning and project tracking.

yuriv12 Featured By Owner Jun 24, 2015
is it possible to increase size of calendar?
GrayhorseRetired Featured By Owner Apr 26, 2015
Great job with the personalizing settings.   Got everything working, and wanted to frame it. how do I get the calendar to  go where I want it? Tryed putting X= and Y= in a bunch of locations, but, not any help. Again Great Job. I really Like the Calendar. Thanks
AvalPlaza Featured By Owner Jan 30, 2015
I dont get your Readme.txt.
To add an event I need to fiddle with .xml files in some remote windows folder to do, what a single tap did on an old Nokia brick in the 90s...
I am quite sure I missed something?
smurfier Featured By Owner Apr 5, 2015
Nope, you didn't miss anything.
rgkjr Featured By Owner Edited Dec 28, 2014
Virus Total detects 7 threats on luacalendar_5_0_by_smurfier-d4n57jh.rmskin:

AVware: Trojan.Win32.Generic!BT 20141228

K7AntiVirus: Trojan ( 700000111 ) 20141226

K7GW: Trojan ( 700000111 ) 20141226

NANO-Antivirus: Trojan.Script.Autoit.debver 20141228

Rising: PE:Trojan.Win32.Spiejy.a!1075356057 20141227

TheHacker: Trojan/Cosmu.bizd 20141227

VIPRE: Trojan.Win32.Generic!BT 20141228
smurfier Featured By Owner Dec 29, 2014
This is somewhat common when RMSKIN packages contain AutoIt addons, which this does. I am certain that there are no viruses in the package.
ElCidxx Featured By Owner Oct 1, 2014
Hello John,

first of all, thanks for your calendar, it's really what I was looking for!

Trying to add some events, I ran into the same issue noticed by v3rpin in Nov 2012 (pag. 7-8): without the repeat="..." argument in the <EventFile> heading, no event appears on the calendar. Can I kindly ask you if there's any solution for this? (I read that it was solved few days later, with an update, but it seems I'm facing with the same problem)

Thanks again,

fred-miaou Featured By Owner Jul 27, 2014
Bug with pipe !

I tried with:

EventFile="E:\Win 8\Sauvegardes\Program Source\Customisation\rainmeter\Calendriers\file 1.xml"|"E:\Win 8\Sauvegardes\Program Source\Customisation\rainmeter\Calendriers\file 2.xml"


EventFile="E:\Win 8\Sauvegardes\Program Source\Customisation\rainmeter\Calendriers\file 1.xml"|file 2.xml

With or without quotes.

Doesn't work and produce an error in log : Script: CScript.Lua:593: bad argument #1 to 'format' (string expected, got no value)

Using those files separately works.

So frustrating. I will apreciate some help or solution for this.

Plus another bug if title used:

<EventFile Title="Anniversaires" Repeat="Year">
    <Event Month="8" Day="8" Year="1952" Repeat="Year" Anniversary="true" Description="Mum"/>

Will only show -Anniversaires


<EventFile Repeat="Year">
    <Event Month="8" Day="8" Year="1952" Repeat="Year" Anniversary="true" Description="Mum"/>

works as expected.

smurfier Featured By Owner Jul 28, 2014
For the pipe problem, it is actually:

EventFile=E:\Win 8\Sauvegardes\Program Source\Customisation\rainmeter\Calendriers|file 1.xml|file 2.xml

Your first event works perfectly fine for me, granted that I'm using a newer version of the script with several issues fixed.

I hope to release a new version within the next few days.
fred-miaou Featured By Owner Jul 29, 2014
How can we be notified for a new release?
Pul53dr1v3r Featured By Owner Jul 20, 2014  Hobbyist General Artist
how to make a holiday that appears just in one year, no repeats?  
Pul53dr1v3r Featured By Owner Jun 20, 2014  Hobbyist General Artist
what about help? -_-
smurfier Featured By Owner Jun 20, 2014
I'm working on it. Trouble is that I have work, a life, and I'm making sure it works with the newer script that I'm using.
Pul53dr1v3r Featured By Owner Jun 21, 2014  Hobbyist General Artist
No problem mate.  I just wanted to know that you are working on it. I've  no doubt in your success. :)
smurfier Featured By Owner Jun 21, 2014
Just so you know... I'll probably just update the skin with a new variable for Orthodox Easter.
Pul53dr1v3r Featured By Owner Edited Jul 21, 2014  Hobbyist General Artist
If you didn't do it, here is a code for Orthodox Easter. Not tested:

function Orthodox Easter()
= (year % 19) + 1
= math.floor(year/400) + math.floor(8*(math.floor(year/100) + 11) / 25) - math.floor(year/100)
= (11 * golden + c) % 30
if (s < 0) then
= s + 30
= os.time{year=year, month=4, day=19} - s * 24 * 60 * 60
if (pfm == os.time{year = year, month = 4, day = 19}) then
= pfm - 24 * 60 * 60
elseif (pfm == os.time{year = year, month = 4, day = 18} and golden > 11) then
= pfm - 24 * 60 * 60
= pfm + (7 - tonumber("%w", pfm))) * 24 * 60 * 60
return {year = year, month = tonumber("%m", sunday )), day = tonumber("%d", sunday ))}
Pul53dr1v3r Featured By Owner Jun 22, 2014  Hobbyist General Artist
Ok. Just let me know when you have finished it.
Pul53dr1v3r Featured By Owner Edited Jun 17, 2014  Hobbyist General Artist
hi. Help me pls to edit the code and "match" the dates of Orthodox Easter  in the Calendar as the built in Holiday (as you know, the Easter is a movable feast). It could take some doing, but here is a helpful link about it:…
Read from "Orthodox Churches" title. I would greatly appreciate your help!
This is the formula: 

G = year % 19
I = (19*G + 15) % 30
J = (year + year/4 + I) % 7
L = I - J
EasterMonth = 3 + (L + 40)/44
EasterDay = L + 28 - 31*(EasterMonth/4)

G is the Golden Number-1
I is the number of days from 21 March to the Paschal full moon
J is the weekday for the Paschal full moon (0=Sunday, 1=Monday, etc.)
L is the number of days from 21 March to the Sunday on or before the Pascal full moon (a number between -6 and 28).
congtucodon2007 Featured By Owner Jun 1, 2014
How can i show current holiday tooltip as the text
smurfier Featured By Owner Jun 1, 2014
You want to display the holiday text instead of the day number?
Add a Comment:


Submitted on
January 21, 2012
File Size
651 KB
Submitted with


85,465 (4 today)
110 (who?)
25,084 (1 today)


Creative Commons License
Some rights reserved. This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.