Skinning the Rainy - Small Mode
from
WinCustomize Forums
By now, I’m sure most people have seen the Rainlendar skins with small mode. You know, the ones that typically show only the current date or maybe the date, day of week and month? Here’s an example from the ‘Tranquil’ skin:

If you’ve looked into the ‘Edit current skin’ dialog to see how it is done, you might have been a little surprised to find nothing checked to show, other than a background designated. You might be wondering, “How do they get the day, month, and day of week to show?”
Well, it all takes place in the ini file. If you open the Small.ini file, you’ll see a few entries at the very end of the file like the one below:
[Time1]
Window=0
X=40
Y=17
Rasterizer=FONT
Align=18
Font=-11/0/0/0/700/0/0/0/0/3/2/1/34/Tahoma
FontColor=0
Format=%A
By now you’re asking yourself, “What in the world does that mean?” The Skinning.txt file in the Rainy folder is a good place to start, but here’s a brief explanation of what all those entries mean and how to use them.
The first line, [Time1], designates a new section which can show any number of things depending on the format used, which we’ll get into a little further along. Each section must have a different number to differentiate it from the other sections, ex. Time1, Time2, etc. You will need a different section for each item you want to show.
The second line, Window=0, determines in which window to place the info. The values than can be used are 0 = Calendar, 1 = Todo, 2 = MessageBox, 3 = EventList. For the small mode, ‘0’ is used.
The third and fourth lines, X=40;Y=17, are the coordinates (location) of the items to be placed.
The fifth line, Rasterizer=FONT, determines whether you want to use a font or a bitmap to display the items. If using bitmap, you must define the bitmap, which must have numbers from 0 to 9.
The sixth line, Align=18, is used to set the alignment of the items and use the following values:
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter
If you are using a bitmap instead of a font, Separation and Digits come into play.
Separation is the horizontal separation of the numbers (how close/far the numbers are placed from each other). This is only applied with bitmaps when the number of components is 10. The value can be negative.
Digits is the number of digits used in the values. Again, this applies only to bitmaps.
The seventh line, Font=-11/0/0/0/700/0/0/0/0/3/2/1/34/Tahoma, looks complicated but the first and last values are the most important. They are the font height and the font typeface name. You may also choose to use the fifth value, in this case 700, to alter the weight of the font. Here is the full list:
· height of font
· average character width
· angle of escapement
· base-line orientation angle
· font weight
· italic attribute option
· underline attribute option
· strikeout attribute option
· character set identifier
· output precision
· clipping precision
· output quality
· pitch and family
· typeface name
Ok, almost done. Next comes Font Color, which is a BGR hex-value, such as FF66FF
And last comes Format. This is how you determine what items show and there are many values to choose from. Here’s a list:
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%I Hour in 12-hour format (01 – 12)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 – 59)
%U Week of year as decimal number, with Sunday as first day of week (00 – 53)
%w Weekday as decimal number (0 – 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00 – 53)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number
%z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown
%% Percent sign
Although by no means a complete guide to skinning the Rainy, this guide should give you enough information to dig into a Rainy with small mode and create your own with a better understanding of what you are doing.

If you’ve looked into the ‘Edit current skin’ dialog to see how it is done, you might have been a little surprised to find nothing checked to show, other than a background designated. You might be wondering, “How do they get the day, month, and day of week to show?”
Well, it all takes place in the ini file. If you open the Small.ini file, you’ll see a few entries at the very end of the file like the one below:
[Time1]
Window=0
X=40
Y=17
Rasterizer=FONT
Align=18
Font=-11/0/0/0/700/0/0/0/0/3/2/1/34/Tahoma
FontColor=0
Format=%A
By now you’re asking yourself, “What in the world does that mean?” The Skinning.txt file in the Rainy folder is a good place to start, but here’s a brief explanation of what all those entries mean and how to use them.
The first line, [Time1], designates a new section which can show any number of things depending on the format used, which we’ll get into a little further along. Each section must have a different number to differentiate it from the other sections, ex. Time1, Time2, etc. You will need a different section for each item you want to show.
The second line, Window=0, determines in which window to place the info. The values than can be used are 0 = Calendar, 1 = Todo, 2 = MessageBox, 3 = EventList. For the small mode, ‘0’ is used.
The third and fourth lines, X=40;Y=17, are the coordinates (location) of the items to be placed.
The fifth line, Rasterizer=FONT, determines whether you want to use a font or a bitmap to display the items. If using bitmap, you must define the bitmap, which must have numbers from 0 to 9.
The sixth line, Align=18, is used to set the alignment of the items and use the following values:
0 = TopLeft
1 = TopRight
2 = TopCenter
16 = MiddleLeft
17 = MiddleRight
18 = Middle
32 = BottomLeft
33 = BottomRight
34 = BottomCenter
If you are using a bitmap instead of a font, Separation and Digits come into play.
Separation is the horizontal separation of the numbers (how close/far the numbers are placed from each other). This is only applied with bitmaps when the number of components is 10. The value can be negative.
Digits is the number of digits used in the values. Again, this applies only to bitmaps.
The seventh line, Font=-11/0/0/0/700/0/0/0/0/3/2/1/34/Tahoma, looks complicated but the first and last values are the most important. They are the font height and the font typeface name. You may also choose to use the fifth value, in this case 700, to alter the weight of the font. Here is the full list:
· height of font
· average character width
· angle of escapement
· base-line orientation angle
· font weight
· italic attribute option
· underline attribute option
· strikeout attribute option
· character set identifier
· output precision
· clipping precision
· output quality
· pitch and family
· typeface name
Ok, almost done. Next comes Font Color, which is a BGR hex-value, such as FF66FF
And last comes Format. This is how you determine what items show and there are many values to choose from. Here’s a list:
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%I Hour in 12-hour format (01 – 12)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 – 59)
%U Week of year as decimal number, with Sunday as first day of week (00 – 53)
%w Weekday as decimal number (0 – 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00 – 53)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number
%z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown
%% Percent sign
Although by no means a complete guide to skinning the Rainy, this guide should give you enough information to dig into a Rainy with small mode and create your own with a better understanding of what you are doing.
Thanks for your work!