diff --git a/ChangeLog b/ChangeLog index 13f0aebfc..2202195b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ intended to help scripts that manipulate task output. + Added feature #567, which makes it possible to apply an offset to the first month to be displayed in the calendar report (thanks to Michelle Crane) + + Eliminated dependency on ncurses. + Fixed bug #515, which displayed an incorrect message after duplicating a non-existent task (thanks to Peter De Poorter). + Fixed bug #529, where the 'depends' attribute was not mentioned in the diff --git a/NEWS b/NEWS index e11242a71..2e86b6b39 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ New Features in taskwarrior 1.9.4 - Added change log display to the 'info' command. - The first month in the calendar report can now be changed with an offset value. + - No more dependency on ncurses. Please refer to the ChangeLog file for full details. There are too many to list here. diff --git a/README.build b/README.build index cdd9ca3b8..7b3179719 100644 --- a/README.build +++ b/README.build @@ -15,15 +15,6 @@ section, which includes instructions on how to contact us for help. Operating System Notes ---------------------- -Cygwin 1.7 - Building taskwarrior on Cygwin 1.7 requires a configure option: - - ./configure --with-ncurses-inc=/usr/include/ncurses - - This is because the ncurses include files are in a different location to - Cygwin 1.5. - - Haiku Alpha/R1 Taskwarrior must be built with gcc version 4.x, so make sure you run: @@ -46,53 +37,12 @@ may be compiler errors and warnings when running 'make'. Sometimes you will run configure with no reported problems, and the build will fail later. This is almost always because configure is mistaken about some assumption. -The configure program can accept several options that help with its ability to -locate and use the ncurses library. They are: - - --with-ncurses - - This option tells configure that no matter what it thinks, ncurses is - definitely on this system and should be enabled. If needed, this option - probable needs to be accompanied by the next two options. - - --with-ncurses-inc=/usr/include - - If configure cannot find ncurses header files, this option will tell it - exactly where to look. The path specified in this example is the default, - so that probably won't help you. The path should be the directory in which - the file 'ncurses.h' resides. Here are some possible values to try: - - /usr/include (the default shown above) - /usr/include/ncurses - /usr/local/include - /usr/local/include/ncurses - - This should cover most systems, but new variations keeps cropping up. - - --with-ncurses-lib=/usr/lib - - If configure cannot find the ncurses library, this option will tell it - exactly where to look. The path specified in this example is the default, - so that probably won't help you. The path should be the directory in which - the file 'libncurses.a' (or your system's equivalent) resides. Here are - some possible values to try: - - /usr/lib - /usr/local/lib - - This should cover most systems, but new variations keeps cropping up. - - --without-ncurses - - This disables ncurses support in taskwarrior, and should really be used as a - last resort. We know of no systems where this is needed. - -If trying these options does not succeed, please send the contents of the -'config.log' files to support@taskwarrior.org, or post a message in the support -forums at taskwarrior.org along with the information. +If a build does not succeed, please send the contents of the 'config.log' file +to support@taskwarrior.org, or post a message in the support forums at +taskwarrior.org along with the information. If configure runs, but taskwarrior does not build, when ideally you would send both the contents of config.log, and a transcript from the build, which is not -written to a file, and must be captured from the terminal. +written to a file and must be captured from the terminal. --- diff --git a/configure.ac b/configure.ac index 0d361665e..6ed9502e6 100644 --- a/configure.ac +++ b/configure.ac @@ -64,37 +64,6 @@ else fi -# ncurses enabled by default. -AC_ARG_WITH([ncurses], - [AS_HELP_STRING([--without-ncurses], [disable support for ncurses])], - [with_ncurses=no], - [with_ncurses=yes]) - -AC_ARG_WITH([ncurses-inc], - [AS_HELP_STRING ([--with-ncurses-inc=DIR], [ncurses include files are in DIR])], - [ncurses_inc=$withval], - [ncurses_inc='']) - -AC_ARG_WITH([ncurses-lib], - [AS_HELP_STRING ([--with-ncurses-lib=DIR], [ncurses lib files are in DIR])], - [ncurses_lib=$withval], - [ncurses_lib='']) - -if test "x$with_ncurses" = "xyes" ; then - AC_DEFINE([HAVE_LIBNCURSES], [1], [Defined if you have libncurses]) - if test -n "$ncurses_inc"; then - CFLAGS="$CFLAGS -I$ncurses_inc" - CXXFLAGS="$CXXFLAGS -I$ncurses_inc" - fi - - if test -n "$ncurses_lib"; then - LDFLAGS="$LDFLAGS -L$ncurses_lib" - fi - - AC_CHECK_LIB([ncurses],[main]) -fi - - # Readline enabled by default. #AC_ARG_WITH([readline], # [AS_HELP_STRING([--without-readline], [disable support for readline])], diff --git a/doc/man/task-faq.5 b/doc/man/task-faq.5 index 6d9768557..3d1d8eb23 100644 --- a/doc/man/task-faq.5 +++ b/doc/man/task-faq.5 @@ -61,23 +61,6 @@ automatically upgrade the file but if you need to revert to a previous version of taskwarrior, there is the file format to consider. This is yet another good reason to back up your task data files! -.TP -.B Q: I'm using Ubuntu 9.04, and I want to word-wrap descriptions. How do I do this? -A: You need to install ncurses, by doing this: - - % sudo apt-get install libncurses5-dev - -Then you need to rebuild taskwarrior from scratch, starting with - - % cd task-X.X.X - % ./configure - ... - -The result should be a taskwarrior program that knows the width of the terminal -window, and wraps accordingly. - -Note that all the binary packages include this capability. - .TP .B Q: How do I build taskwarrior under Cygwin? A: Take a look at the README.build file, where the latest information on build @@ -86,15 +69,9 @@ you'll need to make sure you have the following packages available first: gcc make - libncurses-devel - libncurses8 The gcc and make packages allow you to compile the code, and are therefore -required, but the ncurses packages are optional. Ncurses will allow taskwarrior -to determine the width of the window, and therefore use the whole width and wrap -text accordingly, for a more aesthetically pleasing display. - -Note that there are binary packages that all include this capability. +required. .TP .B Q: Do colors work under Cygwin? diff --git a/doc/man/task.1 b/doc/man/task.1 index e64ce913f..8ef1984eb 100644 --- a/doc/man/task.1 +++ b/doc/man/task.1 @@ -378,7 +378,7 @@ Specifies background color. Specifies the desired number of tasks a report should show, if a positive integer is given. The value 'page' may also be used, and will limit the report output to as many lines of text as will fit on screen. This defaults -to 25 lines, if ncurses is not installed or enabled. +to 25 lines. .TP .B wait: diff --git a/i18n/strings.en-US b/i18n/strings.en-US index ce4da2ccf..78ed6f05b 100644 --- a/i18n/strings.en-US +++ b/i18n/strings.en-US @@ -18,7 +18,7 @@ 105 Inverted sequence range high-low 106 ID Range too large 107 Not a sequence. -108 Interactive mode is only available when built with ncurses support. + 109 Empty record in input 110 Unrecognized characters at end of line 111 Record not recognized as format 4 diff --git a/i18n/tips.en-US b/i18n/tips.en-US index 91bdde192..9ebcedd19 100644 --- a/i18n/tips.en-US +++ b/i18n/tips.en-US @@ -19,11 +19,6 @@ strip the trailing \n characters from the end of the file. If you must edit your pending.data file, make sure that your text editor doesn't convert from a Unix to a DOS file encoding. % -Did you build task from source? If you didn't have ncurses installed at the -time, then you're missing out on text wrapping and task cannot take advantage of -the full terminal width. Consider rebuilding with ncurses installed, or install -from a pre-built package for your OS. -% Do you have the latest version of task installed? Check http://taskwarrior.org periodically for news of updates. That feature you wanted might be ready... % diff --git a/package-config/osx/README b/package-config/osx/README index 50a3986c9..665d65f6c 100644 --- a/package-config/osx/README +++ b/package-config/osx/README @@ -75,11 +75,11 @@ Note: This is being written from the OSX 10.6 perspective, and may therefore Any text editor will do, but look for this line (line 5): - LFLAGS = -L/usr/local/lib -lncurses -llua + LFLAGS = -L/usr/local/lib -llua and change it to: - LFLAGS = -L/usr/local/lib -lncurses + LFLAGS = -L/usr/local/lib Now build the unit tests: @@ -256,7 +256,7 @@ Note: This is being written from the OSX 10.6 perspective, and may therefore $ /usr/local/bin/task version - task 1.9.2 built for darwin-ncurses + task 1.9.2 built for darwin Copyright (C) 2006 - 2010 P. Beckingham, F. Hernandez. Taskwarrior may be copied only under the terms of the GNU General Public diff --git a/src/API.cpp b/src/API.cpp index 639ad5ee3..96335e033 100644 --- a/src/API.cpp +++ b/src/API.cpp @@ -115,13 +115,6 @@ static int api_task_feature (lua_State* L) #endif } - else if (name == "ncurses") - { -#ifdef HAVE_NCURSES - value = true; -#endif - } - else if (name == "lua") value = true; diff --git a/src/Config.cpp b/src/Config.cpp index 81f3efc1b..94e6ae101 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -63,8 +63,8 @@ std::string Config::defaults = "gc=on # Garbage-collect data files - DO NOT CHANGE unless you are sure\n" "\n" "# Terminal\n" - "curses=on # Use ncurses library to determine terminal width\n" - "defaultwidth=80 # Without ncurses, assumed width\n" + "curses=on # Detects terminal width\n" + "defaultwidth=80 # Without detection, assumed width\n" "#editor=vi # Preferred text editor\n" "\n" "# Miscellaneous\n" diff --git a/src/Context.cpp b/src/Context.cpp index 6f7e3f6ce..e22f3d1fe 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -56,6 +56,8 @@ Context::Context () , var_overrides ("") , cmd () , inShadow (false) +, terminal_width (0) +, terminal_height (0) { } diff --git a/src/Context.h b/src/Context.h index e6edee4ba..ae05e0603 100644 --- a/src/Context.h +++ b/src/Context.h @@ -99,6 +99,9 @@ public: std::vector footnotes; std::vector debugMessages; bool inShadow; + + int terminal_width; + int terminal_height; }; #endif diff --git a/src/command.cpp b/src/command.cpp index e1c4d9e09..830f254e8 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -45,10 +45,6 @@ #include "../auto.h" #include "Transport.h" -#ifdef HAVE_LIBNCURSES -#include -#endif - extern Context context; //////////////////////////////////////////////////////////////////////////////// @@ -836,10 +832,6 @@ int handleVersion (std::string& outs) << "unknown" #endif -#ifdef HAVE_LIBNCURSES - << "-ncurses" -#endif - #ifdef HAVE_LIBREADLINE << "-readline" #endif diff --git a/src/custom.cpp b/src/custom.cpp index eb233725a..ff6e93d1f 100644 --- a/src/custom.cpp +++ b/src/custom.cpp @@ -43,10 +43,6 @@ #include "util.h" #include "main.h" -#ifdef HAVE_LIBNCURSES -#include -#endif - extern Context context; static std::vector customReports; diff --git a/src/diag.cpp b/src/diag.cpp index 4279c7fe8..37b8f50fd 100644 --- a/src/diag.cpp +++ b/src/diag.cpp @@ -47,10 +47,6 @@ extern "C" } #endif -#ifdef HAVE_LIBNCURSES -#include -#endif - extern Context context; //////////////////////////////////////////////////////////////////////////////// @@ -118,18 +114,6 @@ void handleDiagnostics (std::string& outs) std::cout << "Libraries\n"; - // NCurses. - std::cout << " NCurses: " -#ifdef HAVE_LIBNCURSES - << NCURSES_VERSION - << " (" - << NCURSES_VERSION_PATCH - << ")" -#else - << "n/a" -#endif - << "\n"; - std::cout << " Readline: " #ifdef HAVE_LIBREADLINE << std::setbase (16) << RL_READLINE_VERSION diff --git a/src/interactive.cpp b/src/interactive.cpp index d2399c324..45e902751 100644 --- a/src/interactive.cpp +++ b/src/interactive.cpp @@ -28,7 +28,8 @@ //#include #include //#include -//#include +#include +#include //#include //#include #include "Context.h" @@ -38,134 +39,41 @@ #include "i18n.h" #include "../auto.h" -#ifdef HAVE_LIBNCURSES -#include -#endif - //////////////////////////////////////////////////////////////////////////////// int Context::interactive () { -#ifdef HAVE_LIBNCURSES - - // TODO init ncurses - // TODO create worker thread - // TODO create refresh thread - - // TODO join refresh thread - // TODO join worker thread - // TODO take down ncurses - -// throw std::string ("unimplemented Context::interactive"); - - // Fake interactive teaser... -#ifdef FEATURE_NCURSES_COLS - initscr (); - int width = COLS; - int height = LINES; -#else - WINDOW* w = initscr (); - int width = w->_maxx + 1; - int height = w->_maxy + 1; -#endif - - (void) nonl (); - (void) cbreak (); - - start_color (); - init_pair (1, COLOR_WHITE, COLOR_BLUE); - init_pair (2, COLOR_WHITE, COLOR_RED); - init_pair (3, COLOR_CYAN, COLOR_BLUE); - - // Process commands. - std::string command = ""; - int c; - while (command != "quit") - { - // Render title. - std::string title = "taskwarrior 3.0.0"; - while ((int) title.length () < width) - title += " "; - - bkgdset (COLOR_PAIR (1)); - mvprintw (0, 0, title.c_str ()); - - bkgdset (COLOR_PAIR (2)); - int line = height / 2; - mvprintw (line, width / 2 - 24, " I n t e r a c t i v e t a s k w a r r i o r "); - mvprintw (line + 1, width / 2 - 24, " Coming in version 3.0.0 "); - - std::string footer = "Press 'q' to quit."; - while ((int) footer.length () < width) - footer = " " + footer; - - bkgdset (COLOR_PAIR (3)); - mvprintw (height - 1, 0, footer.c_str ()); - - move (1, 0); - refresh (); - - if ((c = getch ()) != ERR) - { - // 'Esc' and 'Enter' clear the accumulated commands. - // TODO Looks like \n is not preserved by getch. - if (c == 033 || c == '\n') - { - command = ""; - } - - else if (c == 'q') - { - command = "quit"; - break; - } - } - } - - endwin (); return 0; - -#else - - throw stringtable.get (INTERACTIVE_NO_NCURSES, - "Interactive taskwarrior is only available when built " - "with ncurses support."); - -#endif } //////////////////////////////////////////////////////////////////////////////// int Context::getWidth () { - // Determine window size, and set table accordingly. + // Determine window size. int width = config.getInteger ("defaultwidth"); -#ifdef HAVE_LIBNCURSES - if (config.getBoolean ("curses")) - { -#ifdef FEATURE_NCURSES_COLS - initscr (); - width = COLS; -#else - WINDOW* w = initscr (); - width = w->_maxx + 1; -#endif - endwin (); - - std::stringstream out; - out << "Context::getWidth: ncurses determined width of " << width << " characters"; - debug (out.str ()); - } - else - debug ("Context::getWidth: ncurses available but disabled."); -#else - std::stringstream out; - out << "Context::getWidth: no ncurses, using width of " << width << " characters"; - debug (out.str ()); -#endif - // A zero width value means 'infinity', which is approximated here by 2^16. if (width == 0) - width = 65536; + return 65536; + + if (config.getBoolean ("curses")) + { + if (terminal_width == 0 && + terminal_height == 0) + { + unsigned short buff[4]; + if (ioctl (fileno(stdout), TIOCGWINSZ, &buff) != -1) + { + terminal_height = buff[0]; + terminal_width = buff[1]; + + std::stringstream out; + out << "Context::getWidth: determined width of " << width << " characters"; + debug (out.str ()); + } + } + + width = terminal_width; + } return width; } @@ -173,32 +81,27 @@ int Context::getWidth () //////////////////////////////////////////////////////////////////////////////// int Context::getHeight () { - // Determine window size, and set table accordingly. - int height = 25; // TODO Is there a better number? + int height = 24; -#ifdef HAVE_LIBNCURSES if (config.getBoolean ("curses")) { -#ifdef FEATURE_NCURSES_COLS - initscr (); - height = LINES; -#else - WINDOW* w = initscr (); - height = w->_maxy + 1; -#endif - endwin (); + if (terminal_width == 0 && + terminal_height == 0) + { + unsigned short buff[4]; + if (ioctl (fileno(stdout), TIOCGWINSZ, &buff) != -1) + { + terminal_height = buff[0]; + terminal_width = buff[1]; - std::stringstream out; - out << "Context::getHeight: ncurses determined height of " << height << " characters"; - debug (out.str ()); + std::stringstream out; + out << "Context::getWidth: determined height of " << terminal_height << " characters"; + debug (out.str ()); + } + } + + height = terminal_height; } - else - debug ("Context::getHeight: ncurses available but disabled."); -#else - std::stringstream out; - out << "Context::getHeight: no ncurses, using height of " << height << " characters"; - debug (out.str ()); -#endif return height; } diff --git a/src/recur.cpp b/src/recur.cpp index 40d992d54..2b118a805 100644 --- a/src/recur.cpp +++ b/src/recur.cpp @@ -44,10 +44,6 @@ #include "util.h" #include "main.h" -#ifdef HAVE_LIBNCURSES -#include -#endif - // Global context for use by all. extern Context context; diff --git a/src/report.cpp b/src/report.cpp index 6476a4bcc..1b1a536eb 100644 --- a/src/report.cpp +++ b/src/report.cpp @@ -47,10 +47,6 @@ #include #include -#ifdef HAVE_LIBNCURSES -#include -#endif - static void countTasks (const std::vector &, const std::string&, const std::string&, int&, int&); extern Context context; diff --git a/src/tests/Makefile b/src/tests/Makefile index f0ae9ebcb..4e07b7a54 100644 --- a/src/tests/Makefile +++ b/src/tests/Makefile @@ -3,7 +3,7 @@ PROJECT = t.t tdb.t date.t duration.t t.benchmark.t text.t autocomplete.t \ cmd.t util.t color.t list.t path.t file.t directory.t grid.t rx.t \ taskmod.t sensor.t rectangle.t tree.t tree2.t lisp.t uri.t CFLAGS = -I. -I.. -I../.. -Wall -pedantic -ggdb3 -fno-rtti -LFLAGS = -L/usr/local/lib -lpthread -lncurses -llua +LFLAGS = -L/usr/local/lib -lpthread -llua OBJECTS = ../t-TDB.o ../t-Task.o ../t-text.o ../t-Date.o ../t-Table.o \ ../t-Duration.o ../t-util.o ../t-Config.o ../t-Sequence.o ../t-Att.o \ ../t-Cmd.o ../t-Record.o ../t-StringTable.o ../t-Subst.o \ diff --git a/taskrc b/taskrc deleted file mode 100644 index 198d18694..000000000 --- a/taskrc +++ /dev/null @@ -1,348 +0,0 @@ -# Sample .taskrc file to be auto-generated. - -### header -title -# .taskrc - taskwarrior configuration file - -date/ version of taskwarrior -# Nov 23 - 1.8.4 - -cautions -# back up this file, if making significant changes -# use a text editor, not a word processor -# spaces or special charachters must be escaped "/" or contained in quotes " - -instructions -# name=value -# replace "foo" -# respect processing order (downward) -# comment character -# using folding in vim - -where to look for help -# task version command displays current settings -# taskwarrior.org/rc - -### applications -browser=elinks -editor=vim -emailclient=sup -printer=lpr -terminal=xterm - -### colors.panels -# alternate.colors.panels=bright #over-rides the following -# panel.border.width=0 # pixels -# color.panel.border= -color.panel.appname= -color.panel.clock= -color.panel.completed= -color.panel.date= -color.panel.header= -color.panel.included= -color.panel.keys= -color.panel.listing= -color.panel.notify= -color.panel.pending= -color.panel.prompt= -color.panel.searchstring= -color.panel.showing= - -### colors.16.dark (used for curses interactive) -# alternate.colors.16.dark=bold16 #over-rides the following -color.active= -color.alternate.bg= -color.due= -color.footnote= -color.header= -color.history.add= -color.history.delete= -color.history.done= -# color.keyword.foo= -color.message= -color.overdue= -color.pri.H= -color.pri.L= -color.pri.M= -color.pri.none= -# color.project.foo= -color.recurring= -color.shell.bg= -color.shell.prompt= -# color.tag.foo= -# color.tagged= - -### colors.16.light (used for curses interactive) -# alternate.colors.16.light=bright16 #over-rides the following -color.active= -color.alternate.bg= -color.due= -color.footnote= -color.header= -color.history.add= -color.history.delete= -color.history.done= -# color.keyword.foo= -color.message= -color.overdue= -color.pri.H= -color.pri.L= -color.pri.M= -color.pri.none= -# color.project.foo= -color.recurring= -color.shell.bg= -color.shell.prompt= -# color.tag.foo= -# color.tagged= - -### colors.256.dark (used for cli) -# alternate.colors.256.dark=zen #over-rides the following -color.ui.active= -color.ui.alternate.bg= -color.ui.due= -color.ui.footnote= -color.ui.header= -color.ui.history.add= -color.ui.history.delete= -color.ui.history.done= -# color.ui.keyword.foo= -color.ui.message= -color.ui.overdue= -color.ui.pri.H= -color.ui.pri.L= -color.ui.pri.M= -color.ui.pri.none= -# color.ui.project.foo= -color.ui.recurring= -color.ui.shell.bg= -color.ui.shell.prompt= -# color.ui.tag.foo= -# color.ui.tagged= - -### colors.256.light (used for cli) -# alternate.colors.256.light=zen-lite #over-rides the following -color.ui.active= -color.ui.alternate.bg= -color.ui.due= -color.ui.footnote= -color.ui.header= -color.ui.history.add= -color.ui.history.delete= -color.ui.history.done= -# color.ui.keyword.foo= -color.ui.message= -color.ui.overdue= -color.ui.pri.H= -color.ui.pri.L= -color.ui.pri.M= -color.ui.pri.none= -# color.ui.project.foo= -color.ui.recurring= -color.ui.shell.bg= -color.ui.shell.prompt= -# color.ui.tag.foo= -# color.ui.tagged= - -### command aliases -alias.rm=delete - -### contexts (@ key - interactive) -@home -@phone -@shopping -@work - -### completion -complete.all.projects=no -complete.all.tags=no -# complete.all.desc=no -# complete.desc.file=~/.task/complete.description.txt - -### data locations -.taskrc.global=/etc/ -.taskrc.local=~/ -.taskrc.alternate=~/alternate/ -data.files=~/.task/ -note.files=~/.task/notes/ -plug-ins=~/.task/plug-ins/ -searches=~/.task/search/ -shared.files=~/.task/share/ -themes=~/.task/colors/ - -### dates -dateformat=YYYY/MM/DD -due=7 (how manu days from now = due) -weeknumber=yes -weekstart=mon - -### defaults -bulk=2 (number of tasks processed without confirmation) -# command=interactive (when run with no arguments) -locking=on -priority=M -project= -rating=3 -prompt.default.action=Y # Y,N,A,Q or blank, for none -term.color=dark #dark, light -# use.terminal.title=yes - -### dialogs -confirmation=yes -nag=do more ! -ui.confirm.quit=no - -### display -alternating.bg=yes -blanklines=on -annotations=all # all, flag, newest, none -cal=full #brief -color=on -color.keyword=word #line, word -color.project=word #line, word -color.tag=word #line, word -curses=on -default.width=100 -echo.command=yes -# _forcecolor=on -initial.ui.screen=report.next -monthsperline=2 -notes=flag # all, 1row, flag -pager=on # iftoolong, off -rating=* # character, number - -### exclusions (will be hidden from most reports) -# due:+2m -# proj:movies -# rating:1 -status=waiting -status=completed -# tag.has:personal - -### export - -### fullscreen - f11 (hidden panels) -keys -tips -title -clock -date -stats - -### history - -### import -bg= -description= -due= -end= -entry= -fg= -id= -priority= -project= -recur= -start= -status= -tags= -uuid= - -### next -limit=5 - -### reports (map to f2 - f10) -# Fields: id,uuid,project,priority,entry,start,due,recur,age,active,tags,description -# description_only -# Description: This report is ... -# Sort: due+,priority-,project+ -# Filter: pro:x pri:H +bug -# Limit: 10 - -# long -report.long.description=Lists all task, all data, matching the specified criteria -report.long.columns=id,priority,project,description,tags,entry,start,due,recur,age -report.long.labels=ID,Pri,Project,Description,Tags,Added,Started,Due,Recur,Age -report.long.sort=due+,priority-,project+ -report.long.filter=status:pending - -# list -report.list.description=Lists all tasks matching the specified criteria -report.list.columns=id,priority,description,project,tags,due -report.list.labels=ID,Pir,Description,Project,Tags,Due -report.list.sort=due+,priority-,project+ -report.list.filter=status:pending - -# ls -report.ls.description=Minimal listing of all tasks matching the specified criteria -report.ls.columns=id,project,priority,description -report.ls.labels=ID,Project,Pri,Description -report.ls.sort=priority-,project+ -report.ls.filter=status:pending - -# newest -report.newest.description=Shows the newest tasks -report.newest.columns=id,project,priority,due,active,age,description -report.newest.labels=ID,Project,Pri,Due,Active,Age,Description -report.newest.sort=id- -report.newest.filter=status:pending limit:10 - -# oldest -report.oldest.description=Shows the oldest tasks -report.oldest.columns=id,project,priority,due,active,age,description -report.oldest.labels=ID,Project,Pri,Due,Active,Age,Description -report.oldest.sort=id+ -report.oldest.filter=status:pending limit:10 - -# overdue -report.overdue.description=Lists overdue tasks matching the specified criteria -report.overdue.columns=id,project,priority,due,active,age,description -report.overdue.labels=ID,Project,Pri,Due,Active,Age,Description -report.overdue.sort=due+,priority-,project+ -report.overdue.filter=status:pending due.before:today - -# active -report.active.description=Lists active tasks matching the specified criteria -report.active.columns=id,project,priority,due,active,age,description -report.active.labels=ID,Project,Pri,Due,Active,Age,Description -report.active.sort=due+,priority-,project+ -report.active.filter=status:pending start.any: - -# completed -report.completed.description=Lists completed tasks matching the specified criteria -report.completed.columns=end,project,priority,age,description -report.completed.labels=Complete,Project,Pri,Age,Description -report.completed.sort=end+,priority-,project+ -report.completed.filter=status:completed - -# recurring -report.recurring.description=Lists recurring tasks matching the specified criteria -report.recurring.columns=id,project,priority,due,recur,active,age,description -report.recurring.labels=ID,Project,Pri,Due,Recur,Active,Age,Description -report.recurring.sort=due+,priority-,project+ -report.recurring.filter=status:pending parent.any: - -# pcal -report.pcal.description=Format suitable for pcal -report.pcal.labels=Due,ID,Description -report.pcal.columns=due,id,description_only -report.pcal.sort=due+ -report.pcal.filter=due.any: status:pending - -### review -review.pri.none -review.due.none -review.overdue -review.oldest - -### shadow file -shadow.file= -shadow.command= -shadow.notify= - -### statistics -# stats.exclude=proj.foo - -### verbosity -verbosity=chatty #mute, quiet, chatty, exhaustive -verbosity.tips=~/.task/fortune.txt - diff --git a/with_lua b/with_lua index 88f6806b4..fb157f56e 100755 --- a/with_lua +++ b/with_lua @@ -12,10 +12,6 @@ esac # Command: #./configure -# Cygwin 1.7: -# Command: -#./configure --with-ncurses --with-ncurses-inc=/usr/include/ncurses - # Ubuntu 9.10: # sudo apt-get install lualib5.1-0-dev # The library name is also liblua5.1.a, with no symlink to liblua.a.