Desktop Calendar by Glenn Delahoy (C) Copyright 2005 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, no system tray icon, the calendar is transparent so it's not an eyesore and consumes very little memory (less than 600KB idle). 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. Reminders may be colour coded for quick identification. First day of the week is customisable. Please note: this application will only work on Windows 2K/XP. Moving The Calendar On The Desktop ---------------------------------- To locate the calendar anywhere on your desktop, hold the shift key down then click and drag any of the navigation buttons under the calendar. Using The Calendar ------------------ There are three sections to the calendar: the main calendar has the currently selected date at the top and the days of the month, a few navigation buttons and a short list of upcoming reminders at the bottom. Desktop Calendar starts with the current month and day selected. To enter reminders for any day, float the mouse over the desired day until it is higlighted then right click and select the Edit Entries option. To change the display options, float the mouse over any of the buttons then right click and select Options. Navigating The Calendar ----------------------- The five navigation buttons below the calendar allow you to move to different months and years. From left to right: move to previous year, move to previous month, return to today, move to next month and move to next year. Editing Calendar Reminders -------------------------- To open the reminder editor, float the mouse over the desired day then right click and select Edit Entries. There are two pages: the first is the normal, one-off reminders, the second is the regular reminders. 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 switches the month. 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 or just press Enter. 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 or just press Enter. 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. Multiple Lines In Reminders --------------------------- You can have multiple lines of text in any normal or regular 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 Desktop Calendar Options ------------------------ To modify the options, highlight any of the navigation buttons then right click and select 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. Calendar Font : Change the font name, font size and font colour of the main Desktop Calendar display. Highlight Colour : Change the colour of the buttons when the mouse is floated over them. Tooltips : Change the font name, font size, font colour and background colour of the button tooltips when the mouse is floated over any calendar or navigation button. Events : 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 specific or regular reminders to help you quickly recognise types of reminders on the list. Coming Up List : Change the number of advance event reminders displayed below the Desktop Calendar. Startup : Set Calendar to load when Windows starts. This simply creates a shortcut in your Startup folder. Colour Coding : Switch the way the reminder colour coding is displayed. Select Day Numbers to colour code the numbers or select Day Borders to colour code the borders around the days. 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. If the date format is empty the setting for the Windows long date format is used. 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. Windows Version Check --------------------- Desktop Calendar uses special API transparency functions only available in Windows 2000 and Windows XP. For this reason it performs a check of the Windows version on startup and halts if it thinks you don't have 2000/XP. 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. Uninstalling ------------ Desktop Calendar doesn't place an entry in your Windows uninstall list. To remove it from your system simply delete the Calendar folder from your Program Files folder and delete the shortcut from your Start menu. No files are installed anywhere else and no entries are made in the registry. -------------------------------------------------------------- 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. How many Os in Ooops?! 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. -------------------------------------------------------------- Comments/suggestions to: support@delahoy.com http://www.glenn.delahoy.com