You are not logged in.

#1 2012-08-19 16:12:35

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

tasknc - a C ncurses task manager (wrapper for task warrior)

Hi all!

After about 6 months of development, I am proud to announce a release of tasknc, a C ncurses wrapper for task warrior!  I am to make tasknc like the mutt of task managers.

tasknc is available on github.

Features:

  • Customizable formats

  • Customizable key bindings

  • Customizable colors

  • Rules for coloring tasks

  • Bindings to run arbitrary commands in the shell or background on the selected task

  • Built-in task viewer

Screenshot:
FluxBB bbcode test

I would appreciate feedback in the form of bug reports, feature requests, general comments, etc.  Please submit bug reports to me on github.

Thanks,
mjheagle


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#2 2012-08-19 19:46:58

oyvindrobertsen
Member
Registered: 2012-08-19
Posts: 4

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Nice work! Been looking for a minimal task manager setup for a while!

One question as well; is there any way of changing the default task editor?

Offline

#3 2012-08-19 20:21:03

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

oyvindrobertsen wrote:

Nice work! Been looking for a minimal task manager setup for a while!

One question as well; is there any way of changing the default task editor?

Thanks! I'm glad you like it.

The task editor runs

task edit

so you will need to set your editor of choice in your ~/.taskrc.


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#4 2012-08-19 20:39:46

oyvindrobertsen
Member
Registered: 2012-08-19
Posts: 4

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Awesome!
Also, in regards to bugs, if I delete all created tasks from within tasknc, then try to add another, tasknc quits, while still writing a new empty task to .task/pending.data. Only happens if all tasks are deleted first though.

Offline

#5 2012-08-19 20:41:17

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

oyvindrobertsen wrote:

Awesome!
Also, in regards to bugs, if I delete all created tasks from within tasknc, then try to add another, tasknc quits, while still writing a new empty task to .task/pending.data. Only happens if all tasks are deleted first though.

aah yes, it makes sense to me why that is happening.  i will look into that asap.
thanks!


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#6 2012-08-21 20:44:48

Liuuutas
Member
From: Cambridge
Registered: 2009-05-02
Posts: 71

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

I have some trouble to run it. I am using testing repos and the error output is this:

*** glibc detected *** tasknc: double free or corruption (out): 0x0000000001d02710 ***
                                                                                      ======= Backtrace: =========
                                                                                                                  /lib/libc.so.6(+0x784b6)[0x7fa3735454b6]
             tasknc[0x403a5c]
                             tasknc[0x403ff7]
                                             tasknc[0x402ce5]
                                                             tasknc[0x40515e]
                                                                             /lib/libc.so.6(__libc_start_main+0xf5)[0x7fa3734ee725]
                                                                                                                                   tasknc[0x401659]
      ======= Memory map: ========
                                  00400000-00407000 r-xp 00000000 fe:00 166819                             /usr/bin/tasknc
                                                                                                                          00606000-00607000 rw-p 00006000 fe:00 166819                             /usr/bin/tasknc
                                                                     01c8f000-01d13000 rw-p 00000000 00:00 0                                  [heap]
       7fa3732b8000-7fa3732cd000 r-xp 00000000 fe:00 133144                     /usr/lib/libgcc_s.so.1
                                                                                                      7fa3732cd000-7fa3734cc000 ---p 00015000 fe:00 133144                     /usr/lib/libgcc_s.so.1
                                                        7fa3734cc000-7fa3734cd000 rw-p 00014000 fe:00 133144                     /usr/lib/libgcc_s.so.1
          7fa3734cd000-7fa373668000 r-xp 00000000 fe:00 131642                     /usr/lib/libc-2.16.so
                                                                                                        7fa373668000-7fa373867000 ---p 0019b000 fe:00 131642                     /usr/lib/libc-2.16.so
                                                         7fa373867000-7fa37386b000 r--p 0019a000 fe:00 131642                     /usr/lib/libc-2.16.so
          7fa37386b000-7fa37386d000 rw-p 0019e000 fe:00 131642                     /usr/lib/libc-2.16.so
                                                                                                        7fa37386d000-7fa373871000 rw-p 00000000 00:00 0 
           7fa373871000-7fa3738c9000 r-xp 00000000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
                                                                                                               7fa3738c9000-7fa373ac8000 ---p 00058000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
                                                                      7fa373ac8000-7fa373acc000 r--p 00057000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
                             7fa373acc000-7fa373acd000 rw-p 0005b000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
                                                                                                                                 7fa373acd000-7fa373ace000 rw-p 00000000 00:00 0 
                                    7fa373ace000-7fa373aef000 r-xp 00000000 fe:00 164104                     /usr/lib/ld-2.16.so
                                                                                                                                7fa373cc9000-7fa373cee000 rw-p 00000000 00:00 0 
                                   7fa373cee000-7fa373cef000 rw-p 00000000 00:00 0 
                                                                                   7fa373cef000-7fa373cf0000 r--p 00021000 fe:00 164104                     /usr/lib/ld-2.16.so
                                  7fa373cf0000-7fa373cf1000 rw-p 00022000 fe:00 164104                     /usr/lib/ld-2.16.so
                                                                                                                              7fa373cf1000-7fa373cf2000 rw-p 00000000 00:00 0 
                                 7fff26233000-7fff26254000 rw-p 00000000 00:00 0                          [stack]
                                                                                                                 7fff26390000-7fff26391000 r-xp 00000000 00:00 0                          [vdso]
                                                   ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
                                                                                                                                      zsh: abort      tasknc

It gobbles to terminal output and doesn't do anything else...

Offline

#7 2012-08-21 20:52:58

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Liuuutas wrote:

I have some trouble to run it. I am using testing repos and the error output is this:

snip

It gobbles to terminal output and doesn't do anything else...

hi,
could you run in gdb and attach a backtrace please?
thanks,
mjheagle

Last edited by mjheagle8 (2012-08-21 22:55:16)


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#8 2012-08-21 21:12:19

Liuuutas
Member
From: Cambridge
Registered: 2009-05-02
Posts: 71

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Is this enough?

Run output:

              7ffff7bd6000-7ffff7dd5000 ---p 00058000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
Kill the program being debugged? (y or n) y                                                                                 7ffff7dd5000-7ffff7dd9000 r--p 00057000 fe:00 134595                     /usr/lib/libncursesw.so.5.9
Starting program: /usr/bin/tasknc                                                  7ffff7dd9000-7ffff7dda000 rw-p 0005b000 fe:00 134595                     /usr/lib/libncursesw.so.5.9bols for linux-vdso.so.1.
Do you need "set solib-search-path" or "se7ffff7dda000-7ffff7ddb000 rw-p 00000000 00:00 0 
Configuration override rc._forcecolor:no                                                  7ffff7ddb000-7ffff7dfc000 r-xp 00000000 fe:00 164104                     /usr/lib/ld-2.16.so
config file could not be opened          7ffff7fd5000-7ffff7ffa000 rw-p 00000000 00:00 0 
starting ncurses...                                                                      7ffff7ffa000-7ffff7ffb000 rw-p 00000000 00:00 0 
                                                                                                                                         7ffff7ffb000-7ffff7ffc000 r-xp 00000000 00:00 0                          [vdso]
                                                                           7ffff7ffc000-7ffff7ffd000 r--p 00021000 fe:00 164104                     /usr/lib/ld-2.16.so
                          7ffff7ffd000-7ffff7ffe000 rw-p 00022000 fe:00 164104                     /usr/lib/ld-2.16.so
                                                                                                                      7ffff7ffe000-7ffff7fff000 rw-p 00000000 00:00 0 
                         7ffffffde000-7ffffffff000 rw-p 00000000 00:00 0                          [stack]
                                                                                                         ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
                                               
Program received signal SIGABRT, Aborted.
0x00007ffff780efa5 in raise () from /lib/libc.so.6

Backtrace:

#0  0x00007ffff780efa5 in raise () from /lib/libc.so.6
#1  0x00007ffff7810428 in abort () from /lib/libc.so.6
#2  0x00007ffff784c90b in __libc_message () from /lib/libc.so.6
#3  0x00007ffff78524b6 in malloc_printerr () from /lib/libc.so.6
#4  0x0000000000403a5c in ?? ()
#5  0x0000000000403ff7 in ?? ()
#6  0x0000000000402ce5 in ?? ()
#7  0x000000000040515e in ?? ()
#8  0x00007ffff77fb725 in __libc_start_main () from /lib/libc.so.6
#9  0x0000000000401659 in ?? ()

Offline

#9 2012-08-21 22:54:51

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Liuuutas wrote:

Is this enough?

Run output:

snip

Backtrace:

#0  0x00007ffff780efa5 in raise () from /lib/libc.so.6
#1  0x00007ffff7810428 in abort () from /lib/libc.so.6
#2  0x00007ffff784c90b in __libc_message () from /lib/libc.so.6
#3  0x00007ffff78524b6 in malloc_printerr () from /lib/libc.so.6
#4  0x0000000000403a5c in ?? ()
#5  0x0000000000403ff7 in ?? ()
#6  0x0000000000402ce5 in ?? ()
#7  0x000000000040515e in ?? ()
#8  0x00007ffff77fb725 in __libc_start_main () from /lib/libc.so.6
#9  0x0000000000401659 in ?? ()

unfortunately I cannot see anything from that backtrace that will help. 
could you run the following from the git directory:

cd test
./valgrind_test.sh

and send me the file that is generated (valgrind_errors)?

this will show me what memory issues tasknc is encountering.

thanks,
mjheagle


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#10 2012-08-22 13:50:58

Liuuutas
Member
From: Cambridge
Registered: 2009-05-02
Posts: 71

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Sorry, but after suspend-resume cycle the problems disappeared, so maybe these where my local problems... If I encounter them again, I'll use valgrind and report the problems here. Thanks for such a great program smile

Offline

#11 2012-08-23 19:48:47

oyvindrobertsen
Member
Registered: 2012-08-19
Posts: 4

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

Thanks for the new build, mjheagle8!

There's some issue with deleting tasks though. Navigating to a task, then pressing d removes the task from the tasknc list, but after reloading the task list, the deleted task(s) reappear. They're never deleted from pending.data.

Offline

#12 2012-08-24 02:43:34

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

oyvindrobertsen wrote:

Thanks for the new build, mjheagle8!

There's some issue with deleting tasks though. Navigating to a task, then pressing d removes the task from the tasknc list, but after reloading the task list, the deleted task(s) reappear. They're never deleted from pending.data.

hmm, sounds like the delete command is not executing successfully. do you get a segmentation fault after deletes? 
i just pushed a couple of commits, could you please pull the newest commits and send me the logfile (/tmp/.tasknc_runlog) after running

tasknc -l8

thanks for testing tasknc!

-mjheagle


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#13 2012-08-24 12:59:11

oyvindrobertsen
Member
Registered: 2012-08-19
Posts: 4

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

23 [2012-08-24 14:41:06] DEBUG: running gui
 24 [2012-08-24 14:41:06] DEBUG: assigned color pair 1 to (4, 0) 
 25 [2012-08-24 14:41:06] DEBUG: assigned color pair 2 to (-1, -1) 
 26 [2012-08-24 14:41:06] DEBUG: assigned color pair 3 to (6, 0) 
 27 [2012-08-24 14:41:06] DEBUG: assigned color pair 4 to (1, -1) 
 28 [2012-08-24 14:41:06] DEBUG: configuring... 
 29 [2012-08-24 14:41:06] DEBUG: task version: 2.1.1 
 30 [2012-08-24 14:41:06] DEBUG: bind #0: key <ERR> (-1) bound to @(nil) tasklist - (null)(args: 0/(null)) 
 31 [2012-08-24 14:41:06] DEBUG: bind #1: key <ERR> (-1) bound to @(nil) pager - (null)(args: 0/(null)) 
 32 [2012-08-24 14:41:06] DEBUG: bind #2: key <resize> (410) bound to @0x405820  (null)(args: 0/(null)) 
 33 [2012-08-24 14:41:06] DEBUG: bind #3: key 'k' (107) bound to @0x4037d0 tasklist - scroll_up(args: 0/(null)) 
 34 [2012-08-24 14:41:06] DEBUG: bind #4: key 'k' (107) bound to @0x406d80 pager - scroll_up(args: 0/(null)) 
 35 [2012-08-24 14:41:06] DEBUG: bind #5: key <up> (259) bound to @0x4037d0 tasklist - scroll_up(args: 0/(null)) 
 36 [2012-08-24 14:41:06] DEBUG: bind #6: key <up> (259) bound to @0x406d80 pager - scroll_up(args: 0/(null)) 
 37 [2012-08-24 14:41:06] DEBUG: bind #7: key 'j' (106) bound to @0x403800 tasklist - scroll_down(args: 0/(null)) 
 38 [2012-08-24 14:41:06] DEBUG: bind #8: key 'j' (106) bound to @0x406d10 pager - scroll_down(args: 0/(null)) 
 39 [2012-08-24 14:41:06] DEBUG: bind #9: key <down> (258) bound to @0x403800 tasklist - scroll_down(args: 0/(null)    ) 
 40 [2012-08-24 14:41:06] DEBUG: bind #10: key <down> (258) bound to @0x406d10 pager - scroll_down(args: 0/(null)) 
 41 [2012-08-24 14:41:06] DEBUG: bind #11: key 'g' (103) bound to @0x4037e0 tasklist - scroll_home(args: 0/(null)) 
 42 [2012-08-24 14:41:06] DEBUG: bind #12: key <home> (262) bound to @0x4037e0 tasklist - scroll_home(args: 0/(null    )) 
 43 [2012-08-24 14:41:06] DEBUG: bind #13: key 'g' (103) bound to @0x406d70 pager - scroll_home(args: 0/(null)) 
 44 [2012-08-24 14:41:06] DEBUG: bind #14: key <home> (262) bound to @0x406d70 pager - scroll_home(args: 0/(null)) 
 45 [2012-08-24 14:41:06] DEBUG: bind #15: key 'G' (71) bound to @0x406d50 pager - scroll_end(args: 0/(null)) 
 46 [2012-08-24 14:41:06] DEBUG: bind #16: key <end> (360) bound to @0x406d50 pager - scroll_end(args: 0/(null)) 
 47 [2012-08-24 14:41:06] DEBUG: bind #17: key 'G' (71) bound to @0x4037f0 tasklist - scroll_end(args: 0/(null)
43c0-9fef-a0ed2db58de4","urgency":"0.0219178"},
 76 [2012-08-24 14:41:06] DEBUG: field: description content: read through coop comp by tuesday
 77 [2012-08-24 14:41:06] DEBUG: field: entry       content: 20120819T223027Z
78 [2012-08-24 14:41:06] DEBUG: field: status      content: pending
 79 [2012-08-24 14:41:06] DEBUG: field: uuid        content: 128442bd-39e2-43c0-9fef-a0ed2db58de4
 80 [2012-08-24 14:41:06] DEBUG: field: urgency     content: 0.0219178
 81 [2012-08-24 14:41:06] DEBUG: uuid:        128442bd-39e2-43c0-9fef-a0ed2db58de4
 82 [2012-08-24 14:41:06] DEBUG: description: read through coop comp by tuesday
 83 [2012-08-24 14:41:06] DEBUG: project:     (null)
 84 [2012-08-24 14:41:06] DEBUG: tags:        (null)
 85 [2012-08-24 14:41:06] DEBUG: {"id":2,"description":"Hospital appointment at 13:00","entry":"20120819T224053Z","    status":"pending","uuid":"d5dfd34d-992a-4e21-ab4b-e6e1abfbaf43","urgency":"0.0219178"}
 86 [2012-08-24 14:41:06] DEBUG: field: description content: Hospital appointment at 13:00
 87 [2012-08-24 14:41:06] DEBUG: field: entry       content: 20120819T224053Z
 88 [2012-08-24 14:41:06] DEBUG: field: status      content: pending
 89 [2012-08-24 14:41:06] DEBUG: field: uuid        content: d5dfd34d-992a-4e21-ab4b-e6e1abfbaf43
 90 [2012-08-24 14:41:06] DEBUG: field: urgency     content: 0.0219178
 91 [2012-08-24 14:41:06] DEBUG: uuid:        d5dfd34d-992a-4e21-ab4b-e6e1abfbaf43
 92 [2012-08-24 14:41:06] DEBUG: description: Hospital appointment at 13:00
 93 [2012-08-24 14:41:06] DEBUG: project:     (null)
 94 [2012-08-24 14:41:06] DEBUG: tags:        (null)
 95 [2012-08-24 14:41:06] DEBUG: 0 tasks loaded
 96 [2012-08-24 14:41:06] DEBUG: rows: 24, columns: 80
 97 [2012-08-24 14:41:09] DEBUG: calling function @0x403800 tasklist - scroll_down((null))
 98 [2012-08-24 14:41:09] DEBUG: selline:1 offset:0 tasks:2
 99 [2012-08-24 14:41:10] DEBUG: calling function @0x403c50 any - delete((null))
100 [2012-08-24 14:41:10] DEBUG: running command: task 128442bd-39e2-43c0-9fef-a0ed2db58de4 delete 2>&1
101 [2012-08-24 14:41:29] DEBUG: received SIGINT, exiting

I looked through the earlier parts of the logfile, and there were indeed some segfaults pre the last commits.

Offline

#14 2012-08-25 04:36:54

mjheagle8
Member
From: /home/mjheagle8
Registered: 2009-07-12
Posts: 186

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

oyvindrobertsen wrote:
snip

I looked through the earlier parts of the logfile, and there were indeed some segfaults pre the last commits.

i am looking into this.  could you please email me your ~/.taskrc and (if you have modified it) your tasknc config?

thanks,
mjheagle


Desktop/Laptop - DWM :: VM - screen
Registered Linux User Number 483137 :: Victory! :: GitHub

Offline

#15 2015-09-29 00:19:11

lharding
Member
From: Portland, OR
Registered: 2013-01-17
Posts: 22
Website

Re: tasknc - a C ncurses task manager (wrapper for task warrior)

The folks over at taskwarrior.org seem to have decided I'm now the maintainer of Tasknc. I don't have a problem with this, but I'm posting here because 1. mjheagle8 might, and 2. even if they don't, it's probably worth mentioning that this project isn't dead. More details here:

https://github.com/mjheagle8/tasknc/issues/37

Offline

Board footer

Powered by FluxBB