Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

QuickReminder v0.5


  • Please log in to reply
104 replies to this topic
jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005

I use this script every day and love it.


Hey ScottMattes, thanks for the feeback. I too use this script every day. I set 10 to 20 alarms (or more) a day. The alarms can get irritating, especially if I'm concentrating on other stuff. But hey, at least I don't forget!

 

I was wondering if adding code to allow sorting of the list of reminders by the Status column would be something you'd do? The initial display would stay as it is, one click on the column header would sort ascending (so Active before Hold and the next to expires first). Another click on the column header would switch to sort descending.


daorc asked for something similar to this back in 2010. I added it to the list but I don't think I posted a reply.

This is not an easy change to make. The Status column contains calculated data that is not arranged in a format that is conducive to sorting. Clicking on the column header would have to be programmed to sort the data using an external routine which would have to sort according to status and then expiration date. Just thinking about it makes my head hurt. In addition, the refresh routine would have to be rewritten. Right now, the refresh code does a blind update to the ListView control because all rows are fixed in reminder # order. If sorting were allowed then the routine would have to search for the row to update.

I've added/updated this item on my list but let me repeat: Just thinking about it makes my head hurt.

Baal
  • Members
  • 81 posts
  • Last active: Apr 15 2016 04:38 PM
  • Joined: 04 Jun 2014
Happy new year! Anyone knows something like this script but with recurring reminder option?

bruno
  • Members
  • 635 posts
  • Last active: Nov 04 2015 02:26 PM
  • Joined: 07 Mar 2011

how does this compare to Google Calendar?



joedf
  • Administrators
  • 986 posts
  • AutoHotkey Foundation
  • Last active: Nov 02 2019 08:38 PM
  • Joined: 20 May 2012
Lightweight, customizable and open source?
Why ahkscript.org? - autohotkey.com is outdated

bruno
  • Members
  • 635 posts
  • Last active: Nov 04 2015 02:26 PM
  • Joined: 07 Mar 2011

can u add recurring reminder option to this script? ;)

Lightweight, customizable and open source?



joedf
  • Administrators
  • 986 posts
  • AutoHotkey Foundation
  • Last active: Nov 02 2019 08:38 PM
  • Joined: 20 May 2012
When i got time, sure why not ;)
Why ahkscript.org? - autohotkey.com is outdated

dsewq1LYJ
  • Members
  • 203 posts
  • Last active: May 12 2018 05:04 AM
  • Joined: 16 Jul 2014

Introduction
There are a lot of time management programs out there. In the past, I used Microsoft Outlook to manage my general calendar and for general-purpose task management. I currently use a freeware program called Personal Reminder for general-purpose daily, weekly, and monthly reoccurring reminders.

What is missing from my time management arsenal is a tool to quickly set up same-day, one-use-only, reminders. For my 6-year-old computer, Microsoft Outlook is a resource behemoth and I don't use it anymore. Personal Reminder is OK but it has several idiosyncrasies that make it difficult to tolerate as a short-term reminder program. I created QuickReminder to fill the gap.

QuickReminder
Key features:

  • Quick Add. New reminders can be quickly added by using a global hotkey (default hotkey is Ctrl+Alt+R) or by double-clicking on the tray icon. Although the mouse can be used, the dialog was designed for quick keyboard entry and navigation. Reminder time can be entered as a countdown (hours, minutes, seconds) or as a date/time.
  • Friendly alarms. Yes, the alarms do take up screen real estate and they do make a noise but the alarm windows are relatively small and they don't steal focus when displayed. If desired, the alarm text will be spoken to you when the alarm goes off.
  • Snooze. Reminder alarms can be snoozed to a future time. You can select from a list of snooze times or enter your own custom snooze time.
  • Reminder List. To help manage pending reminders, a Reminder List window is provided. From this window you can hold, edit, restart, and delete individual reminders.
Screenshots
QuickReminder_Add%20Reminder4.jpgQuickReminder_Alarm4.jpg
QuickReminder_Reminder%20List5.jpg
QuickReminder_Options_Notes2.jpg


The Code
The pertinent files are as follows:
  • Project: QuickReminder.zip (Includes source, icons, and sounds)
    Documentation: Future
Requirements
To use the Text-To-Speech (TTS) feature, Microsoft Speech SDK 5.1 must be installed if using any Windows version earlier than Windows XP.
http://tinyurl.com/yptaoo

Note: The Microsoft Speech SDK 5.1 installation includes two additional voices (Microsoft Mike and Microsoft Mary) so it should be worth the trouble to install it even if you are using Window XP+.


Usage Notes
No formal documentation (yet) but here are a few notes...
  • Snooze
    When an alarm window is displayed, the user can enter (or select from a list) a snooze value that will reschedule the reminder to a future date/time. The Snooze field can contain two types of values:
    • Time Period. This is amount of time from the current time. The format is any number optionally followed by the letters "s" (seconds), "m" (minutes), "h" (hours), "d" (days), or "w" (weeks). Spaces and additional characters are ignored. If no letters are included, minutes are assumed. The following are valid snooze time periods:
      • 10s
        90 seconds
        45
        37.5 mins
        23 h
        12.75 hours
        2 days
        6 weeks
    • Clock Time. This is the actual clock time and can be entered in the 12-hour or 24-hour format. The 12-hour format is HH:MM.SS AM|PM and the range is 12:00 AM (midnight) to 11:59.59 PM. The 24-hour format is HH:MM.SS and the range is 00:00 (midnight) to 23:59.59. Many components of the format are flexible/optional. As long as program identifies the snooze value as a clock time and can interpret the value, it can be used. The following are valid snooze clock times:
      • 12:39.23 AM
        15:23.57
        4:11.37 Post Meridiem
        2a
        00:7
        10 P.M.
        6:2p
      A few additional "Clock Time" considerations:
      • A clock time is always considered to be a time in the future. If it is currently 4 PM on Monday and snooze is set to 3 PM, the alarm will be set to 3 PM on the following day (Tuesday).
      • The total amount of time that can be set using this option is 24 hours (less 1 second). To snooze to a specific clock time that is more than 24 hours from the current time, edit the reminder by clicking on the "Edit" button.
    Text-To-Speech (TTS)
    Things to know about Text-To-Speech:
    • Optional. The option to speak the note text when an alarm is raised is not enabled by default. Go to the Options window ("TTS" tab) to enable or change this option.
    • Priority. The Priority level defines the order in which the TTS engine processes speech requests. There are three TTS priorities:
      • Normal. This is the standard TTS priority used by most applications.
      • Alert. If this priority is used, the alarm will interrupt (pause) any other normal TTS voices. After the TTS engine has finished speaking, any interrupted voices will resume speaking. This is the recommended priority for this program.
      • Over. If this priority is used, the alarm voice will speak simultaneously with any other TTS voices.
    • XML. The alarm note text can include XML which can be used to instruct the TTS engine to change speed, volume, pronunciation, etc. If unsure about the capabilities or the syntax, the following is an XML TTS Tutorial (SAPI 5.3): Be sure to test the XML code before using it in an active alarm. If the XML contains syntax errors, it may cause the script to fail (unlikely) or it may generate a COM error.
    • Voices. A specific TTS voice (Ex: Microsoft Mike) can be selected for the application. Go to the Options window ("TTS" tab) to select a voice. Individual voices for each alarm is not supported, however, the note text can include XML instructions to indicate which voice is to be used.
    • Metadata. The Note text can contain date/time metadata which is converted in real-time for the TTS engine when the alarm window is displayed. The format is {$Date$X} or {$Time$X} where X is an AutoHotkey date/time format. See the AutoHotkey documentation (keyword: FormatTime) for a list of date/time formats.

      Note: If X is blank/null when using the $Date$ key, Ex: {$Date$}, normal formatting rules are observed. However, if X is blank/null when using the $Time$ key, Ex: {$Time$}, the "Time" date/time format is automatically used, i.e. {$Time$Time}. The "Time" format is a time representation for the user's locale, such as 5:26 PM.

      A few usage examples:
      • Today is {$Date$LongDate}.
        The time is {$Time$}.
        The current month is {$Date$MMMM}.
        It is the {$Date$d}th day of the month.
        The year is {$Date$yyyy}.
Issues/Considerations
  • External functions. This script uses a number of external functions which have been included in a "_Function" folders. Some of the functions are mine and should be clearly marked and documented. Functions written by others should be clearly marked but may contain custom modifications. Thanks to the original authors for sharing their work.
  • Limited locale support. A few of the program's date/time fields support the user's locale settings but most use a static format. Sorry 'bout that.
  • Limited documentation. With the exception of the information in this post, documentation/help is currently limited to a few tooltips and a Help button in the Options window ("Notes" tab). Be sure to read the release notes for additional documentation/tips.
  • AutoHotkey v1.1+. Since the release of AutoHotkey_L, I've tried to write scripts that will work with all versions of AutoHotkey -- Basic, L-ANSI, L-Unicode, L-64bit. Lex has not made it easy. New features are a usually not a problem but changes that break backward compatibility to AutoHotkey Basic do create a challenge. QuickReminder is one of few scripts out there where converting the code to work with AutoHotkey v1.1+ will break the code for Autohotkey Basic. I've made some changes that will allow it work with AutoHotkey v1.1+ ANSI but there are a few include functions that have not been converted and/or tested yet. I'm not a full-time AutoHotkey v1.1+ user yet so converting this script to only work on AutoHotkey v1.1+ is not a high priority right now.
---------------------------------------------------------------------------
Release Notes

v0.1 (Alpha/Preview)
Original release.

v0.2 (Preview)
Changes to the Add/Edit Reminder window:
- Added Hold button. This button adds a Reminder but does not start it.
- Added Sound DropDownList control to allow the user to select a custom sound file per Reminder.

Changes to the Reminder List window:
- Renamed the Stop All Reminders button to Delete All Reminders. This button deletes all Reminders regardless of status.
- The Note field can no longer be modified from this window.
- Removed the DateTime field for each Reminder.
- Removed the Stop button for each Reminder.
- The Status field has been enlarged. The script now displays more information in this field for the "Active" and "Hold" modes.
- Added Hold button for each Reminder. This button changes the status of a Reminder from "Active" to "Hold". This button has a similar function as the former Stop button.
- Added Edit button for each Reminder. This button changes the status of a Reminder from "Active" to "Hold" and then opens the Edit Reminder window so that the Reminder can be modified.
- Added the Delete button to remove a Reminder.

General:
- Added more sample Alarm sound files.

Installation notes:
- Delete all files from older version (if any) before installing new version.

v0.3 (Preview)
Changes to Alarm windows:
- Snooze button set as the default control (activates with the Enter key). (thanks HotKeyIt)
- Snooze period can now include days and weeks. Ex: 2 days, 1 week

Changes to the Add/Edit Reminder window:
- The Note field is now multi-line Edit field to match the Alarm and Reminder List windows. (thanks HotKeyIt)
- Added hotkey (F2) to pop-up the list of pre-defined notes (See the Options window)
- DateTime field has now been split up into separate Date and Time fields. (thanks SoggyDog)
- Added hotkey (Ctrl+T) to jump directly to the Time field.

Changes to the Reminder List window:
- If there are any active reminders, the request to "Delete All Reminders" is confirmed before proceeding.

General:
- Added Options (aka "Preferences") window. Many program options can now be set/changed using this feature.
- Added About window to display the current program version.

v0.4 (Preview)
New Features:
- Added Text-To-Speech (TTS) option that will speak the text note when the reminder window is displayed. (SAPI5 required)
- The Note text can now contain date/time metadata. See the Usage Notes section for more information..

Changes to the Add/Edit Reminder window:
- Added hotkey (Ctrl+S) that will add the current note to the end of Note List. Blank and duplicate notes are automatically discarded. The Note list can be edited from the Options window.
- Added confirm dialog when entering more than 99 hours or 199 minutes or 199 seconds.
- Added button to display the list of user-defined notes.
- Added button to speak/stop speaking the note text.
- Added button to play/stop playing the selected alarm sound.
- The selected alarm sound file is automatically played when changed by the user. (thanks ScottMattes)
- Added tooltips for the buttons that don't have readable labels (thanks Drugwash)

Changes to the Reminder List window:
- Fix: Changes to resolve minor button focus problems.
- "Hold" sound is now played when "Edit" button is pressed to indicate that the reminder is on hold until the start button is pressed.

Changes to the Options window:
- Fix: Minor display issues fixed in the HotkeyGUI window (thanks Drugwash)
- Added options for "Play alarm sound", "Play alarm nag sound", and "Alarm nag sound interval".
- Added "Speak note text on Alarm" option. If selected, the contents of the note text will be spoken using the Text-To-Speech engine when the alarm window is displayed.
- Added "Voice" option. This option allows you to choose the Text-To-Speech voice that will be used when speaking the note text.
- Added "Priority" option that will allow you to chose the priority that is used when speaking the note text.

General:
- Added option to start QuickReminder when Windows starts. This option is only available if running the compiled script.
- Tray tooltip is now updated to reflect the current number of reminders.

v0.5
- Update: Limit of concurrent reminders increased to 20. (thanks HotKeyIt and daorc)
- Update: Reminder List window redesigned. Although the functionality is similar to the old version, it's now easier to make changes to multiple reminders.
- Added "Edit" button to all Alarm windows. Please note that an alarm can not be be edited if any other alarm is being edited or if the Add Reminder window is open.
- Update: All windows redesigned to support large system fonts.
- Update: Help for the Note List Editor updated to use the "HTML DialogBox" function. (thanks SKAN)
- Added a "NoSound.wav" file to the list of sound files. (thanks daorc) This option allows the user to turn off the alarm sound for a single alarm.
- Update: The Snooze period can now contain a clock time. See the Usage Notes section for more information.

Installation instructions (required to save your current alarms and settings):
  • Make a backup copy the "QuickReminder.ini" file from your current installation.
  • Delete old version.
  • Install new version.
  • Copy backup copy of the "QuickReminder.ini" file to the new version.
  • You're done!

 

Hope it is not too late.

 

But why QucikReminder cant run well under AHK L?



Guest10
  • Members
  • 1216 posts
  • Last active: Oct 30 2015 05:12 PM
  • Joined: 27 Oct 2012

I was waiting my whole life for something like this! I'll be on this over the weekend doing some testing...

P.S.: There are 3 10s in this post. Guest10 and 1010 posts >> LOL



jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005

Compatibility

As I've stated many times in the past, QuickReminder is one of the few scripts out there where converting it to AutoHotkey v1.1+ will break it for AutoHotkey Basic.

Well, that's only partially true. The current version that I'm using (v0.5.6, not released) works fine on the ANSI version of AutoHotkey v1.1+.


Conversion and Priority

I'm in the middle of the long and arduous process to convert many of projects to work with AutoHotkey v1.1+. Although I use the heck out it, QuickReminder has always been low on the list because it's relatively simple and it works fine on AutoHotkey Basic.


Design Issues

I recently went back to re-examine the QuickReminder script and I found a few design issues that must be dealt with before the script can be safely run on all versions of AutoHotkey v1.1+.

  • COM. The current version uses the COM library to perform Text-To-Speech tasks. While this library works fine on the ANSI version of AutoHotkey v1.1+, it is incompatible with the Unicode versions. Changing calls from the COM library to use the built-in COM objects shouldn't be that hard.
  • Delimiters. Some of the record and/or file delimiters use characters that are re-mapped as other characters when using a Unicode version of AutoHotkey. Not sure what the correct way to deal with this yet. I may eventually redesign the file structure from scratch which would mean that previous versions of your QuickReminder.ini file would not work on the new version. I'm still thinking about it.
  • UAC aware. This is something that many scripts have to deal with eventually. I haven't finalized on design yet because I want something that will support multiple environments (Ex: development, test, pre-production, production, etc.) and possibly multiple versions. This is not a show-stopper because all versions of Windows have a default work-around for non-compliant programs.

 

Future

I use the script every day and so converting to AutoHotkey v1.1+ is definitely on the list. I'm finishing up another project right now but when I'm done, I'll put some effort into this project.

Thank you for your interest. Poke me in few weeks if there have been no updates.



dsewq1LYJ
  • Members
  • 203 posts
  • Last active: May 12 2018 05:04 AM
  • Joined: 16 Jul 2014

Compatibility

As I've stated many times in the past, QuickReminder is one of the few scripts out there where converting it to AutoHotkey v1.1+ will break it for AutoHotkey Basic.

Well, that's only partially true. The current version that I'm using (v0.5.6, not released) works fine on the ANSI version of AutoHotkey v1.1+.


Conversion and Priority

I'm in the middle of the long and arduous process to convert many of projects to work with AutoHotkey v1.1+. Although I use the heck out it, QuickReminder has always been low on the list because it's relatively simple and it works fine on AutoHotkey Basic.


Design Issues

I recently went back to re-examine the QuickReminder script and I found a few design issues that must be dealt with before the script can be safely run on all versions of AutoHotkey v1.1+.

  • COM. The current version uses the COM library to perform Text-To-Speech tasks. While this library works fine on the ANSI version of AutoHotkey v1.1+, it is incompatible with the Unicode versions. Changing calls from the COM library to use the built-in COM objects shouldn't be that hard.
  • Delimiters. Some of the record and/or file delimiters use characters that are re-mapped as other characters when using a Unicode version of AutoHotkey. Not sure what the correct way to deal with this yet. I may eventually redesign the file structure from scratch which would mean that previous versions of your QuickReminder.ini file would not work on the new version. I'm still thinking about it.
  • UAC aware. This is something that many scripts have to deal with eventually. I haven't finalized on design yet because I want something that will support multiple environments (Ex: development, test, pre-production, production, etc.) and possibly multiple versions. This is not a show-stopper because all versions of Windows have a default work-around for non-compliant programs.

 

Future

I use the script every day and so converting to AutoHotkey v1.1+ is definitely on the list. I'm finishing up another project right now but when I'm done, I'll put some effort into this project.

Thank you for your interest. Poke me in few weeks if there have been no updates.

That would be great !

 

This tool is really useful for me : ]



jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005
Request for Beta Testers

I'm getting close to completing the new version of the QuickReminder program. The new version only runs on AutoHotkey v1.1+. There are quite a few changes so I was hoping to get a couple of people to test it before it goes out. I need to test it on the ANSI, Unicode and x64 platforms. If you can only perform a test on a subset of these environments, that's OK.

If you have the time and the interest, please PM me (AHKScript forum is preferred but either is OK) and I will send you the program when it's ready.

Thank you for your interest.

joedf
  • Administrators
  • 986 posts
  • AutoHotkey Foundation
  • Last active: Nov 02 2019 08:38 PM
  • Joined: 20 May 2012
I'll be glad to test it. :)
Why ahkscript.org? - autohotkey.com is outdated

dsewq1LYJ
  • Members
  • 203 posts
  • Last active: May 12 2018 05:04 AM
  • Joined: 16 Jul 2014

Request for Beta Testers

I'm getting close to completing the new version of the QuickReminder program. The new version only runs on AutoHotkey v1.1+. There are quite a few changes so I was hoping to get a couple of people to test it before it goes out. I need to test it on the ANSI, Unicode and x64 platforms. If you can only perform a test on a subset of these environments, that's OK.

If you have the time and the interest, please PM me (AHKScript forum is preferred but either is OK) and I will send you the program when it's ready.

Thank you for your interest.

Can not wait anymore : ]



jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005
--------------------
Notice: Updates on this topic have been moved here.
--------------------

dsewq1LYJ
  • Members
  • 203 posts
  • Last active: May 12 2018 05:04 AM
  • Joined: 16 Jul 2014

--------------------
Notice: Updates on this topic have been moved here.
--------------------

Finally !

The most useful script in my life.

 

Just make the life manageable and easier !