Annual is an application to remind you of annual events like birthdays, fixed holydays, etc. The program can notify the user both in graphical and text-mode (no GUI). The central aspects of this project are:


Installation under Windows

The program is separated in two packages: The executable file and the necessary dll-files. You can Download both packages from the project page. After downloading, the first thing to do is to put the content of both packages in the same (new) folder.

Installing the Source

Until now, we only provide the source in a git repository. Therefore, please check that you have the following packages installed: git, qt4, cmake Additionally, you have to install perl, libxml-xpath, log4perl, if you want to use the perl-script. Invoking git clone git:// will copy the contents of the repository in your local path. You can now start building the source with cmake .. deb and rpm-Packages are generated by cpack -G DEB and cpack -G RPM respectively.

Starting the first time

Starting the first time will show you a wizard which can create a new database file for your annual remind dates. Just specify a filename for your database by clicking "New database". Finally, the program will show you a list and an edit tab. First write all your data in the edit tab. The last row is always empty, i.e. putting data in this line creates a new entry. The list tab will be magically populated with the data entered in the edit tab. You can control your input data by reviewing the results shown in the list tab which displays all dates.


For Windows

By invoking annual.exe -q, the program will only spawn a window if there is anything to remind. You can specify the dayspan in which a date is considered 'remindable' (configuriation -> 'warning days'). Putting a link to "annual.exe -q" in your autorun folder should finish the setup.

Usage under Linux


You can append the line
@reboot /usr/bin/annual -lq > /etc/motd
to /etc/crontab. Then for each reboot, the output will be saved under /etc/motd and will be displayed whenever a terminal will be opened.


Many popular graphical environments like Gnome or KDE provide an autostart-management. Just add /usr/bin/annual -q to your list.

Commandline paramenters

  -h            Print Help (this message) and exit
  -v            Print version information and exit
  -l            Do not use graphical interface - just output to console
  -q            Don't popup a window if there's nothing to remind

The file format

The database is saved in a simple csv-file. The format looks like
BIRTH  ;1906-01-26;Jón Jónsson;
WEDDING;1994-11-14; 陈小名;
DEATH  ;1927-03-11;Jaan Tamm;best friend
birthday;1779-08-16;Jan Janssen;
B      ;1852-09-09;홍 길동;
memorial;03.14;Pi Day;have some fun :-)
The rules are:

Compilation & debugging under Windows

The most recent version can only be accessed via our git repository. Therefore procceed with the following steps:

  1. Install msysGit-fullinstall
  2. Install Qt for Windows
  3. Create a folder and open it with the commandline-shell
    e.g.: start - execute: "command.exe". Put the following commands in the poped-up window:
    1. mkdir C:\sources
    2. cd C:\sources
  4. Write C:\msysgit\msysgit\bin\git.exe clone git:// to save the source code in your current folder.
  5. If it fails with "Could not find libintl-2.dll", search in C:\msysgit\ for this file and copy it to your current folder (e.g. C:\sources)
  6. git.exe creates a new folder annual. In this folder, you can open the file with the QtCreator
  7. The QtCreator provides a Run-button (green arrow) to compile and execute the application
  8. To download an update for annual, simply go to the annual-source directory and use git pull, e.g.
    1. cd C:\sources\annual
    2. git pull