Desktop Calendar by Glenn Delahoy (C) Copyright 2005-2010 All rights reserved Description ----------- A small calendar and event reminder that unobtrusively sits on your desktop and is ready to use any time. No taskbar button or system tray icon. The calendar is transparent so it's not an eyesore and consumes very little memory. Enter as many daily or regular reminders as you like. Float your mouse over a day to see all reminders for the day. Shows a short list of upcoming reminders below the calendar. Fonts, colours and tooltips are customisable so it blends in with your desktop colour and font schemes. Moving The Calendar On The Desktop ---------------------------------- To locate the calendar anywhere on your desktop, hold down the shift key then click and drag any of the navigation buttons under the calendar. To save this as the new default position, right click and select Save Position. Using The Calendar ------------------ The currently selected date is at the top, below that the days of the month, a few navigation buttons and a short list of upcoming reminders at the bottom. To enter reminders for any day, float the mouse over the desired day until it is higlighted then right click and select the Edit Reminders option. To change the display options, right click anywhere over the calendar and select Options. The five navigation buttons below the calendar allow you to move backward and forward to different months and years. Normal Reminders ---------------- Use this page to add single, one-off reminders for a particular day. At the top of the editor is the date editor. To change the selected date, click the down arrow of the combo. This drops down a little calendar selector. The current date is highlighted in blue, dates with reminders are outlined. Click the little -Month and +Month buttons at the bottom to change the selected month. Double click any day to change to that day. You can also drop down the calendar using Alt+Down when the combo has focus then use the cursor keys to navigate the calendar. Ctrl+Left/Right changes the month. Ctrl+Up/Down changes the year. To add a new reminder, click the Add button and type the text into the Description box. You can optionally set a reminder type to colour code the entry on the upcoming reminders list. To modify a reminder, highlight it in the list and change the text in the description box. To remove a reminder, highlight it in the list and click the Delete button. To change the order of the reminders, use the up and down shuffle buttons above the list. To save all changes, click the Apply button or the Ok button. Regular Reminders ----------------- Use this page to add regular reminders such as meetings, birthdays, anniversaries etc. To add a new reminder, click the Add button, type the text into the Description box, select the starting date using the date selector, select a reminder type and select the interval using the drop down Interval combo. To modify a reminder, highlight it in the list and change any or all of the Description, Start date or Interval. To remove a reminder, highlight it in the list and click the Delete button. To save all changes, click the Apply button or the Ok button. Where the original date for a monthly regular reminder is 29th, 30th or 31st of the month, subsequent months that are shorter will cause the reminder to be shunted to a different date. For example, if you create a monthly regular reminder starting on the 31st January, the reminder will show up on 28th Feb (or 29th), 31st March, 30th April etc. In other words, it will display correctly where such a date exists or it will be shunted where necessary. Reminders Text -------------- Add {age} to the reminder text to show the number of years since the start date. This will show a person's age at their next birthday. You can have multiple lines of text in a reminder. Where you want a line break, type the pipe symbol (|). This indicates the start of a new line. For example: This is line one|This is line two You can embed colour codes in the reminders for multi colours by adding a color word inside curly braces. For example: This is a {red}very {blue}important reminder. Available colours are: Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White default (returns to the default colour for that reminder) Desktop Calendar Options ------------------------ To modify the options, right click anywhere over the calendar and select Options. Options First Day Of The Week : Change the order of days displayed on the calendar. Date Format : Set your own format for the top date line, see below. If you leave this blank the default setting for the Windows long date format is used. Spacing : Adjust the space between the dates on the calendar. Calendar Font : Change the font name, font size and font colour of the main Desktop Calendar display. Mouse Over Colour : Change the colour used to highlight the day when the mouse is floating over a day. Header Colour : Change the colour of the day names. Highlights Days with reminders : Change how days with reminders are highlighted. Either change the day number or draw a border around the number. Selected day : Change the way the selected day is displayed (when you click on a day). Either make the day number bold, draw a border around the number or backlight the number. Tooltips : Change how the tooltip is displayed when the mouse is floated over any calendar or navigation button. Reminder Types : Build a list of reminder types such as birthday, appointment, very important or whatever and select a colour for each. These reminder types can then be assigned to reminders to help you quickly recognise types of reminders on the list. Other Coming Up List : Change the number of reminders displayed below the calendar. Startup : Set Desktop Calendar to load when Windows starts. This creates a shortcut in your Startup folder. Date Format Options ------------------- The following format specifiers are supported: Specifier Displays d Displays the day as a number without a leading zero (1-31). dd Displays the day as a number with a leading zero (01-31). ddd Displays the day as an abbreviation (Sun-Sat). dddd Displays the day as a full name (Sunday-Saturday). m Displays the month as a number without a leading zero (1-12). mm Displays the month as a number with a leading zero (01-12). mmm Displays the month as an abbreviation (Jan-Dec). mmmm Displays the month as a full name (January-December). yy Displays the year as a two-digit number (00-99). yyyy Displays the year as a four-digit number (0000-9999). h Displays the hour without a leading zero (0-23). hh Displays the hour with a leading zero (00-23). n Displays the minute without a leading zero (0-59). nn Displays the minute with a leading zero (00-59). am/pm Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly. a/p Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly. ampm Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the Windows AM setting for any hour before noon, and the contents of the Windows PM setting for any hour after noon. / Displays the date separator character given by the Windows Date Separator setting. : Displays the time separator character given by the Windows setting. Look at your Windows regional settings in Control Panel for more information. The time is updated once a minute, on the minute when Calendar is idle or a minute after the last action. Uninstalling ------------ Desktop Calendar doesn't place an entry in your Windows uninstall list. To remove it from your system simply close the Calendar application, delete the Calendar folder from your Program Files folder or wherever you installed it, and delete the shortcut from your Start menu. No files are installed anywhere else and no entries are made in the registry. Miscellaneous ------------- The Windows ClearType system makes a mess of the transparent text. The only solution I've found is to either switch off ClearType or use a fixed width font such as Courier, Fixedsys, MS Sans Serif, System. Desktop Calendar uses special API transparency functions only available in Windows 2000 and Windows XP and later. For this reason it performs a check of the Windows version on startup and halts if it thinks you don't have the required version. In some, as yet, unknown circumstances, the version check gets it wrong. If you think this might be the case for you, add the /noversion command line parameter to the shortcut. -------------------------------------------------------------- Release Notes Version v1.00 ------------- Initial release. Version v1.01 ------------- Change 1: Removed button borders for a cleaner look. Change 2: Fixed embarrassing error when you add the first entry. Version v1.10 ------------- Change 1: Added highlight for days that contain any entries. Change 2: Catch ampersands in the day hint. Change 3: Optimised the Coming Up list to reduce memory use. Change 4: Added regular items. Change 5: Current date now ticks over at midnight. Version v1.11 ------------- Change 1: Fixed some wierd memory allocation problems that were causing access violations in certain situations. Version v1.20 ------------- Change 1: Added option to format the top date line. Change 2: Fixed bug where it was not highlighting the last day of the month if it has an event. Change 3: Fixed bug where it was not displaying repeated regular events. Change 4: Added colour coded event types. Change 5: Got rid of the nasty flicker when changing months. Change 6: Removed the Return option. It was confused. Change 7: Fixed up samples on Options. Change 8: Changed the transparency colour so you can now choose Silver or Light Gray as your font colour. Change 9: Link to user32.dll is dynamic now rather than static. Also more checking and messages if there's a problem calling it. Version v1.30 ------------- Change 1: The mouseover tooltips now work correctly even when Calendar does not have the focus. Change 2: Fixed fatal bug where a regular event was entered without an interval. It also catches when you try to save a regular event without an interval. Change 3: Fixed another bug with repeating regular events in the coming up list. Change 4: Tooltip dates now conform to configured date format. Change 5: Added option to colour events using either the day numbers or the borders around the days. Change 6: Fixed problem with tooltips initially showing the wrong size. Change 7: Fixed problem with old day highlighted after returning from screen saver. Version v1.31 ------------- Change 1: Apparently i got over-zealous with Change 2 in v1.30. Change 2: Fixed some range errors with monthly and quarterly events. Change 3: Added shuffle buttons to the entries editor. Change 4: Added multi line support to reminders. Change 5: Added option to load when Windows starts. Version v1.32 ------------- Change 1: Fixed colours in multi-line reminders. Change 2: Added auto indent on coming up list for multi line reminders. Change 3: Correctly scales for the Windows "Large Fonts" setting and also scales for very large fonts in general. Version v1.33 ------------- Change 1: Added horizontal and vertical spacing options so you can adjust how close things get to each other. Change 2: Fixed minor bug in losing the selected day when shifting between months of various lengths where the selected day was 29th, 30th or 31st. Change 3: Fixed monthly regular reminder bug where the selected date is 29th, 30th or 31st and the first month after the original date that was shorter forced all subsequent months to show the shunted date instead of the required date. It now always shows the correct date where possible and a shunted date if necessary. Change 4: Added command line version check override. If Desktop Calendar reports that Windows 2000/XP is required and you really do have Windows 2000/XP, put /noversion on the command line and the version check will not be performed. Version v1.34 ------------- Change 1: Make the main form invisible to the task switcher. Change 2: May have finally solved the zorder problem. Change 3: Second shot at fixing multi-line colour bug. Version v1.40 ------------- Change 1: Added Save Position option to context menu. Change 2: Refresh display on reminder and options apply button. Change 3: Some code refactoring. Change 4: Some rearranging of the options form. Change 5: Tested on Windows 7. I presume it also works on Vista. Change 6: Added {age} option to item description for regular reminders. The down side is your regular reminders must be reset. Change 7: New options for highlighting the selected day. Change 8: Added advanced font selection dialog. Change 9: Fixed multi line alignment in reminders. Change 10: Fixed embedded colours in reminders. -------------------------------------------------------------- Comments/suggestions to: support@delahoy.com http://www.glenn.delahoy.com