1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
|
20 Jan 2008:
day_edit_item() rewritten so that there is no need to first delete
the item and then recreate it
event_get() and apoint_get() added
17 Jan 2008:
exit_calcurse() improved: screen is now cleared completely when
calcurse exits
io_export_data() improved: it is now possible to cancel calendar export
bugfix in day_edit_item(): null-terminating character missing
13 Jan 2008:
Ability to attach notes to appointments and events added
31 Dec 2007:
Notes attached to todos can now be suppressed
30 Dec 2007:
Ability to attach notes to todo items added
Call to an external editor or pager to edit/view notes implemented
'N' and '>' keystrokes added to edit or view notes
ierror() function improved
09 Dec 2007:
bugfix in recur_item_inday(): leap years should now be properly handled
calendar_move_up(), calendar_move_down(), calendar_move_left(),
calendar_move_right() were modified to properly handle leap years
and gathered together into calendar_move()
date_change() added
22 Oct 2007: 1.9
TODO and NEWS files updated
po files updated
21 Oct 2007:
window_t structure updated to store WINDOW pointer
window_e enum updated to shorten names, winprop_e and wins_prop()
suppressed
cwin, awin, twin, swin variables suppressed
help_screen() updated to make automatic resize available inside help
screens (thanks Sebastian for reporting the problem)
help_wins_reset(), help_wins_init(), help_wins_reinit() and
wanted_page() created
help_pages_e enum added
custom_general_config() and notify_config_bar() updated to handle
basic window resizing
custom_confwin_init() and display_color_config() created
custom_color_config() rewritten
14 Oct 2007:
next_arg() rewritten, date_arg() improved
bugfix: wins_reset() modified to avoid blank screen when resizing
under Linux
fixed a possible problem in notify_config_bar(): no need to stop
thread if it was not started before
calendar_change_day() and calendar_move_*() updated to prevent user
from entering an unsupported date
08 Oct 2007:
Dutch manual and translation updated, many thanks to Jeremy
bugfix: possible problem when using -n flag without any upcoming
appointment (thanks Herbert for reporting this problem)
07 Oct 2007:
handling of SIGWINCH improved
German manual and translation updated, many thanks to Michael Schulz
16 Sep 2007:
bugfix: wrong symbol used for pthread library in configure.ac (thanks
Michael for noticing this bug)
keypad() used in popup() routine, to avoid possible unwanted
interactions (status bar could change for example when viewing an
item description and pressing an arrow key)
export to /tmp/calcurse.ics is now performed in case $HOME is not set
01 Sep 2007:
bugfix: shift in date_arg(), thanks Herbert for reporting this bug
31 Aug 2007: 1.9_beta
NEWS file updated
19 Aug 2007:
wins_reset() updated to handle notification bar reset
no more check for terminal size in main loop
bugfix: avoid core when trying to load a calendar file from current
directory
manuals updated with part related to moon phase calculation
french translation updated
TODO and README files updated
15 Aug 2007:
handling of SIGWINCH added
wins_prop(), wins_layout(), wins_set_layout() and wins_reset() added
apoint_hilt(), apoint_hilt_set(), apoint_hilt_decrease() and
apoint_hilt_increase() added
scroll_pad_down() and scroll_pad_up() moved to apoint_scroll_pad_down()
and apoint_scroll_pad_up()
todo_hilt(), todo_hilt_set(), todo_hilt_decrease(),
todo_hilt_increase(), todo_saved_mesg(), todo_nb(), todo_set_nb(),
todo_set_first(), todo_first_increase(), todo_first_decrease(), and
todo_hilt_pos() added
layout is not part of conf_t type anymore, and becomes a static variable
in wins.c
12 Aug 2007:
Moon phase calculation added
calendar_get_pom(), pom(), potm(), dotr() and adj360 added, based on the
OpenBSD version of pom(6)
TODO list updated
04 Aug 2007:
ASSERT macro created
aerror() and ierror() created to improve error handling while in ncurses
mode
exit_calcurse() updated to take exit code as argument
memory leak fixed in day_item_s2apoint_s()
29 Jul 2007:
compiler warnings fixed
28 Jul 2007:
Dutch manual and po file added, many thanks to Jeremy Roon
configure.ac, Makefile.am and src/Makefile.am improved
unuseful headers removed
some functions became static
check_date() moved to utils.c
border_color() and border_nocolor() moved to wins.c
26 Jul 2007:
global variables suppressed in calcurse.c
22 Jul 2007:
exit_calcurse() created
wins_slctd_init(), wins_slctd_set(), wins_slctd_next()
and wins_slctd() created
sigs.c and sigs.h created to store signal handling routines
which_pan global variable suppressed
21 Jul 2007:
wins.c and wins.h created to store windows handling related routines
window handling routines moved to wins.c and wins.h
erase_status_bar() created
several routines moved from calcurse.c to more appropriate source files:
update_app_panel() moved to apoint_update_panel()
update_todo_panel() moved to todo_update_panel()
add_item() moved to apoint_add()
del_item() split into apoint_delete() and todo_delete()
init_vars() moved to vars_init()
print_notify_options() moved to notify_print_options()
config_notify_bar() moved to notify_config_bar()
20 Jul 2007:
store_day() moved to day_process_storage()
enum window_number moved to vars.h and became window_e
window_t type created in vars.h
day_items_nb_t added in day.h
several routines updated to make use of the newly created window_t type
01 Jul 2007:
bugfix: calendar_date_thread implemented to check for day changes
(thanks Jupp for reporting the problem)
code cleanup: global variables today and slctd_day moved to calendar.c
and date_t type created
several routines created in calendar.c: calendar_store_current_date(),
calendar_get_slctd_day(), calendar_get_slctd_day_sec(),
calendar_init_slctd_day(), calendar_move_up(),
calendar_move_down(), calendar_move_left(),
calendar_move_right(), calendar_set_first_day_of_week(),
calendar_change_first_day_of_week(),
calendar_week_begins_on_monday()
12 Jun 2007:
Thread implemented to regularly check for day changes (thanks Jupp for
reporting the problem)
code cleanup in get_date() to get rid of global variables
22 May 2007: 1.8
NEWS file updated
html manuals updated
po files updated
12 May 2007:
English and French html manuals updated
06 May 2007:
make use of memmove in del_char()
layout variable added to conf_t type
code cleanup in custom_load_con()
bugfixes:
layout is now correctly restored (thanks Jose for reporting that
bug)
getstring() now properly handles erasing of characters
apad width is now correctly updated when changing layout
notify bar init sequence modified to avoid a possible segfault
right part of progress bar now properly displayed
item ending time is now assigned to correct day in day_edit_item()
24 Apr 2007:
custom_color_config() made more robust regarding values returned by
pair_content()
Many thanks to Herbert for reporting bugs related to color configuration
22 Apr 2007:
custom_color_theme_name() updated to handle ncurses different returned
values (depending on if ncurses was compiled with --enable-ext-funcs)
21 Apr 2007:
custom_color_config() modified to take terminal's vertical length into
account
custom_color_theme_name() updated to handle colorless theme
15 Apr 2007: 1.8_beta
help_arg() updated to display help for the -export argument
usage() updated
manpage updated
english manual updated
configure.ac updated to check for new header files
14 Apr 2007:
bugfixes:
wrong define used in notify_update_bar()
recurrent appointment description is now loaded correctly while the
item contains exceptions
item state is now saved for endless recurrent appointments
correct item is now highligthed when changing day inside appointment
panel with CTRL keys
notify_catch_children() and notify_thread_children() suppressed, because
zombie processes are now catched using signals
sigchld_handler() and init_sighandler() created
04 Apr 2007:
MAX_LENGTH replaced by stdio.h's BUFSIZ
use of MININSEC and DAYINSEC defines
bugfix: typestr size corrected in day_edit_item()
bugfix: 01/01/1970 is not returned anymore if 0 is given to
date_sec2date_str()
24 Mar 2007:
TODO updated
online help updated to add the export and flag command
'-x' flag added in parse_args() to export data in non-interactive mode
init_notify_bar() moved from calcurse.c to notify_init_vars()
load_conf() moved from calcurse.c to custom_load_conf()
fill_config_var() moved from calcurse.c to custom.c
extract_data() renamed to io_extract_data() and save_cal() to
io_save_cal()
conf_t type created
19 Mar 2007:
status_bar() updated to add 'X' and '!' keybindings
17 Mar 2007:
HOURINSEC and MININSEC defined
io_export_events(), io_export_recur_events() and
io_export_recur_apoints() created
io_recur_type() and io_export_valarm() created
progress_bar() updated to display a bar when exporting data
12 Mar 2007:
date_sec2ical_datetime() and date_sec2ical_date() created
io_export_apoints() updated to call date_sec2ical_datetime()
11 Mar 2007:
'X' command added, to export data in iCal format
io_export_data(), io_get_export_stream(), io_export_header(),
io_export_footer(), io_export_todo(), io_export_apoints() created
10 Mar 2007:
global variable 'colr' suppressed
save_cal() modified to save new version of user-defined color theme
custom_color_theme_name() created to return color theme name
custom_load_color() updated to load new version of user-defined color
theme
recur_item_inday() improved, thanks to Tony's patch
04 Mar 2007:
color_config() rewritten and changed to custom_color_config(), to allow
more color choices and the use of terminal's default background color
custom_load_color() created
border_color() and border_nocolor() updated to take into account new
color definitions
update_windows() updated to avoid the use of the 'colr' variable
28 Feb 2007:
bugfix: CTRL-D problems while editing items fixed
Thanks Toucouch for reporting this bug
25 Feb 2007:
init_notify_bar() updated to get user shell
notify_launch_cmd() created to launch user-defined command by forking a
new process
notify_catch_children() and notify_thread_children() created to avoid
zombie processes when launching user-defined command
24 Feb 2007:
'!' command added, to switch appointment notification state
init_notify_bar(), config_notify_bar() and print_notify_options()
modified to add the notification command option
apoint_switch_notify() and recur_apoint_switch_notify() created
day_item_nb() created
save_cal(), recur_apoint_write(), and apoint_write() updated
to save item state to disk
load_app(), load_conf(), apoint_scan(), recur_apoint_scan(),
apoint_new() and recur_apoint_new() updated to read item state
20 Jan 2007: 1.7
TODO list updated
NEWS file updated
17 Jan 2007:
Spanish manual and translation updated, many thanks to Jose
16 Jan 2007:
better handling of the values returned by getstring(): user canceling
now properly taken into account
German translation updated
TODO file updated
calcurse version updated to 1.7 and copyright extended to 2007
bugfix: html manuals updated because 'calcurse -ta' cannot be used any
longer
10 Jan 2007:
German manual and translation updated, many thanks to Chris M.
bugfix: Edit command no longer crashes when trying to edit an unexisting
item
bugfix: pressing 'CTRL-T' while inside appointment panel no longers
create an appointment but a todo, as expected
better checking of the entered date in goto_day()
05 Jan 2006:
newline suppressed in next_arg()
21 Dec 2006:
display adjustments in day_write_pad() and update_todo_panel()
19 Dec 2006:
bugfix in init_wins(): max label length is now MAX_LENGTH
bugfix in day_edit_item(): end time does not change if start time is
edited
fr.po: french translation updated
README updated
18 Dec 2006: 1.7_beta
bugfix in getstring(): CTRL-K now works properly
15 Dec 2006:
TODO file updated: one more thing to improve...
small bugfixes
14 Dec 2006:
improvements in the memory deallocation in day_edit_item(),
updatestring(), next_arg()
updatestring() now returns a value indicating if there was a canceling
when modifying text
TODO file updated
13 Dec 2006:
bugfix: call to getstring() corrected in todo_new_item()
documentation about the built-in input line editor added in html
manuals
item_in_popup() improved to replace the scroller() function by an
ncurses pad
scroller() function suppressed
12 Dec 2006:
english and french html manuals updated
help screen updated for repeat command
11 Dec 2006:
help_arg() updated to take long options into account
manpage updated
10 Dec 2006:
help screen added for the 'Edit Item' command
date format modified for the 'Go To' command
08 Dec 2006:
day_edit_item() finished, day_edit_time() created and day_erase_item()
updated to add the 'force_erase' flag
recur_get_event() and recur_get_apoint() created
datesec2str() changed to date_sec2hour_str(), and date_sec2date_str()
created
update_time_in_date() created
01 Dec 2006:
datesec2str() created
30 Nov 2006:
'Edit Itm' command added in the status bar
day_edit_item() created
28 Nov 2006:
add_char() modified to use memmove() instead of memcpy()
02 Nov 2006:
getstring() modified to take the max string length as an argument
updatestring() and todo_edit_item() created
add_char() simplified, using memcpy()
'E' key added to edit already existing items
28 Oct 2006:
getstring() improved to allow the modification of an existing string
showstring(), showcursor(), add_char() and delete_char() created
getstring() calls in todo_new_item(), recur_repeat_item(),
goto_day(), config_notify_bar() and add_item() updated
display_item(), display_item_date() and day_write_pad() updated to add
an asterisk in front of recurrent items
17 Oct 2006:
parse_args() modified to use getopt_long() instead of getopt, to make
the '-t' priority number optional, and to allow the use of long options
configure.ac: check for getopt.h header file added
16 Oct 2006:
bugfix: when creating a recurrent item, the entered end-date is now
included again
'-t' flag now takes a priority number for argument
01 Oct 2006: 1.6
german manual and translation updated by Chris M.
bugfix: CTRL-J now works properly
bugfix: a number of minutes can no longer be entered while creating a
new appointment
TODO list updated
NEWS file updated
25 Sep 2006:
spanish translation and manual updated by Jose Lopez
22 Sep 2006:
spanish manual updated by Jose Lopez
bugfix: LOCALEDIR is now defined in src/Makefile.am instead of
configure.ac, to prevent from conflicting definitions. Thanks to Jose
for reporting that bug.
19 Sep 2006:
french, german and spanish manuals updated
18 Sep 2006:
added test on warning time interval in config_notify_bar()
print_general_options() modified to print text one line upper
bugfix: pressing enter no longer switches to next week in calendar panel
english manual updated
17 Sep 2006:
config_notify_bar() improved
getstring() improved to check for escape sequence
help_screen() updated
french translation updated
16 Sep 2006:
'-n' flag implemented
parse_args(), help_arg() and usage() updated
next_arg(), now() created
manpage updated
notify_app_s structure updated
apoint_check_next(), recur_apoint_check_next() and recur_repeat_item()
updated
config_notify_bar() and print_notify_options() improved
mycpy() created
15 Sep 2006:
nbar_s structure created to store notify-bar settings
save_cal() and load_conf() updated to write and read the user
configuration concerning the notify-bar
init_var(), help_screen() and config_bar() updated
config_notify_bar(), print_notify_options(), init_notify_bar(),
notify_bar(), notify_start_main_thread() and notify_stop_main_thread()
created
14 Sep 2006:
fixed a bug which caused the recurrent appointments not to show up in
the notify-bar
added the time left before next appointment inside notify-bar
fixed a bug in recur_item_inday() which caused the appointments to have
a wrong start time when repeated
bugfix: no more deletion of the wrong recurrent appointment
today() created
notify_check_added(), notify_check_repeated() and notify_same_item(),
notify_same_recur_item() created
12 Sep 2006:
implementation of a mutex lock to protect the appointment linked lists
from race conditions
apoint_llist_init() and recur_apoint_llist_init() created
several routines in apoint.c and recur.c updated to take those new lists
structure into account
11 Sep 2006:
small bugfixes in es.po
DAYINSEC moved from recur.c to vars.h
apoint_check_next() created
recur_apoint_check_next() created
notify_check_next_app() and notify_thread_app() created
09 Sep 2006:
src/Makefile.am updated to take notify.h and .c into account, and link
to lpthread added
configure.ac: added test for pthread library and switched to 1.6
help window size updated to take notification bar into account
notify.h and notify.c created, with the following routines:
notify_init_bar(), notify_reinit_bar(), notify_update_bar(),
notify_extract_aptsfile(), notify_thread_sub()
Makefile.am updated to add the spanish manual
spanish manual and translations added, many thanks to Jose for
providing them
manuals updated (thanks section)
08 Sep 2006:
fixed a bug appearing when trying to delete a newly repeated item
07 Sep 2006:
fixed a bug which prevented status bar keybindings from being
translated
bugfix in recur_repeat_item(): the repeated end date can no longer be
before the item start time. Thanks Chris for reporting that bug
french translation updated
TODO list updated
06 Sep 2006:
status_bar() rewritten from scratch to allow more than one page
of keybindings
reset_status_page() and other_status_page() created
'O' keybinding added to switch between status bar pages
added general keybindings which apply whatever panel is selected
(^A, ^T, ^H, ^J, ^K, ^L)
changed the redraw keybinding from ^L to ^R
added help pages concerning the general bindings and the 'O' command
03 Sep 2006:
todo_args() updated to display priorities
fr.po: new entries translated and fixed 'fuzzy' translations
layout_config() improved, and new layout configurations added
get_screen_config() updated to take new layouts into account
TODO list updated
02 Sep 2006:
help text added for the 'Priority' function and updated for the 'Add'
function
todo_get_position(): fixed a possible infinite loop
calcurse.c: improved the ToDo panel scrolling while changing item priority
fixed a bug in day_write_pad() which could cause a misplacement of the
line between events and appointments
31 Aug 2006:
todo_chg_priority(), todo_get_item() and todo_get_position() created
todo_insert() suppressed
todo_new_item() updated to ask for priority
todo_add() updated to sort items by priority order
update_todo_panel() updated to display todo priority
'+/-' menu added to handle todo priorities
30 Aug 2006:
'id' added to todo_s structure
load_todo() and save_cal() updated to take this id into account
moved add_todo() from calcurse.c to todo_new_item() in todo.c
bugfix: pressing 'R' while no item was selected caused a segfault.
Thanks to Chris for reporting that bug
26 Aug 2006: 1.5
25 Aug 2006:
io.c: fixed a data format bug in load_app()
day.c: events and appointments are now sorted properly
24 Aug 2006:
bugfix in recur.c: forgot to wait for user's key pressed...
repeat command disabled for todo panel
switched to version number 1.5 in configure.ac and manpage
html manuals thanks section updated
23 Aug 2006:
independant status bar created for the todo panel
bugfix: memory allocation problem in day.c
online help text updated for the repeat and delete commands
22 Aug 2006:
recur.c: compilation warnings corrected
calcurse.c: screen refreshing process ameliorated in add_item()
21 Aug 2006:
English and German translation added
19 Aug 2006:
bugfix: in io.c, a bug could cause a fatal error when loading from file
an endless recurrent item with non-repeated days
bugfix: in recur.c, fixed a bug which could result in an infinite loop
when saving multiple days
bugfix: in calcurse.c, a newly created appointment or event is now
correctly highlighted
recur_repeat_item() updated to check if the frequence is valid
16 Aug 2006:
recur_exc_scan() created
recur_event_new() and recur_apoint_new() updated to take non-repeated
days into account
06 Aug 2006:
recur_item_inday() updated to take non-repeated days into account
recur_repeat_item() and day_get_item() created
'R' menu key added to repeat an event or an appointment
02 Aug 2006:
bugfix: Debian bug #377543 fixed, thanks to Neil for reporting it
recur_event_erase(), recur_apoint_erase() and recur_write_exc() created
recur_event_write() and recur_apoint_write() updated to call
recur_writ_exc() if there are exceptions to be written
day_erase_item() and del_item() updated
ESCAPE key definition added
01 Aug 2006:
day.h: MAX_TYPES added
day_erase_item() created
del_apoint() renamed to del_item and updated to take recurrent
items into account
27 Jul 2006:
back to work after my ibook's logic board crash :(
autogen.sh created
25 Jun 2006:
app_arg() updated to take recurrent items into account
recur_apoint_s2apoint_s() created
added help text concerning possible formats to be entered when using
'-h' flag in non-interactive mode
fixed a bug related to localtime() which returns a statically
allocated structure that can be overwritten by subsequent calls
to the function (which was the case with recurrent items)
load_app(), recur_event_scan(), recur_apoint_scan(), recur_item_inday(),
recur_event_write() and recur_apoint_write() updated to take endless
recurrent items into account
24 Jun 2006:
cvs keywords added inside source files
apoint_sec2str() and display_item_date() modified to take recurrent
items into account
day_check_if_item() created
18 Jun 2006:
day_store_recur_events() and day_store_recur_apoints() created
recur_item_inday() created
17 Jun 2006:
day_popup_item() created
pointers to number_events_inday and number_apoints_inday passed to
day_store_items()
day_write_pad() updated to reallocate memory for day_saved_item structure
16 Jun 2006:
free_aday() and free_eday() suppressed and replaced by day_free_list()
day_store_items() created
store_day() updated to call day_store_items()
eday_store() and aday_store suppressed and replaced by day_store_events()
and day_store_apoints()
edayadd() and edayadd() suppressed and replaced by day_add_event()
and day_add_apoint()
write_app_pad() suppressed and replaced by day_write_pad()
day_item_s2apoint_s() created
14 Jun 2006:
day.c and day.h created to store processes related to the currently
selected day inside calendar (this is to ease the implementation of
recursive items)
src/Makefile.am updated
08 Jun 2006:
recur_save_data() created
recur_char2def() created
07 Jun 2006:
recur_apoint_scan() and recur_event_scan() created
load_app() updated to read recursive events from file
06 Jun 2006:
bugfix: Debian Bug Report #369550 regarding the segfault which
appeared when calcurse was launched in non-interactive mode without
data files
recur.h and recur.c added to implement recursive events
src/Makefile.am updated
recur_event_new()and recur_apoint_new() created
recur_def2char(), recur_apoint_write() and recur_event_write() created
15 May 2006: 1.4
TODO, README, manpage and manual updated
13 May 2006:
NEWS file updated
11 May 2006:
manual_de.html finished : many thanks to Michael Schulz
manual_fr.html updated
08 May 2006:
manual_en.html updated
bugfix: added test at the end of color_config() to check the need
of using colorization or not
07 May 2006:
french translation finished
manpage updated
05 May 2006:
added LOCALEDIR definition in configure.ac
usage_try() created
27 Apr 2006:
removed VERSION definition from vars.h to only use the one from
configure.ac
include config.h added in calcurse.c
26 Apr 2006:
updated exit() calls by using EXIT_SUCCESS and EXIT_FAILURE
end of source preparation for i18n
replaced required confirmation string from 'yes' and 'no' to 'y' and 'n'
'gettextization' of source package:
* Makefile.am (SUBDIRS): Add po.
(ACLOCAL_AMFLAGS): New variable.
(EXTRA_DIST): Add config.rpath, mkinstalldirs, m4/ChangeLog.
* configure.ac (AC_OUTPUT): Add po/Makefile.in.
25 Apr 2006:
updated parts related to general config variables to handle i18n:
general config variables type changed to boolean
fill_config_var() created
switch_option() suppressed
23 Apr 2006:
progress_bar() modified to better fit the data file structure
user_conf_t created to allow translation of configuration variables
22 Apr 2006:
translatable strings marked for i18n
manual_de.html added (german translation of calcurse manual,
thanks to Michael Schultz)
20 Apr 2006:
i18n.h added to prepare for internationalization
src/Makefile.am updated
18 Apr 2006:
code cleanup: color_config() simplified
17 Apr 2006:
variable 'colorize' added
color number '0' added to be able to run calcurse in black&white
even on color terminals
16 Apr 2006:
border_nocolor() created to correctly handle panel borders in
non-color terminals
'week_begins_on_monday' option added, giving the ability to change
the first day of the week (thanks to Joe's remarks)
09 Apr 2006:
bugfix: stderr replaced by stdout in version_arg(), help_arg(),
todo_arg(), app_arg(), date_arg(), arg_print_date(), usage()
(thanks go to Soren for reporting that bug)
08 Apr 2006:
html manual translated in french (manual_fr.html created)
05 Apr 2006:
README file rewritten to take into account the new documentation structure
02 Apr 2006:
support for non-color terminals added :
window attribute levels defined in vars.h
attribute_s structure created in custom.h
custom_init_attr(), custom_apply_attr(), and
custom_remove_attr() created in custom.c
init_vars() updated in calcurse.c
30 Mar 2006:
doc/ repertory created to contain calcurse documentation and its
translations. Makefile.am updated to take the new repertory into
account
23 Mar 2006:
manual_en.html created, in order to replace the actual documentation
contained in the README file
17 Mar 2006: 1.3
bugfix: newpad added in init_vars to correct a bug causing core dump on
Solaris
bugfix: no more wrong event duration when entering end time in [hh:mm]
format
bugfix: first_todo_onscreen corrected to avoid the disappearing of
todo items
updated the copyright text which appears with the -v flag
manpage updated
README updated
online help updated
TODO list updated
14 Mar 2006:
replaced true and false #define by stdbool.h
13 Mar 2006:
online help screens updated
09 Mar 2006:
typedef help_page_t added to add a title to each help page
help_screen() and write_help_pad() updated to use new help_page_t type
07 Mar 2006:
#define true and false added in vars.h
online help screens updated
06 Mar 2006:
source file headers updated
26 Feb 2006:
get_help_lines() created
scrollbar added inside help screens
25 Feb 2006:
help_screen() updated, now using a pad to display help screens
write_help_pad() created
19 Feb 2006:
display structure updated to take into account the scrollbars
previous_item_mark() and next_item_mark() suppressed, scrollbar used instead
bugfix: hilt_tod and hilt_app were not updated when deleting an item
day_changed variable added and store_day() updated
bugfix: pad scrolling was not updated when deleting an item in the
appointment panel
bugfix: scrollbar length and top position were not correct in some
cases
18 Feb 2006:
enum window_number created
bugfix: start and end time now properly displayed when viewing an
appointment in popup window
bugfix: wrong highlited item when changing day fixed
draw_scrollbar() created to display a real bar inside panels instead
of 'v' and '^' marks
update_todo_panel() and update_app_panel updated to display the scrollbar
16 Feb 2006:
del_apoint() updated to take events into account
11 Feb 2006:
AC_HEADR_STDBOOL added in configure.ac
init_vars() created
do_storage variable added to check if we really need to update the
appointment panel items inside pad
free_aday() and free_eday() created
09 Feb 2006:
pad_s structure created
get_item_line(), scroll_pad_down() and scroll_pad_up() created
05 Feb 2006:
get_item_line() created
04 Feb 2006:
work on the way appointment panel scrolls
updated the way appointments are displayed in popup windows
28 Jan 2006:
write_app_pad() improved
26 Jan 2006:
improved the windows refresh order in update_windows()
25 Jan 2006:
changed MAX_LENGTH to 512
the pad used to display appointments has a fixed length now
14 Jan 2006:
store_day() created to speed up the appointment panel update
create_app_pad(), write_app_pad(), show_app_pad() created to
improve the way appointment panel scrolls
10 Jan 2006:
added ifndef..define tests at the beginning of .h
08 Jan 2006:
added definition of CTRL keys in vars.h
added the ability to erase characters with CTRL-H when entering
text (to fix a problem reported by Brendan who was not able to
delete with its English keyboard)
07 Jan 2006:
progress_bar() created in order to see progression while saving
data to file
'skip_progress_bar' option added
changed color 5 to be yellow on black and color 7 to be black on
yellow (this is to draw the newly created progress bar)
31 Dec 2005:
removed the -lpanel that was left in src/Makefile.am
README updated
add_item() and check_time() modified so that :
o an appointment start time can now be entered in both
hh:mm and h:mm formats
o for the appointment end time, either a duration in
minutes or the appointment end time can be entered
help_arg() and app_arg() updated to take events into account
when running calcurse in non-interactive mode
arg_print_date() created to simplify app_arg() structure
27 Dec 2005:
work on a better way to handle appointment and todo panels with the
use of ncurses scrolling functions
26 Dec 2005:
bugfix: fixed compiler warnings, thanks to Uwe
11 Dec 2005:
bugfix: fixed the January 0 bug
bugfix: current date is no longer highlighted in every year of the
future and the past (thanks to Michael for reporting that bug)
improved the way items are shown inside popup windows (variable
'show_apoint' removed, call to item_in_popup added when 'V' pressed)
10 Dec 2005:
update_app_panel() and update_todo_panel() improved
04 Dec 2005:
update_app_panel() updated to show events: now events are displayed
first in the appointment panel, followed by an horizontal line
update_cal_panel() updated to highlight days containing events
in calendar view
03 Dec 2005:
Loading of events implemented: load_app() updated
30 Nov 2005:
Saving of events implemented
29 Nov 2005:
Continuation of events item implementation
add_apts() updated (it is now called add_item) to check if
an appointment or an event is entered
28 Nov 2005:
Replaced everything related to 'event' by 'apoint' (appointments)
to prepare the incoming event items (meaning all-day long items)
event.c and event.h created to deal with events
Makefile.am updated
26 Nov 2005: 1.2
Fixed problems with scroller() within the help screen
20 Nov 2005:
Improved the way help screens are refreshed
Removed call to doupdate() inside scroller(), to prevent redondancy
config_bar() and check_data_files() updated
'skip_system_dialogs' option added
19 Nov 2005:
reinit_wins() created to redraw windows after resizing or layout
change
redraw_screen() improved and renamed it into get_screen_config()
fixed cursor position (did not manage to hide it :-(
08 Nov 2005:
changed all mvprintvw() calls to mvwprintw(), to improve the way
calcurse interface is refreshed.
06 Nov 2005:
Work on window handling :
o erase_panel() suppressed because no longer used
05 Nov 2005:
Handling of status bar improved :
o creation of an ncurses window instead of using stdscr
o erase_status_bar() replaced by erase_window_part()
cal_error() replaced by status_mesg()
03 Nov 2005:
ncurses library use improved: screen no longer flickers when
refreshed
02 Nov 2005:
erase_window_part() written to erase parts of windows
01 Nov 2005:
changed abbreviation for 'Wednesday' from 'Wen' to 'Wed'
panel library removed, calcurse does not use it anymore
work on the windows refreshing process : update_all() created
29 Oct 2005: 1.1
source code cleaning
version 1.1 released
25 Oct 2005:
bugfix : Debian Bug Report #335430 regarding the GoTo today
function which goes to the day calcurse was started instead of
the current day is now fixed
23 Oct 2005:
'-c' flag added to allow the use of multiple calendars
20 Oct 2005:
manpage and README file updated
configure.ac improved with the help of Michael
19 Oct 2005:
'-d' flag added to list appointments for the N upcoming days or
for a given day
15 Oct 2005:
Cleaning up of the source code so that it follows the K&R style
'-t' flag added to list todos in non interactive mode
'-a' flag added to list current day's appointments in non
interactive mode
13 Oct 2005:
functions created to handle command-line arguments (written in
args.c and args.h)
'-h' and -'v' flag added to display help and version in non
interactive mode
08 Oct 2005: 1.0 -> first stable release
help screen updated
manpage and TODO updated
06 Oct 2005:
bugfix : Debian Bug Report #330869 regarding the October 0 which
does not exist, is now fixed
05 Oct 2005:
default options "auto-save", "confirm-quit", and
"confirm-delete" set to "yes"
03 Oct 2005:
manpage written
README updated
13 Sep 2005: 1.0rc4
bugfix release :
o some people reported a segfault while changing general
options in the config screen, this no longer happens
o the Makefile was not linking to proper library (-lcurse
instead of -lncurse), this is fixed
o Calcurse no longer ends while trying to delete an event
which was just created (thanks to Alex's patch)
o changed date format to be like September 13, 2005 instead
of September, 13 2005
11 Sep 2005: 1.0rc3 -> first public release
adding of licence header in source files
04 Sep 2005:
source code splitted : creation of custom.c, custom.h
update of the Makefile
layout_config() : previous layout is now saved to restore it if
no choice is made
color_config() : previous colour is also saved as in
layout_config()
31 Aug 2005:
source code splitted : creation of vars.c, vars.h, io.c, io.h,
help.c, help.h
update of the Makefile
modification of the cal_error function
30 Aug 2005:
source code splitted : creation of calendar.c & calendar.h,
update of the Makefile
29 Aug 2005:
source code splitted : creation of utils.c & utils.h, update of
the Makefile
03 Jul 2005:
redraw_screen() created for initialization of screen
draw_screen() optimization for slow machine
02 Jul 2005 :
help screen updated
is_all_digit() created to check if a string is made of digits
check_event_time() created to check a new appointment time format
bugfixes ->
when 'G' pressed, no crash when invalid day is entered
when 'V' pressed, no crash when no event is highlited
Calcurse is now started in calendar view
scrolling problems fixed in app or todo view
first event is highlited if it is the first time a panel is visited
check if an new appointment format is valid
we can now move from year to year in calendar view
config screen is ok in OpenBSD too now
26 Jun 2005 : 1.0rc2
translation of the Changelog
writing of the README file
comments in the code
use of gnu autotools for building CalCurse package
-> CalCurse v1.0rc2
19 Jun 2005 :
scroller() improvement : the line is cut at the end of the last word,
not in the middle of it, and the 'next page' and 'previous page'
function was added
bug concerning the event printing in popup windows solved
18 Jun 2005 :
help improved
17 Jun 2005 :
writing of a function to erase appointments
14 Jun 2005 :
writing of a function to erase todo events
adding of the confirm_delete variable
12 Jun 2005 :
improvement of the status bar, it is now dependant of the terminal
size
adding of the terminal minimum size test
adding of a scrolling function in the ToDo panel if there is more
events than the panel lines
creation of the ~/.calcurse repertory if it does not exist when
CalCurse is launched
04 Jun 2005 :
colorization of the selected event
view function created to print out an event in a popup window (ok for
ToDo events)
active panel is now colorized
26 May 2005 :
update_todo_panel() now improved :) (3 dots are added at the end of
the event if it is longer than the panel size)
erase_tod() created to erase the todo panel
erase_tod(), erase_app() and erase_cal() linked in one single function
: erase_panel()
popup() created to print a popup window
25 May 2005 :
tries for improving update_todo_panel() :(
18 May 2005 :
changing of the status bar (different bars for calendar and other
panels)
14 May 2005 :
possibility to change the selected panel with TAB key
12 May 2005 :
scroller() improved
20 Apr 2005 :
scroller() function created
help screen improved, with scroller description
10 Apr 2005 :
the bug concerning the erasing of calendar lines is solved : a
refresh() was missing :(
-> CalCurse testing version is now almost over :)
08 Apr 2005:
help menu improved, with a description for each possible action in
Calcurse
07 Apr 2005 :
adding of the auto-save and auto-confirm variables with tests when
quitting Calcurse
adding of general options in the config menu (auto-save and
confirm-quit added)
writing of general_config(), print_general_options(), switch_options
and print_option_incolor()
improvement of functions to read and save user config, to take those
two new options into account
02 Apr 2005 : 1.0rc1
test function (e key) suppressed
add_apts() finished
goto_day() finished (we can now enter any day to go to)
-> CalCurse v. 1.0rc1 ;)
01 Apr 2005 :
work with Alex :
ToDo events are put in right order
writing of todo.h and todo.c
writing of date2sec()
improvement of the function to create and print the
Appointments, which are now put in right order
writing of event_delete_bynum()
writing of a function to colorize a day which contains an
event
improvement of the Makefile
27 Mar 2005 :
do_modifs_todo() finished : the ToDo events are now properly erased
06 Mar 2005 :
improvements of do_modifs_todo()
05 Mar 2005 :
extract_data() created to read the user conf from file
extract_todo() becomes extract_data()
-> the user config is now properly read
03 Mar 2005 :
load_conf() created to load the user config
02 Mar 2005 :
improvement of save_cal() to save the user configuration
(creation of the file .calcurse/conf, update of check_data_files)
01 Mar 2005 :
improvement of do_modifs_todo()
writing of the test function (when 'e' is pressed)
27 Feb 2005:
layout_config() finished
adding of the GPL licence
26 Feb 2005:
adding of the layout variable
writing of layout_config() started
25 Feb 2005 :
adding of a DEFINE for version number
creation of the help page
creation of the configuration menu, with color changing for now on
15 Mar 2004:
beginning of the project
|