| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If any --docdir is passed, the app can't find the builtin documentation
Just inherit docdir from configure now, which defaults to the same thing
but if overridden will act proper now.
Related: https://bugs.gentoo.org/813438
Signed-off-by: Marco Sirabella <marco@sirabella.org>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously only Sunday and Monday were allowed as the first day of the
week, and this was internally treated as a binary variable.
This patch allows for users to change the first day of the week to any
day.
Addresses GitHub feature request #321.
Signed-off-by: Morgan Seltzer <MorganSeltzer000@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously only Sunday and Monday were allowed for the first day of the
week, and was internally treated as a binary variable.
This patch changes the backend so all days are accepted, a future patch
will allow users to actually select other days.
Addresses GitHub feature request #321.
Signed-off-by: Morgan Seltzer <MorganSeltzer000@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sidebar has a numerical mimumum width that is statically defined,
and users may set the width of the sidebar in config by incrementing the
percentage of the screen between this minimum and a maximum value of
50%. However, internally the mimimum percentage could be set as low as
zero, and while that did not decrease the sidebar size below the
numerical minimum width, did mean that between 0 and the mimimum width
increasing the percentage had no visual effect to indicate change. Now
the mimimum percent is not decremented below the mimimum width.
Signed-off-by: Morgan Seltzer <MorganSeltzer000@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
| |
Added the option to configure the format in which appointment time is
displayed. The setting is called "format.appointmenttime" under the
general settings menu. Setting defaults to previous behavior, which was
"%H:%M".
Signed-off-by: mercurialmoon <mercurialmoon@protonmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
This can be used to cycle backwards through windows (similarly to
generic-change-view).
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the keys file there are three possibilities for each action:
1. One or several keys are assigned to it
2. It is marked as UNDEFINED (new)
3. It is missing from the file
On load of the keys file, calcurse respectively
1. Assigns the key(s)
2. Assigns "UNDEFINED" (new)
3. Assigns a default key if possible
If default keys were assigned, the user is informed of the number of
actions affected, and the keys file is updated.
After load each action must either have keys assigned or be undefined.
If not, calcurse exits with a failure. If there are syntax/semantic
errors in the file, calcurse rejects the file and exits.
When an interactive user leaves the keys configuration menu, a warning
is issued if any action is UNDEFINED. The keys file is always updated.
Addresses GitHub issue #298.
Additionally: Description of concepts and data structures used for
keyboard keys and virtual keys (actions) as well as name changes and
comments to improve readability.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently, while some CalDAV servers return href values as is in their
response, some might return them URL-quoted (which, if I am not
mistaken, was the reason for e943b06).
Assuming either behaviour when pushing local objects will lead to
discrepancy with events dictionary retrieved from the server and thus
bugs, hence we always want to use whatever form of href the server
returns.
Addresses GitHub issues #337 and #356.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
| |
We do not want hook or notification commands to interact with the
terminal in any way. Create a new session for them.
Addresses GitHub issue #326.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disconnect stdin, stdout and stderr when running an external hook or
notification command. The previous solution of appending "<&- >&- 2>&-"
to the shell command line does not work if the command includes pipes.
Use shell_exec() in notify_launch_cmd() instead of a custom (and
incomplete) reimplementation of that command.
Partially addresses GitHub issue #326.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
Add a function parameter to allows redirecting stderr in addition to
stdin and stdout. The parameter will be used with a follow-up change.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
| |
Add some clarification on the expected format for the Hostname and Path
options in the sample configuration file.
Addresses GitHub issues #95, #138, and #354.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
Run codespell, flake8, and isort for each change to one of the scripts
in contrib/.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
Replace the Travis CI configuration with an equivalent GitHub Actions
workflow.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid using readlink(1) which is not POSIX-compatible; moreover,
`readlink -f` is not available on Mac OS by default.
Instead, always convert $CALCURSE to an absolute path (that may or may
not be canonical, i.e., be a symlink or contain ../ as component) in
test-init.sh by prepending the current working directory if the original
path is relative. While not fully equivalent to `readlink -f`, this
should be good enough for use in our tests.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation allowed sections and keys other than those
used by the script which led to a variety of bug reports due to typos in
the configuration. Disallow entries other than those explicitly used and
make both section and key names case-sensitive (previously, only section
names where case-sensitive).
Check that Hostname and Path are set before using them.
Addresses GitHub issues #327 and #350.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
| |
There is a small typo in src/wins.c.
Should read `multiple` rather than `mulitple`.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
And fix item start day for prev command
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
DAY(t) is midnight (the day) of time_t t.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
| |
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
| |
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
Set pointers to NULL after calling free() to prevent double free on
cleanup.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
| |
Other items may have been imported succesfully.
Adresses Github issue #323, last part.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
| |
Refactoring of ical.c: properties DTSTART, DTEND, DURATION, RRULE and EXDATE are
saved and only processed after encountering END:VEVENT.
Adresses Github issue #323, follow-up question.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
| |
Do not share a common temporary directory between different test cases.
Reported-by: Tomasz Kłoczko <kloczko.tomasz@gmail.com>
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 mktemp(1) to create temporary directory. Copy missing todo file. Do
not modify any files in tests. Simplify and make some commands more
robust. Indent continuation lines.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
| |
Avoid using fixed-size buffers and strncpy().
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of the previous inconsistent and potentially nested menus, the
following message is now displayed when deleting an item:
Delete (s)elected occurrence, (a)ll occurrences, or only the (n)ote?
Options that are not available (e.g. because the item is not recurrent
or does not have a note) are omitted. For a non-recurrent item without a
note the message becomes
Delete (s)elected occurrence?
and is skipped if general.confirmdelete is disabled.
Implements GitHub feature request #308.
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
| |
The p(rev) command finds the previous occurrence of a recurrent item, analogous
to the n(ext) command.
A bug in the next command is corrected..
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
| |
Refactoring and simplification only, no functional change. All error checking
and logging done before call of ical_store_event/apoint().
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
| |
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
| |
Export now covers advanced recurrence rules and properties imported to a note
file.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the parts of commit 'Extend use of note file for ical import' that
relate to STATUS. The STATUS property is (partly) supported for todos already.
Corrects insertion of a separator: always insert it before imported properties
(also when there is no description).
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|
|
|
|
|
| |
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
|