Variables

There are over 100 variables that the user can set to customize either the calendars generated or the behavior of FWCalendar while the calendar is being created.

User variables are contained in localized preferences files. This allows you to keep your variables separate so you don't have to change them every time the macros are updated. No values need to be entered in the preferences file if the values listed as default are acceptable; if the default value is not acceptable, enter the desired values in the preferences file.

Changes made to the preferences file using the variable editor are saved, but not to the preferences file itself (this file is never modified by the program). Should you change any values in the preferences file, you will need to select the "Load" button in the variable editor and re-load the preferences file for the changes to be read. Note that this will cause any previous changes made with the variable editor to be lost, so it is always best to keep your preferred default values set in the preferences file.

Both FWCalendar and FWCAddEvent use the same preferences file for initializing variables, so the preferences file should not be changed between using FWCalendar and FWCAddEvent. See notes on the Variable Editor for more details.

There should be no need to change variables in the macro itself.

All font sizes are computed according to the size of the TextArea and the MiniCal heights relative to the area available to the calendar. The font used for dates, highlights, and FWCAddEvent text can have the width adjusted.

The following rules MUST be followed in creating or modifying a preferences file:

Any comments must be fully contained in the same line.
Variable names must be separated from the '=' by at least one space.
The variables must be followed by the line: /* End Pass One - DO NOT DELETE THIS LINE!!! */

Localization strings
Localized preferences files are included with the distribution. Each file includes all of the currently used translation strings (ending in '$'). If you would like to include your language, please contact the author. If you would like to improve the translation strings for your language, please email the author the updated preferences file.

Variables
Special variable pairs are available to allow variations in sentence structure for different languages and to customize parts of the calendars. The variable pairs and their defaults are:

GeneratingM$ = 'Generating %s %s calendar'
GenMVars = 'Month.Month EnteredYear'

GeneratingY$ = 'Generating %s calendar'
GenYVars = 'EnteredYear'

Header$ = '%s %s'
HeaderVars = 'Month.Month EnteredYear'

SubHeader$ = ''
SubHeaderVars = (undefined)

Each of the %s place holders in the first of each variable pair is replaced by one of the internal variables identified in the second of each variable pair. Although any internal variable can be used, the most useful variables are:

Month for the number of the calendar month
Month.Month for the name of the calendar month
EnteredYear for the calendar year

With a little knowledge of ARexx, variations of these variables can be created:

left(Month.Month,3) for the 3-letter abbreviation of the calendar month
right(EnteredYear,2) for the last two digits of the calendar year

Note: the replacement variables must not contain any spaces.

The defaults result in requesters saying 'Generating August 2000 calendar' and 'Generating 2000 calendar', and a calendar header of 'August 2000' (depending on the selected month/year, of course), respectively.

 
Miscellaneous Variables
AddEventRows The maximum number of rows of FWCAddEvent text allowed on each day; affects the point size of the FWCAddEvent font
Values: any decimal number (larger = smaller text)
Default: 9
AdjustDST Take daylight savings time changes into account when using SunCalc
Values: 0 = don't adjust, 1 = adjust (requires RexxTricks.library)
Default: 1
CalendarBorder Percentage² of calendar width to offset the calendar outline box
Values: Decimal number (0 = no outline box)
Default: 0
CalendarShadow Percentage² of calendar width to offset the calendar shadow box
Values: Decimal number (0 = no shadowbox)
Default: 0
ChangePubScreen Force application screen to shanghai windows (see Tips & Solutions and DoShanghai)
Values: 0 = don't force, 1 = force
Default: 0
CornerRadius Cause day-boxes to have rounded corners rather than be rectangular boxes. If Final Writer is the host application, then don't use with DoDateBox
Values: FW = Actual radius fixed by FW, but adjust this value to shift dates away from corners
PGS = Any small decimal number (represents percentage² of day-cell height)
Default: 0
DateOffset Percent² of box width to offset dates from edge of box
Values: any decimal number
Default: 2
DoHide Hide PageStream window while rendering (see Tips & Solutions)
Values: 0 = don't hide, 1 = hide
Default: 0
DoShanghai Force application screen to shanghai windows (see Tips & Solutions and ChangePubScreen)
Values: 0 = don't force, 1 = force
Default: 1
EventKey Sets the "hot key" for the event gadget of the FWCAddEvent requester
Values: Any character
Default: 'E'
FinalView Sets the magnification percent² of the calendar after it is created
Values: FW = Any whole number (20 - 400)
PGS = Any number (5 - 3000)
Default: 75
GenMVars The variables substituted for the %s placeholders in GeneratingM$ (found in the FWCTranslations.txt file)
Values: Any internal FWCalendar variable
Default: 'Month.Month EnteredYear'
GenYVars The variables substituted for the %s placeholders in GeneratingY$ (found in the FWCTranslations.txt file)
Values: Any internal FWCalendar variable
Default: 'EnteredYear'
GfxApp The name of the graphics application used to determine the datatype, width, and height of images to be inserted
Values: see Images
Default: 'Visage'
GfxAppPath Path to graphics application
Values: : or / terminated path to the graphics application; don't include the application name with the path!
Default: None
GfxCmd The template used in calling the graphics application
Values: see Images
Default: '%s info'
GfxTemplate The template used in parsing the graphic application's output
Values: see Images
Default: '. "0a"x . ImgDT ImgWidth "x" ImgHeight "x" .'
HeaderLoc Percent² down the text area (TTextArea or WTextArea, as appropriate) the header (month/year) will be placed
Values: any decimal number
Default: 25
HeaderSize Percent² of text area (TTextArea or WTextArea, as appropriate) to be used for the header text (Header$)
Values: any decimal number
Default: 50
Header$ The text used for the header, with %s placeholders for the varibles found in HeaderVars
Values: Any text
Default: '%s %s'
HeaderVars The variables substituted for the %s placeholders in Header$
Values: Any internal FWCalendar variable
Default: 'Month.Month EnteredYear'
HighlightRows The maximum number of rows of Highlight text desired in each day; affects point size of Highlight font
Values: any decimal number (larger = smaller text)
Default: 9
ImageClass. Image files to be used for common events¹
Vaules: An image file, with or without path (see Images)
Default: None

The variables must match a word in the highlight for the day (see Images for more information)
LaunchM Variable to be INTERPRETed upon completion of monthly calendar
Values: See Launch Program
Default: None
LaunchY Variable to be INTERPRETed upon completion of yearly calendar
Values: See Launch Program
Default: None
Leading The height of each text line expressed as a percentage² of the font height.
Values: any decimal number (larger = lines farther apart)
Default: 100
MagnifyExtras The font size of the extras (sunrise, julian, etc) text; expressed as a percentage² of the internally calculated highlight font size.
Values: any decimal number (<100 will shrink extras text, >100 will make extras text larger)
Default: 100
MaxImgHeight Maximum percentage² of boxheight to be used for images
Values: Decimal number less than 1
Default: 75
MaxImgWidth Maximum percentage² of boxwidth to be used for images
Values: Decimal number less than 1
Default: 75
MiniCalHeight Percentage² of text area height used for minicals
Values: any decimal number
Default: 60
MiniCalSpacing Percentage² of print width placed between full-year minicals
Values: any decimal number
Default: 5
MiniCalWidth Percent² of the minical height (MiniCalHeight) to use for the width of the minicals
Values: any decimal number
Default: 200
MinWidth The smallest font width allowed when compressing highlights and events, expressed as a percent² of the normal width
Values: any decimal number (lower = more compression allowed)
Default: 80
MoonRadius Percentage² of boxheight to use for moon image
Values: Decimal number less than 100
Default: 10
PageHeight Height of paper in current units
Values: any decimal number in your measurement units
Default: FW = read from preferences
PGS = 11.0
PageWidth Width of paper in current units
Values: any decimal number in your measurement units
Default: FW = read from preferences
PGS = 8.5
ShiftLMini Values for shifting the left minical; shift = value/720 inches
Values: any number (- = shift left, + = shift right)
Default: 0
ShiftRMini Values for shifting the right minical; shift = value/720 inches
Values: any number (- = shift left, + = shift right)
Default: 0
StartWeek Day of the week to use in the first calendar column
Values: 0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
Default: 0 (Sunday)
StretchDateH Percent² of calculated date height to use for dates, can give "drop cap" effect
Values: Any number, best 100 - 400
Default: 100
StretchDateW Percent² of calculated date width to use for dates
Values: Any number, best 100 - 400
Default: 100
Storage : or / terminated path where temporary files will be created (see Executing Commands for how to automatically delete temporary files)
Values: Any : or / terminated path
Default: 'RAM:FWC/'
SubHeaderLoc Percent² down the text area (TTextArea or WTextArea, as appropriate) the subheader will be placed. Note that the subheader can be place above the header
Values: any decimal number
Default: 0
SubHeaderSize Percent² of text area (TTextArea or WTextArea, as appropriate) to be used for the subheader text (SubHeader$)
Values: any decimal number
Default: 0
SubHeader$ The text used for the subheader, with %s placeholders for the varibles found in SubHeaderVars
Values: Any text
Default: ''
SubHeaderVars The variables substituted for the %s placeholders in SubHeader$
Values: Any internal FWCalendar variable
Default: ''
SunCalcPath Path to SunCalc
Values: : or / terminated path to SunCalc; don't include the application name with the path!
Default: None
Text. Text strings to be included before the value¹
Default: ''
Julian - Julian days
WeekNumber - Sequential week number
Sunrise - Sunrise time
Sunset - Sunset time
TextAdj Percent² of font height to lower inserted text when Final Writer is the host application; takes into account that Final Writer text is located according to the baseline and not the top or bottom of the text block. TextAdj represents how far down the font the baseline is located.
Values: any decimal number
Default: 77
TTextArea Percent² of print height used for top of tall calendar
Values: any decimal number
Default: 15
WeekdaySize The percent² of available vertical space used for the names of the weekdays
Values: any decimal number
Default: 50
Width. Font widths¹ (in percent²)
Values: FW - Any whole number (4 - 255)
PGS - Any number (1 - 655 by 0.01)
Default: Calculated or 100
Date - Day numbers, highlight & FWCAddEvent text
WTextArea Percent² of print height used for top of wide calendar
Values: any decimal number
Default: 20


Colors
Color. Text & moon colors¹
Default: Black
AddEvent - FWCAddEvent text
Date - Day numbers
Extended - Day numbers for previous/next months
Header - Calendar header (Month & Year)
Highlight - Day numbers & text for non-holiday highlights
HighlightH - Day numbers & text for holiday highlights
Julian - Julian day number
MiniCal - MiniCal day numbers
Moon - Moon image
NoteBox - Note box label
SubHeader - Calendar subheader
Sunrise - Sunrise time
Sunset - Sunset time
Weekday - Weekday titles
WeekNumber - Sequential week number
AltColor. Text colors for use when there is a non-white background¹
Default: Black
Date - Day numbers
Extended - Day numbers for previous/next months
Highlight - Day numbers & text for non-holiday highlights
HighlightH - Day numbers & text for holiday highlights
Julian - Julian day number
Sunrise - Sunrise time
Sunset - Sunset time
WeekNumber - Sequential week number
Line. Line and box colors¹
Default: Black
CalBorder - Outline box around calendar, defaults to Line.Grid
Grid - Current-month dates (main grid color)
MiniCal - Minical borders
Extended - Previous/next months
AddEvent - Boxed events added with FWCAddEvent
NoteBox - Note box
Background. Background colors¹
Default: <Clear> or white
AddEvent - Boxed events added with FWCAddEvent
CalShadow - Calendar shadow
Highlight - Non-holiday highlights
HighlightH - Holiday highlights
MiniCal - Minicals
MiniCalShadow - Minical shadow
NoteBox - Note box
Weekend - Saturdays & Sundays

Fonts
Font. Font names¹
Values: FW = Any valid font including FULL path
PGS = Any valid font name
Default: FW = 'FWFonts/SWOLFonts/SoftSans_Bold'
PGS = 'Helvetica-Bold'
Date - Day numbers
Extras - Sunrise/sunset, julian/julian left, etc
Highlight - Highlights and FWCAddEvent
Weekday - Weekday titles
Header - Calendar header (Month & Year)
SubHeader - Calendar subheader
Minical - MiniCal day numbers
Bold. Bolded font names¹
Values: FW = Any valid font including FULL path
PGS = Any valid font name
Default: FW = 'FWFonts/SWOLFonts/SoftSans_Bold'
PGS = 'Helvetica-Bold'
MiniCal - MiniCal day numbers
FYMiniCal - Full-year MiniCal day numbers

¹These variables will appear as a combination of the "stem" and a particular variable, such as Color.Date

²All percents are such that 1 = 1% and 100 = 100%