Age | Commit message (Collapse) | Author |
|
Parse durations containing decimal numbers (such as "1.5h") gracefully.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Make sure that the monthly view cache is invalidated after the data
files are loaded.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In commit 2857bac (Fix segfault when running hooks in non-interactive
mode, 2016-01-16), we added checks to fix a segmentation fault in
non-interactive mode. However, at the same time, that commit broke
window preparation in interactive mode.
When wins_prepare_external() is called, the UI mode is changed to
command line, such that we cannot determine whether we need to call
wins_unprepare_external() when returning from the hook. As a workaround,
we now store the mode in a temporary variable.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Actually print the hash instead of raw object data.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Honor --format-* parameters when using the -G operation. In the case of
recurring items, the first occurrence is used.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Split io_save_{apts,todo}() into functions that write raw data to a file
and functions that write formatted items to stdout such that one can
easily extend the grep mode for format string support in a follow-up
commit.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
The previous behavior of --todo was to always only list uncompleted
items, unless zero was specified as additional argument. Restore and
document this behavior.
Also, fix two tests that failed because the --todo output is now sorted.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Remove obsolete options from the help text, add new options, clean
everything up, cut translatable strings into atomic chunks.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
When specifying --daemon, calcurse immediately forks and runs the
notification daemon in the background.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
We now support todo items with undefined priority and currently display
them above todo items with a strictly positive priority. Change this and
always list items with a priority greater than zero first.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In 45417bc (Add configuration option to notify all appointments,
2011-07-31), we added an option that allows for choosing whether the
user receives notifications only for flagged or only for unflagged
appointments. Convert this setting into a three-state option and allow
the user to additionally enable notifications for *all* appointments.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In commit 7f62fb1 (Let SIGUSR1 trigger a reload, 2014-10-10), we added
support for reloading the data files by sending SIGUSR1 to an
interactive calcurse process. Add the same functionality to the daemon
mode.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
* Automatically focus new todo items after adding them to the list.
* Keep selection when an item is moved (e.g. by changing its priority).
* Focus the next item in the list when an item is removed.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
* Show uncompleted items first.
* Order uncompleted and completed items by priority.
* Order items with the same priority alphabetically.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In the todo panel, all uncompleted items are currently prefixed with
their priorities. Drop this prefix from items with priority 0, i.e.
undefined priority.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add a configuration option appearance.todoview and use it to
automatically save the currently active todo panel view and restore it
when restarting calcurse.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In addition to priorities 1-9, support todo items without any specific
priority, internally represented by priority 0.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add a new field that indicates whether a todo item is completed or not
instead of encoding completed todo items by negative priorities.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add a second view to the todo panel that hides all completed items.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Do not run wins_prepare_external() and wins_unprepare_external() before
and after running hooks in non-interactive mode.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add a new --export-uid command line option that adds each item's hash to
the UID property when exporting.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Support "-" as file name to the -i/--import option and read from stdin
when that file is specified.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Use the new dynamic string utility functions instead of relying on a
fixed-size buffer.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Do not skip completed todo items when exporting to an iCal file.
Instead, mark them as "STATUS:COMPLETED".
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
When importing todo items from an iCal file, mark completed items as
completed.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Do not show the import summary when system dialogs are disabled or when
the --quiet option is specified, even if calcurse is executed in
non-interactive mode.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
When this option is used together with -i/--import, the object
identifiers of imported objects are printed to stdout.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Implement a -q/--quiet command line option to disable system dialogs
temporarily.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add a new -F mode that is identical to -G but writes the result back to
the calcurse data files instead of stdout.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Implement a new --filter-hash option to filter by object identifiers.
Each object having an identifier that has the specified pattern as a
prefix is matched. Patterns starting with an exclamation mark (!) are
interpreted as negative patterns.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add new format specifiers to print the raw item representation or an
object's hash value.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add functions to serialize recurrent items without immediately writing
them to stdout.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Add functions to serialize non-recurrent objects without immediately
writing them to stdout.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Use the new string implementation to simplify asprintf().
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Introduce support for strings which support concatenating the current
value with a printf-style formatted value, thereby growing in size
dynamically.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Potential use case: Synchronize data with some server before loading.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
This adds support for hooks which are executed before/after saving
calcurse data. Hooks can be placed under hooks/pre-save and
hooks/post-save in the data directory and need to be executable.
Potential use cases include:
* Automatically commit any changes to the data files using a VCS.
* Automatically sync with some sever component on data file changes.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Also, determine the number of displayed options on the general
configuration screen automatically (statically) instead of hard-coding
the value to prevent from future fallouts.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
A natural convention is to specify the end time of an event as 23:59:59
on the day it is scheduled.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
Show a warning when the user presses the generic-help binding and the
main help document is not available.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
In weekly view, when computing busy slices, do not fill a slot that is
only hit by the end time of an appointment.
Suggested-by: HÃ¥kan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|