Eliminated ncurses

- Removed autoconf ncurses detection.
- Modified man pages.
- Inserted vitapi replacement code.
- Cached terminal size values for reuse.
- Modified packaging info for OSX.
- Removed -lncurses from unit test makefile.
- Removed obsolete taskrc example.
- Modified (simplified) source build instructions.
This commit is contained in:
Paul Beckingham 2010-12-14 14:40:03 -05:00
parent 551c4b99c4
commit c73f131f32
22 changed files with 60 additions and 654 deletions

View file

@ -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

1
NEWS
View file

@ -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.

View file

@ -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.
---

View file

@ -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])],

View file

@ -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?

View file

@ -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:<wait-date>

View file

@ -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

View file

@ -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...
%

View file

@ -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

View file

@ -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;

View file

@ -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"

View file

@ -56,6 +56,8 @@ Context::Context ()
, var_overrides ("")
, cmd ()
, inShadow (false)
, terminal_width (0)
, terminal_height (0)
{
}

View file

@ -99,6 +99,9 @@ public:
std::vector <std::string> footnotes;
std::vector <std::string> debugMessages;
bool inShadow;
int terminal_width;
int terminal_height;
};
#endif

View file

@ -45,10 +45,6 @@
#include "../auto.h"
#include "Transport.h"
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#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

View file

@ -43,10 +43,6 @@
#include "util.h"
#include "main.h"
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#endif
extern Context context;
static std::vector <std::string> customReports;

View file

@ -47,10 +47,6 @@ extern "C"
}
#endif
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#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

View file

@ -28,7 +28,8 @@
//#include <iostream>
#include <sstream>
//#include <pwd.h>
//#include <stdio.h>
#include <stdio.h>
#include <sys/ioctl.h>
//#include <stdlib.h>
//#include <string.h>
#include "Context.h"
@ -38,134 +39,41 @@
#include "i18n.h"
#include "../auto.h"
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#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;
}

View file

@ -44,10 +44,6 @@
#include "util.h"
#include "main.h"
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#endif
// Global context for use by all.
extern Context context;

View file

@ -47,10 +47,6 @@
#include <util.h>
#include <main.h>
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#endif
static void countTasks (const std::vector <Task>&, const std::string&, const std::string&, int&, int&);
extern Context context;

View file

@ -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 \

348
taskrc
View file

@ -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

View file

@ -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.