diff --git a/ChangeLog b/ChangeLog index 74a3c1fcd..dd719f605 100644 --- a/ChangeLog +++ b/ChangeLog @@ -72,6 +72,9 @@ can now be modified as a group (thanks to Bryce Harrington, Eric Fluger). + Added feature #679, which makes color rules match project names in a left- most fashion, like filters (thanks to ch077179). + + Added feature #682, which allows the configuration variable 'defaultheight' + to override the assumed height of 24 lines when 'detection' is not enabled + (thanks to Steve Rader). + Added feature #700, which adds tab-completion of built-in tags. + Added feature #710, which adds an attribute modifier prefix to return the complement of a filtered set (thanks to Dan White). diff --git a/NEWS b/NEWS index b297d0e63..bc1ff006f 100644 --- a/NEWS +++ b/NEWS @@ -63,6 +63,8 @@ New configuration options in taskwarrior 2.0.0 command or value may be. - New 'hyphenate' setting controls whether long lines are hyphenated when broken during text-wrapping. + - New 'defaultheight' setting overrides the assumed 24 lines when 'detection' + is disabled. This setting only affects charts. Newly deprecated features in taskwarrior 2.0.0 diff --git a/doc/man/taskrc.5.in b/doc/man/taskrc.5.in index 3a4f27b27..d3c85811e 100644 --- a/doc/man/taskrc.5.in +++ b/doc/man/taskrc.5.in @@ -169,7 +169,13 @@ using, for text wrapping. The width of output used when auto-detection support is not available. Defaults to 80. If set to 0, is interpreted as infinite width, therefore with no word-wrapping; useful when redirecting report output to a file for subsequent -manipulation. +handling. + +.TP +.B defaultheight=24 +The height of output used when auto-detection support is not available. Defaults +to 24. If set to 0, is interpreted as infinite height. Useful when redirecting +charts to a file for subsequent handling. .TP .B avoidlastcolumn=no diff --git a/src/Config.cpp b/src/Config.cpp index 9f53f0cda..50b97814f 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -71,6 +71,7 @@ std::string Config::defaults = "# Terminal\n" "detection=on # Detects terminal width\n" "defaultwidth=80 # Without detection, assumed width\n" + "defaultheight=24 # Without detection, assumed height\n" "avoidlastcolumn=no # Fixes Cygwin width problem\n" "hyphenate=on # Hyphenates lines wrapped on non-word-breaks\n" "#editor=vi # Preferred text editor\n" diff --git a/src/commands/CmdShow.cpp b/src/commands/CmdShow.cpp index 301182c2e..9a9b80611 100644 --- a/src/commands/CmdShow.cpp +++ b/src/commands/CmdShow.cpp @@ -134,6 +134,7 @@ int CmdShow::execute (std::string& output) " default.due" " default.priority" " default.project" + " defaultheight" " defaultwidth" " dependency.confirmation" " dependency.indicator" diff --git a/src/interactive.cpp b/src/interactive.cpp index e6ce1ab00..0a61f5c3e 100644 --- a/src/interactive.cpp +++ b/src/interactive.cpp @@ -80,7 +80,12 @@ int Context::getWidth () //////////////////////////////////////////////////////////////////////////////// int Context::getHeight () { - int height = 24; + // Determine window size. + int height = config.getInteger ("defaultheight"); + + // A zero height value means 'infinity', which is approximated here by 2^16. + if (height == 0) + return 65536; if (config.getBoolean ("detection")) {