icalBuddy
icalBuddy is a command-line utility that can be used to get lists of events and tasks/to-do's from the OS X calendar database (the same one iCal uses).
If you want to get icalBuddy's output displayed on your desktop, you should read my blog post about it.
Documentation
- Usage Examples
- Frequently Asked Questions
- icalBuddy manual page
- icalBuddyConfig manual page
- icalBuddyLocalization manual page
This is what the usage output of the program looks like:
USAGE: icalBuddy [options] <command>
<command> specifies the general action icalBuddy should take:
'eventsToday' Print events occurring today
'eventsToday+NUM' Print events occurring between today and NUM days into
the future
'eventsNow' Print events occurring at present time
'eventsFrom:START to:END'
Print events occurring between the two specified dates
'uncompletedTasks' Print uncompleted tasks
'undatedUncompletedTasks'
Print uncompleted tasks that have no due date
'tasksDueBefore:DATE'
Print uncompleted tasks that are due before the given
date, which can be 'today+NUM' or any regular date
'calendars' Print all calendars
'strEncodings' Print all the possible string encodings
'editConfig' Open the configuration file for editing in a GUI editor
'editConfigCLI' Open the configuration file for editing in a CLI editor
Some of the [options] you can use are:
-V Print version number (no <command> needed)
-u Check for updates to self online (no <command> needed)
-sc,-sd,-sp Separate by calendar, date or priority
-f Format output
-nc No calendar names
-nrd No relative dates
-npn No property names
-n Include only events from now on
-sed Show empty dates
-uid Show event/task UIDs
-eed Exclude end datetimes
-ea Exclude all-day events
-li Limit items (value required)
-std,-stda Sort tasks by due date (stda = ascending)
-tf,-df Set time or date format (value required)
-po Set property order (value required)
-ps Set property separators (value required)
-b Set bullet point (value required)
-ab Set alert bullet point (value required)
-ss Set section separator (value required)
-ic,-ec Include or exclude calendars (value required)
-iep,-eep Include or exclude event properties (value required)
-itp,-etp Include or exclude task properties (value required)
-cf,-lf Set config or localization file path (value required)
-nnr Set replacement for newlines within notes (value required)
See the icalBuddy man page for more info.
Version 1.8.8
Copyright 2008-2012 Ali Rantakari, http://hasseg.org/icalBuddy
Repository URL:
https://github.com/ali-rantakari/icalBuddy
Repository web page:
https://github.com/ali-rantakari/icalBuddy
Example:
cd ~/mycode
git clone https://github.com/ali-rantakari/icalBuddy
Latest Version:
Version 1.8.8
→
Download
March 09, 2013
Changelog:
- Fixed a crash that sometimes occurred when printing event attendee names.
Older Versions:
Version 1.8.7
→
Download
February 21, 2013
Changelog:
- Fixed the short name of the
--maxNumNoteChars
argument: it was in conflict with the short name of the--noCalendarNames
option.--noCalendarNames
's short name remains-nc
and--maxNumNoteChars
is now-nnc
. Thanks to Steffen Nauhaus for noticing this. - Added Chinese localization file. Courtesy of Lingtian Cheng — 谢谢!
Version 1.8.6
→
Download
January 30, 2013
Changelog:
- Added support for listing the attendees of an event. (This patch was submitted by Tarek Rogers — thanks!)
- Added the
-na / --maxNumAttendees
argument, which allows you to limit the number of displayed attendee names. - Added the
-nc / --maxNumNoteChars
argument, which allows you to limit the number of characters shown from event notes. - We now trim whitespace from event notes before displaying them.
Version 1.8.5
→
Download
September 01, 2012
Changelog:
- Fixed a crash that occurred whenever the
-sp
("separate by priority") argument was used on a system without a localization file. Thanks to Ed Martin for reporting this. - File owners and access rights (the executable, and the man pages) should now be preserved when installing/upgrading. Thanks to Jeremy Kemp for reporting this.
Version 1.8.4
→
Download
August 02, 2012
Changelog:
- Fixed a crash that occurred on Mountain Lion when the app was denied access to the user's contacts.
- Fixed bug where some log messages about contact age calculations was printed into the output.
Version 1.8.3
→
Download
July 01, 2012
Changelog:
- When printing events in the Birthdays calendar, the age of the person will be printed as well. Note: if you are using a custom localization file, this requires that the localization string for
someonesBirthday
contains a placeholder for the age (e.g.%@'s birthday (age %i)
). Learn more from the icalBuddyLocalization man page. - You can now print any part of an event or a task in the color of the calendar it belongs to. To do this, you would use
calendar-color
as a color value in the "formatting" section of the configuration file. Learn more from the icalBuddyConfig man page. - Added translations for task priority section titles for French and Spanish.
- Added Japanese translation by Walter Scarborough (domo arigato!)
Version 1.8.2
→
Download
April 12, 2012
Changelog:
- Added the
-ea
(or--excludeAllDayEvents
) argument, which can be used to omit all-day events from the output.
Version 1.8.1
→
Download
March 17, 2012
Changelog:
- Added the
-sp
(or--separateByPriority
) argument, which can be used to separate tasks by priority in the output. - When running
icalBuddy calendars
, the calendar colors are now used, which should make it easier to distinguish which calendar is which if some of them have the same name (particularily a problem with Exchange calendars).
Version 1.8.0
→
Download
January 22, 2012
Changelog:
- Added possibility to list all uncompleted tasks that have no due date. The output command for this is
undatedUncompletedTasks
.
Version 1.7.22
→
Download
January 22, 2012
Changelog:
- Fixed mistake in documentation: the long form of the
-npn
argument is--noPropNames
instead of--noPropertyNames
. - Dropped support for PowerPC in the precompiled binaries (Apple's new dev tools (XCode 4) do not support PPC development anymore). You can still compile icalBuddy for PowerPC using older dev tools, though.
Version 1.7.21
→
Download
November 16, 2011
Changelog:
- Calendars can now be included/excluded by type: the
-ict
(or--includeCalTypes
) argument includes only items from calendars of the given types, and the-ect
(or--excludeCalTypes
) argument excludes items from calendars of the given types. The calendar types you can specify are CalDAV/iCloud, Exchange, IMAP, Local, Subscription, and Birthday. See the man page for more info on this feature.
Version 1.7.20
→
Download
November 01, 2011
Changelog:
- Added the syntax specifiers for the
-df
and-tf
(or--dateFormat
and--timeFormat
) argument values into the main man page because Apple's documentation for those has mysteriously disappeared from their web site.
Version 1.7.19
→
Download
June 28, 2011
Changelog:
- Added Spanish localization file by Mario Carballo (gracias!)
Version 1.7.18
→
Download
April 17, 2011
Changelog:
- Fixed a bug where the formattedKeywords feature did not work when the command argument
tasksDueBefore:DATE
was used. (Thanks to John V. for reporting this.)
Version 1.7.17
→
Download
March 22, 2011
Changelog:
- Fixed a bug that caused a crash whenever items that have a completely empty title would be printed.
Version 1.7.16
→
Download
January 25, 2011
Changelog:
- Fixed a bug introduced in the latest version where some arguments stopped working whenever they were used with their long names (e.g.
--showUIDs
instead of-uid
).
Version 1.7.15
→
Download
January 20, 2011
Changelog:
- Fixed bug where date sections were listed for each day that all multi-day-spanning events that occur during the specified date range spanned, even when these dates fell outside of the user-specified range. (Thanks to Karin H. for reporting this.)
- Fixed bug where dates without a time (especially natural-language dates such as 'january 18, 2011') specified in the
eventsFrom:DATE to:DATE
command were considered with the time 12:00:00 by default (except if they were relative dates such as "tomorrow" or "today", in which case they were considered with the time 00:00:00). Now the times considered for dates specified without a time are 00:00:00 or 23:59:59 depending on whether the given date specifies the start or the end of a range, respectively.
- Note 1: Scripts that use
eventsFrom:to:
without specifying times for the date ranges, and expect the times to be interpreted as 12:00 (noon), will have to be modified to explicitly specify the times. - Note 2: Scripts that use relative dates with shift amounts (like "tomorrow+1") for the
eventsFrom:to:
action might need to be modified, usually to remove one from the shift amount of the date specifying the end of the desired range — for example with this update you would useeventsFrom:tomorrow to:tomorrow
to get events only for tomorrow (in previous versions the end date needed to betomorrow+1
, which is unintuitive).
- Note 1: Scripts that use
- Fixed bug where incorrect date ranges were listed when using the
-sed
(or--showEmptyDates
) argument for printing tasks.
Version 1.7.14
→
Download
January 06, 2011
Changelog:
- Added Dutch localization file by Patrick Buntsma (Dank je wel!).
Version 1.7.13
→
Download
August 30, 2010
Changelog:
- It's now possible to use some relative dates when using the
eventsFrom:to:
command argument (e.g.:icalBuddy eventsFrom:tomorrow to:"day after tomorrow"
). - It's now possible to specify a shift amount (i.e. number of days to add to or remove from) for relative dates (
day before yesterday
,yesterday
,now
,today
,tomorrow
orday after tomorrow
) by adding+NUM
or-NUM
to the end (e.g.icalBuddy tasksDueBefore:yesterday-10
).
Version 1.7.12
→
Download
August 22, 2010
Changelog:
- Fixed a bug in the install script where it failed whenever the user did not have access rights to create the directory structure for the target path.
Version 1.7.11
→
Download
August 21, 2010
Changelog:
- Fixed bugs in the new install script:
- The installer failed to find the installable files when run by opening it in Finder
- The installer did not work at all on Leopard due to an incompatibility with Leopard's older version of Python
Version 1.7.10
→
Download
August 20, 2010
Changelog:
- Improved the install script. It should now be easier to install to custom locations such as under your home directory.
Version 1.7.9
→
Download
July 10, 2010
Changelog:
- If no date or time formats are specified (via the
-df
or-tf
arguments) icalBuddy will use the standard formats from the system preferences (in Snow Leopard, they're under Language & Text → Formats).
Version 1.7.8
→
Download
July 08, 2010
Changelog:
- Dates (for
eventsFrom:DATE to:DATE
andtasksDueBefore:DATE
) can now be given in a more free format: for example "tomorrow at noon" or "june 10 at 6 pm". - The
-d
(or--debug
) argument has been added; this will make icalBuddy print out some diagnostic information into the standard error stream (at the moment, it will print out info about how dates given in the input are interpreted). - Implemented custom date format specifier
%RD
which stands for "relative day" (or "date difference in days"): for exampleyesterday
or5 days from now
. This (just like the "relative week" specifier%RW
) can be used in the-df
(or--dateFormat
) argument values.
Version 1.7.6
→
Download
July 05, 2010
Changelog:
- Added argument
-uid
(or--showUIDs
) which will let you see the UIDs (unique identifiers) of events or tasks in your calendars. - The
install.command
script now allows for specifying a custom prefix for installation (example:install.command --prefix=~/opt
) and it also automatically adjusts the default installation path to wherever icalBuddy seems to be installed already (for updating). - The
uninstall.command
script is able to search for the files to uninstall from nonstandard locations as long as the icalBuddy executable's parent directory is in the PATH environment variable.
Version 1.7.5
→
Download
June 09, 2010
Changelog:
- Added output command
tasksDueBefore:DATE
which can be used to output only uncompleted tasks/todos that have a due date before the given DATE value (which can be given astoday+NUM
,tomorrow
or"YYYY-MM-DD HH:MM:SS ±HHMM"
)
Version 1.7.4
→
Download
June 09, 2010
Changelog:
- Added argument
-npn
(or--noPropNames
) which tells icalBuddy to omit property names from the output (e.g. output"My house"
instead of"location: My house"
etc.) - Calendar names are now colored using the calendar color in section titles as well (i.e. when using the
-sc
(or--separateByCalendar
) argument) unless a section title foreground color has been specified in the configuration file's formatting section.
Version 1.7.3
→
Download
April 28, 2010
Changelog:
- This is simply a new build of the latest version without a 64-bit Intel binary — some people that are running Leopard have been having icalBuddy hang on them and eat loads of memory and it seems this might be due to a bug in the 64-bit CalendarStore framework on Leopard (I don't have a Leopard machine to test on so thanks goes to Avery Chan for helping out with this). This update is a potential fix to those issues. If anyone for some reason wants a 64-bit icalBuddy, they can build it manually by executing the following command in the directory where they unzipped the release archive (before running the installation script):
make 64BIT=1
Version 1.7.2
→
Download
April 08, 2010
Changelog:
- Print the ANSI escape sequences that reset the formatting applied for the section titles after the titles, but before the next newline.
- The closest equivalent ANSI colors for colors set for calendars in iCal should be chosen more wisely now (i.e. the chosen ANSI color will more closely resemble the actual calendar color).
Version 1.7.1
→
Download
February 21, 2010
Changelog:
- Fixed a bug where when using the
-sed
(or--showEmptyDates
) argument (and separating events by date), the date span to display sections for was interpreted as "span between the first and last found event" when the more logical solution is "span specified by user in the arguments" (which is how it works now). - Fixed a bug where the start time for a multi-day-spanning timed event was shown under all of the days it spans when separating events by date and excluding event end datetimes (now in these cases the start time is displayed as
"..."
under days on which the event does not start). - When printing events separated by date, the start and end times for a timed event that neither starts or ends on the date under which it's shown are now displayed as
"... - ..."
(instead of not at all). - The latin translation for "nothing" was fixed.
Version 1.7.0
→
Download
February 03, 2010
Changelog:
- Added the
-sed
(or--showEmptyDates
) argument that display sections for empty dates (i.e. dates that have no items) that fall within the specified range as well. This argument applies only if the-sd
(or--separateByDate
) argument is used. - The tab (
\t
) escape sequence is now interpreted in some argument values.
Version 1.6.19
→
Download
February 01, 2010
Changelog:
- Added italian localization file by Giuseppe Sacco (grazie!)
- A few escape sequences (most notably newlines, i.e.
\n
) are now interpreted for some arguments that take arbitrary strings as their values.
Version 1.6.18
→
Download
January 22, 2010
Changelog:
- The application's Universal Binary now contains 64-bit Intel (x86_64) code in addition to 32-bit Intel (i386) and 32-bit PowerPC (ppc) code.
- Added polish localization file by RybA. (dzięki!)
- Added latin localization file by Miller Krause (gratiae!)
Version 1.6.17
→
Download
January 16, 2010
Changelog:
- An uninstallation script is now included.
- The default bullet point has been changed from an asterisk (
*
) to an actual bullet point (•
). - Bright ANSI colors are now considered when determining the closest equivalent ANSI color for the actual color of a calendar.
Version 1.6.16
→
Download
January 11, 2010
Changelog:
- If output formatting is turned on (via the
-f
or--formatOutput
argument) and no foreground color is specified for event/task titles (in the config file's formatting section), the closest ANSI color to the color of the calendar will be used as the title foreground color.
Version 1.6.15
→
Download
December 02, 2009
Changelog:
- If the date or time format is an empty string, the date/time separator (e.g.
" at "
) won't be displayed.
Version 1.6.14
→
Download
November 24, 2009
Changelog:
- Added support for bright foreground and background ANSI colors as well as blinking text.
Version 1.6.13
→
Download
November 12, 2009
Changelog:
- Added German Localization file by Wolf Mc Ewen (Danke schön!)
Version 1.6.12
→
Download
October 08, 2009
Changelog:
- Improved the formatting for the list of changes since the currently installed version (in the self auto-update feature invoked via
icalBuddy -u
).
Version 1.6.11
→
Download
October 03, 2009
Changelog:
- Made the automatic update feature work even if you don't have the
links
command-line browser installed (this is quite embarrassing but I forgot that it doesn't ship with Mac OS X by default)
Version 1.6.10
→
Download
September 29, 2009
Changelog:
- When sorting tasks by due date, in ascending order, put tasks without due date last (instead of first).
- Made the
-ic
(or--includeCals
) and-ec
(or--excludeCals
) arguments work when using thecalendars
command. - Fixed a crashing bug related to the self auto-update feature.
- Fixed the install script's colored output on Snow Leopard.
Version 1.6.9
→
Download
August 02, 2009
Changelog:
- Fixed a bug in the installation script that caused it to fail when run under a path that contained spaces.
Version 1.6.8
→
Download
July 06, 2009
Changelog:
- Added the
-std
(or--sortTasksByDate
) argument, which sorts tasks simply by their due dates (in descending order), as well as the-stda
(or--sortTasksByDateAscending
) argument, which does the same but in ascending order. - Fixed a bug where specifying the value
"*"
for either the-eep
or the-etp
arguments would exclude all properties instead of everything but the titles.
Version 1.6.7
→
Download
May 15, 2009
Changelog:
- Added the
-eed
(or--excludeEndDates
) argument, which excludes the dates/times of when events end from the output.
Version 1.6.6
→
Download
April 24, 2009
Changelog:
- Added formatting keyword
calendarNameInTitle
which can be used to specify the formatting of the calendar names that are printed in parentheses next to event/task titles. (See the configuration file man page for more info on formatting keywords.) - Added localization keyword
dateTimeSeparator
which specifies what to print between the date and the time — in english, for example," at "
is used. (See the localization file man page for more info on localization keywords.) - Removed the
-dts
(or--dateTimeSeparator
) argument due to the value it sets being specified in the localization file now. - Improved the formatting of the list of changes since the current version when running the automatic update (
icalBuddy -u
, followed by optiona
when you get the question of how to proceed.) - Added french localization file (by Matthieu Sieben — merci!)
- Added PDF versions of all the three manual pages into the distribution package.
- Added the FAQ html file into the distribution package.
- Cleaned up the code in various places.
Version 1.6.5
→
Download
April 19, 2009
Changelog:
- Added the
-ps
(or--propertySeparators
) argument, which can be used to specify what to separate printed item properties with. The value for this argument is a string where each component is separated by an arbitrary character (which must also be present at the start and the end), like this:"|-first-|-second-|-third-|"
. The components in this list will be used as the separators between item properties in order from first (for the first printed property for an item) to last, using the last one several times if too few are specified. The default is"|\n |"
(that's a newline followed by four spaces, used as the separator for all properties.) This argument can be used to print item properties on the same line (just specify a value that does not include a newline.) - Added an automatic update feature: run
icalBuddy -u
to check for updates and then if an update is found, respond to the question of how to proceed with optiona
, and icalBuddy will first display you a list of what's changed since the version you're running and then ask if you'd like it to automatically download the distribution package and update itself. - Added the
-nnr
(or--notesNewlineReplacement
) argument, which can be used to specify the string to use for replacing newlines within values of the notes property. - Removed the
-i
(or--indent
) argument (not needed anymore due to the new-ps
argument, which provides similar behaviour in a more flexible way.) - Removed the
-nni
(or--notesNewlinesIndent
) argument (not needed anymore due to the new-nnr
argument, which provides similar behaviour in a more flexible way.)
Version 1.6.1
→
Download
April 16, 2009
Changelog:
- Fixed bug where multi-day-spanning events were shown for each and every day they span, regardless of the specified date range to display, when using the
-sd
(or--separateByDate
) argument. (as reported and tested by Kene and Micah -- thanks) - Added the
-li
(or--limitItems
) argument which can be used to limit the number of printed items (events/tasks) to a maximum number.
Version 1.6.0
→
Download
March 27, 2009
Changelog:
- Added the possibility to fully customize the formatting (colors, bolding, underlining) icalBuddy uses for the output (when the
-f
(or:--formatOutput
) argument is used) via a per-user configuration file. See the icalBuddyConfig man page for documentation. - Added the possibility to set "constant" argument values via the per-user configuration file (that is, argument values that will always be true when you run icalBuddy, without having to always explicitly provide them as arguments to the executable.) See the icalBuddyConfig man page for documentation.
- Added command arguments
editConfig
andeditConfigCLI
for automatically creating the configuration file if it doesn't exist and opening it in an editor (so for example you can runicalBuddy editConfig
to open the configuration file in a GUI editor andicalBuddy editConfigCLI
to open it in a command-line editor.) - Display the currently logged in user's birthday event from the Birthdays calendar by default as "My Birthday" (this is also localizable by using the key
myBirthday
.) - Fixed bug where parts of the output that were affected by command-line arguments were garbled if non-ASCII characters were passed in as the values for those arguments.
- Made the default value of the section separator string
"\n------------------------"
: the leading newline is now part of the section separator which means that it is now possible to either keep the section separator on the same line with the section title by specifying a value that doesn't have a newline in the beginning (e.g.icalBuddy -ss " -----"
) or just omit it completely by specifying an empty string (e.g.icalBuddy -ss ""
.) - Added argument
-nni
(or:--notesNewlinesIndent
) for modifying the number of indenting whitespace characters to use when indenting additional lines in the "notes" property values. So for example if you're using icalBuddy with GeekTool and a non-fixed-width font, the indenting level for additional lines in the notes property values might be a bit off, so now you can use this argument to fix this (for example, runicalBuddy -nni 4
in order to add four whitespace characters to the indenting oricalBuddy -nni -2
to remove two.) - Made the "usage" output (i.e. what you see when you run icalBuddy without any arguments) a lot more succinct.
Version 1.5.0
→
Download
March 16, 2009
Changelog:
- Implemented localization support: you can now create a property list file at
~/.icalBuddyLocalization.plist
containing a dictionary mapping of localization keys (e.g."someonesBirthday"
) to their human-readable equivalents (e.g."%@'s Birthday"
). Documentation for this feature can be found in the icalBuddyLocalization man page: just typeman icalBuddyLocalization
into the terminal. An example localization file for Finnish is included.
Version 1.4.0
→
Download
March 11, 2009
Changelog:
- Implemented output type
eventsFrom:to:
which allows you to specify any arbitrary date range for getting the events to be displayed. An example:icalBuddy eventsFrom:"2009-01-01 10:12:13 +02:00" to:"2009-02-02 20:22:23 +02:00"
Version 1.3.7
→
Download
March 05, 2009
Changelog:
- Fixed a bug where multi-day-spanning events were only displayed under the start day when separating by day (e.g. an event that spans from monday to tuesday would only be displayed under monday.)
- Fixed a bug where sections would be displayed for the starting days of multi-day-spanning events (where the span would include the current date) when separating by day, even when the start date was before the current date (e.g. a section for "yesterday" would be shown with an event that spans from monday to tuesday if you ran
icalBuddy -sd
on tuesday.) - Fixed regression where past events for the current date were not shown when separating by day even though the
-n
argument was not set.
Version 1.3.6
→
Download
February 26, 2009
Changelog:
- Fixed bug where the
-i
argument was not taken into account when indenting additional lines for values of the "notes" property (only exhibited if note values have line breaks.) - Fixed bug where having percentage characters (
%
) in any of the calendar items (i.e. in their titles or in any properties) made the output get garbled. - Added a lot more colors into the output (via ANSI escape sequences) if the
-f
argument is set. - Added more possible values for the "relative dates" (i.e. dates that are easily identifiable with a simple natural language phrase or word (in relation to the current date) instead of the standard representation specified by the date formatting string): in addition to "today" and "tomorrow", dates may now also be displayed as "day after tomorrow", "yesterday" or "day before yesterday".
- Added argument
-nrd
(or:--noRelativeDates
) for disabling the "relative dates" feature (see previous point.) - Cleaned up the code a bit.
Version 1.3.5
→
Download
February 21, 2009
Changelog:
- Implemented custom date formatting specifier
%RW
, which stands for "relative week" (for example: last week, this week, next week, 2 weeks from now etc.) It can now be used in values for the date format (-df
or--dateFormat
) argument. - Added argument
-b "value"
(or--bullet "value"
) for specifying the string to use as the "bullet point" (the default is"* "
.) - Added argument
-ab "value"
(or--alertBullet "value"
) for specifying the string to use as the "alert bullet point" (the default is"! "
.) - Added argument
-i "value"
(or--indent "value"
) for specifying the string to use as the indentation for lines other than the first one for each item (i.e. the one that gets the bullet point) (the default is four spaces:" "
.) - Added argument
-ss "value"
(or--sectionSeparator "value"
) for specifying the string to use as the "section separator" (i.e. the string that separates sections from items that belong to that section) (the default is"------------------------"
.) - Made installation a bit easier: the install script has been renamed to install.command so that you can run it directly from Finder by double-clicking. It will also tell you what it's going to do and prompt you to continue or cancel before actually starting to install.
Version 1.3.2
→
Download
February 19, 2009
Changelog:
- Fixed a regression where the due date for a task was not indented or bulleted properly in the output.
- Fixed a regression where the "alert" bullet point (an exclamation point (
!
) instead of an asterisk (*
)) was not used for tasks that are late. - Fixed a regression where the URLs for events in the birthdays calendar were shown (they're not supposed to be shown to users.)
Version 1.3.1
→
Download
February 17, 2009
Changelog:
- Added shell script
install.sh
for installing the binary and the man page into the default locations so that users wouldn't need to have the OS X developer tools (i.e.make
that's needed in order to runmake install
) installed. Update (feb 18, 2009): actually added the install.sh file into the package (it was missing before) :)
Version 1.3.0
→
Download
February 08, 2009
Changelog:
- Added argument
-sd
(or--separateByDate
) which will separate items in the output by their dates (start dates in the case of events and due dates in the case of tasks.) - Added argument
-po
(or--propertyOrder
) which can be used to specify the order in which item (event or task) properties appear in the output. The allowed values (in the default order) are the following:title, location, notes, url, datetime, priority
.
Version 1.2.5
→
Download
February 06, 2009
Changelog:
- Added output type argument
"eventsNow"
which outputs only events that are occurring at present time (i.e. right now.) - Added the
-nc
(or--noCalendarNames
) argument, which omits the names of the calendars that events or tasks belong to from the output.
Version 1.2.1
→
Download
February 06, 2009
Changelog:
- Fixed some mistakes in documentation and added documentation for the "eventsToday+NUM" feature.
Version 1.2.0
→
Download
February 05, 2009
Changelog:
- Made it possible to display events from farther on in the future by adding "+NUM" to the end of the "eventsToday" argument, where NUM is the number of days into the future you would like to see (i.e. "icalBuddy eventsToday+2" to also see events for tomorrow and the day after.)
- Changed the
-s
(or--separate
) argument to-sc
(or--separateByCalendar
) in order to allow for distinctions between different kinds of separation (like separation of items by date, which will be coming in a future update.) - Removed the
-dtf
(or--dateTimeFormat
) argument as redundant (we can just use a combination of the date formatting string and the time formatting string to get a date-time formatting string.) - Added argument
-dts
(or--dateTimeSeparator
) for specifying the separator string between dates and times in the output. The default is" at "
. - Added some simple cases where dates would be formatted as natural language relative to the current date (e.g. "today" or "tomorrow" instead of "2009-02-05".)
- Fixed the tinyurl links to Apple's date formatting string syntax documentation.
Version 1.1.1
→
Download
October 11, 2008
Changelog:
Just some minor code cleanup.
Version 1.1.0
→
Download
April 20, 2009
Changelog:
Changes related to output string encoding:- Changed the default output string encoding to UTF-8.
- Added option
--strEncoding
for setting the desired output string encoding. - Added possible
output_type
value "strEncodings" so that you can runicalBuddy strEncodings
to see all the possible values for the--strEncoding
option.
Version 1.0.8
→
Download
July 28, 2008
Changelog:
- Added parameter (
-f
or--formatOutput
) to specify whether to format the output via ANSI espace sequences (in order to make it more readable). Currently this only makes the titles of items bold.
Version 1.0.7
→
Download
August 06, 2008
Changelog:
- Added additional ordering rule for tasks to make identically prioritized tasks get ordered alphabetically by title.
- Code cleanup: used bitflags for the pretty-print functions instead of "contexts".
Version 1.0.6
→
Download
July 02, 2008
Changelog:
- Fixed displaying of events from Address Book's Birthdays calendar (before it would just show the URL to the Address Book entry, now it shows a line like
"* Ali Rantakari's Birthday"
.)
Version 1.0.5
→
Download
June 23, 2008
Changelog:
- Made tasks that are late from their due date get sorted before ones that are not (when the priority is the same.)
- Fixed silly oversight in Makefile where
sudo make install
would fail because the binary and manfile installation paths were not present.
Version 1.0.4
→
Download
April 20, 2009
Changelog:
- Now prints only the date (instead of the date & the time) for task due dates (you can't specify a time for a task due date in iCal anyway.)
- Now prints
"today"
(instead of the time) for a task's due date if it is on the current date. - Now uses an exclamation point symbol (
!
) in place of the standard asterisk "bullet point" symbol (*
) for tasks that are late from their due date. - Added new parameter
-df
(or:--dateFormat
) for specifying formatting strings for dates (as opposed to times or date & time combinations.)
Version 1.0.3
→
Download
June 21, 2008
Changelog:
- Made notes and locations with values of empty strings (or just any number of whitespace) not get displayed.
- Put default time and dateTime formatting strings into macros.
Version 1.0.2
→
Download
June 19, 2008
Changelog:
- Added indentation to new lines within notes.
- Changed all
printf()
statements toNSPrint()
statements in order to avoid some weird problems with standard output. - Removed some unnecessary
return(0)
statements.
Version 1.0.1
→
Download
June 19, 2008
Changelog:
- Now a Universal Binary. Also changed gcc arguments in makefile to conform to this.
- Added possibility to exclude all properties in the output for tasks or events by specifying
"*"
as the value for -etp or -eep argument(s). - Fixed a bug where events from the previous day would be displayed when using the
"eventsToday"
output type argument value. - Cleaned code a bit (removed an unused variable, made some things more explicit etc.)