A general linked list function, llist_reorder(), is introduced that will reorder a list after a list element has changed. Some refactoring to avoid code dupliction. Background The four linked lists of appointment panel items (appointments, recurring appointments, events, recurring events) are kept sorted by inserting elements in order, either when they are first loaded from disk or when new are added. The ordering is by start time (numerical) and description (alphabetical). The user is allowed to change start time as well as description. A change is committed directly to the list item (unlike cut/paste where an item is deleted and then inserted). This may break the order. The order property is used when events are loaded from the evenlist into the day_item vector, see LLIST_FIND_FOREACH_CONT, and when looking for the next upcoming appointment, see apoint_check_next(). Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
calcurse
Building
Install the following build dependencies. If your distro segments development files from core packages (i.e., *-devel or *-dev packages), you may need to install those as well:
- gcc
- automake
- asciidoc
- gettext with development files
- ncurses with development files
If you are using a release tarball, the following commands can be used to build and install calcurse:
$ ./configure
$ make
$ make install
Note that make install
needs to be run as root. When working on a Git
checkout, you need to run ./autogen.sh
before ./configure
.
Package Overview
build-aux
: auxiliary files for the build processcontrib
: useful tools such as hooks or the CalDAV synchronization scriptdoc
: detailed documentation in plain text and HTMLpo
: translations and i18n-related filesscripts
: additional official scripts, such ascalcurse-upgrade
src
: the actual calcurse source filestest
: test suite and test cases for calcurse
Authors
calcurse was created by Frederic Culot in 2004. Since 2011, the project is maintained by Lukas Fleischer. Many core features added to calcurse since 2017 were designed and implemented by Lars Henriksen.
Of course, there are numerous other contributors. Check the Git commit log and
the Thanks
section in the manual for a list of people who have contributed by
reporting bugs, sending fixes, or suggesting improvements.
Contributing and Donations
Patches, bug reports and other requests are always welcome! You can submit them to one of our mailing lists (check the patch submission guidelines for details) or via GitHub.
We are also extremely grateful for donations which help us continue developing calcurse as open source software and are used to cover recurring costs, such as for our servers. You can use https://calcurse.org/donate/ for a one-time payment. If you prefer another form of donation, do not hesitate to contact us!