RL_Dane,
@RL_Dane@fosstodon.org avatar

vs. (Todo.TXT)

Sound off!

I've been using my own system which is mainly just $EDITOR and a script that takes out completed tasks every day by grepping out lines that begin with "X "
The problem is that it would be nice to just see a couple most important tasks at a time, instead of having a blood-chilling text file FULL of todo items in your face all day 😅

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Last december, I wrote a bunch of additional scripts around todo.txt to show tasks in fzf or rofi (amongst other things), it might come in handy in you want to filter and sort the tasks: https://proycon.anaproy.nl/posts/todo/

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

NICE!! Thanks! :D

RL_Dane, (edited )
@RL_Dane@fosstodon.org avatar

@proycon

Maarten,

Loving the timetracker module. I was using it and was confused why I didn't see any mention of it in the todo.sh source, lol. Then I tracked it to my ~/.config/todo/actions/ directory and remembered our conversation. XD

Looking forward to exploring more of your excellent todo.sh plugins! :D

Edit: OCD fixing the directory name because OCD ;)

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Thanks! I'm glad you find it useful :) I've been actively using the timetracker ever since I wrote it to report all my work hours for my employer, and it works quite well.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

I actually like the fact that you can only track one thing at a time.

It's also crazy convenient:
F12 (open Yakuake), 'tt start "foo"', F12

(I wrote a bash function that calls "todo.sh timetracker $@" if parameters are supplied, and "todo.sh timetracker log" if not)

I also aliased todo.sh to supply the correct parameters for it to look in .config/todo instead of .todo
Is that what you ended up doing?

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Yes, human multitasking is an illusion anyways, best track one thing at a time. You can still track a task that references multiple projects or contexts anyway. I use the timetracker mostly via the todo.txt-more rofi menu (set to a keybinding in my wm), and then I select one of the todo items to work on. My status bar (waybar) shows which tasks I'm (supposed to be) doing and for how long I've been at it.

I'm using ~/.todo .

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Oh, that's neat. I might try something like that on my i3wm machine.
On my KDE work machine, I use the yakuake pop-down terminal. My .bashrc2 runs todo.sh |head -3 so I can always be aware of the high-priority stuff, and I have this alias:

tstat is aliased to `clear; t; echo; tt; echo #'

(t and tt are functions which run todo.sh and 'todo.sh timetrack' with some extra sugar so that I can run them with no parameters to get 'todo.sh ls' and 'todo.sh timetrack log' ;)

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Just FYI, you need a set of quotes around the first `$1' on line 262 of the timetrack script

Looks like this now:
if [ $1 = "--all" ] || [ "$1" = "-a" ]; then
should be:
if [ "$1" = "--all" ] || [ "$1" = "-a" ]; then

Thanks!

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Oops, indeed! Fixed now!

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Cool! You might check your other scripts (which I haven't really tried yet):

actions $ grep -F ' $1 ' *
format:case $1 in
grep: helpers: Is a directory
mblaze:case $1 in
more:case $1 in
more:case $1 in
notmuch:case $1 in

If you change others, please let me know so I can do a git pull ;)

Cheers! ^__^

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane fixed!

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Did the git pull dance. Thanks for the update! XD

Just FYI, you can do if [[ $1 == ... ]] instead of if [ "$1" -eq ... ] and such if POSIX-compatibility isn't a goal for you.

The double brackets in bash fixes a lot of issues with standard POSIX test/[

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane I usually try to be as POSIX compliant as possible. Ideally I'd have written everything in POSIX shell but there were some reasons (which I forgot) to depend on actual bash instead.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

I could probably live without [[ ]], but living without $( ) would send me to the funny farm XD

I'm not going back to only having . :P

Bash's POSIX mode is actually way too generous. dash is the most posix-strict shel commonly available in linux. Aaaand I can't find my way out of a wet paper bag in dash XD

It doesn't even have let x=$x+1 !!

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane $( ) works fine in POSIX too, at least as of POSIX.1-2017. See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html.

I often use busybox's implementation in Alpine Linux.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon
Ah, right you are! I hadn't tested that in a while, I guess.
It also seems to have $(( )) arithmetic expansion. I could have sworn that it didn't.

Thanks for the link! :)

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Hey Maarten,

Once again, loving your todo.txt scripts.

If I could put in a feature request:
A "todo.sh timetracker edit" feature would be grand. I find myself using "todo.sh edit" a lot.
I guess I could add my own in my little tt front-end function, but I thought I'd suggest it to you first ;)

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Agreed, I actually need such a function myself as well. I just implemented it.

(Also feel free to to git send-email me any patches you might like to see included).

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

I've been taking the lazy way out and building bash functions to add features as a kind of front end. 🙊😁

I'll try to give your scripts a proper read-through as well 👍🏼

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Hey Maarten,

Still loving your scripts, btw. I use timetrack every day.

I've been noticing some bottlenecks. Do you have any suggestions? (This is a very fast machine)

$ todo.sh -a -t -d ~/.config/todo/config ls
real 0.06
$ (…) lsprj
real 0.02
$ (…) lsc
real 0.03
$ (…) timetrack log
real 2.09
$ (…) timetrack summary
real 2.29
~ $ wc -l .config/todo/timetrack.txt
167 .config/todo/timetrack.txt

(timetrack start and stop are still instantaneous. daysummary also takes 2s to run)

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Are you on the latest git version still? I did implement some performance improvements to timetrack log a a few weeks back, it was indeed implemented rather inefficiently.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Strange, 'git status' said it was up to date, but 'git pull' pulled a new version of timetrack and timetrack_log.py

I'll copy them over and give them a try, thanks! :)

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

Hi Maarten, sorry I haven't had time to look through your code yet. I just wanted to share some of the things I've implemented through a front-end bash function to see if any are interesting to you:

grep | search | find)
grep -i "$2" ~/.config/todo/timetrack.txt;;
list | more | less)
less -iX (…)timetrack.txt;;
tail)
tail (…)timetrack.txt;;
listpr* | lsprj)
grep -o "+[^ ]*" (…)timetrack.txt | sort -u;;

...

proycon,
@proycon@social.anaproy.nl avatar

@RL_Dane Looks like good additions yeah, I'm open to patches!

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

No promises on when I'll have time to dig into the actual code, but it's on my radar! 😅

RL_Dane,
@RL_Dane@fosstodon.org avatar

@proycon

...

listcon* | lsc*)
grep -o "@[^ ]*" (…)timetrack.txt | sort -u;;

(I use functions for both todo.sh itself and 'todo.sh timetrack' to add convenient commands. I use `todo grep ...' a lot. :)

stepheng,
@stepheng@mastodon.online avatar

@RL_Dane I love the forced organization of when you use a GTD approach

I recommend keeping it simple (don't use projects and contexts right away) and really get into the process of setting wait: and depends: on tasks until the only tasks that show up when you run 'task' are things you can work on right away

(When I see something new or non-actionable on the list, I break it down into actions by annotating and creating new pre-tasks and sub-tasks by using the depends: feature)

birnim,

@RL_Dane oh please, pipe it through head -n X

jbowen,
@jbowen@mast.hpc.social avatar

@RL_Dane I've found that with TaskWarrior I spend all my time trying to land on an optimal configuration.

At this point I just have a text file and a todo shell alias that opens it in vim.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@jbowen

That's where I'm at, but I'm getting to the point where I'd like to easily filter the tasks I see to make it a little less stressful ;)

I think I'm leaning towards Todo.TXT, because the format and syntax are pretty simple, and there's an android app for it.

mmeier,
@mmeier@social.mei-home.net avatar

@RL_Dane One vote for Taskwarrior. But I must admit that I have no experience with Todo.TXT.

TW has the default report, which shows you a screen full of your most urgent tasks. Urgency is highly configurable. E.g. different tags can have different urg. It also has due date handling - the closer to the date, the higher the task's urg.
It can even accumulate urgency along a task dep dependency chain.
Plus: It has it's own sync server to work on several machines.

Downside: No good mobile app.

mmeier,
@mmeier@social.mei-home.net avatar

@RL_Dane It has been controlling my whole life (private and work) for almost ten years now.

Don't get dissuaded by the slow dev pace either. At least from my PoV, it's pretty much feature-complete.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@mmeier

Oh, I'm under no illusion that a project that hasn't been updated in a few years is useless. I honestly think the current pace of development is kinda reckless and untenable. (I'm not a dev, tho).

The thing I like about Todo.txt is how drop-dead simple it is. It's something between my current worklog script and timewarrior.

But I do like the fact that TimeWarrior still uses mostly plain text.

Is there any way to move ~/.task and ~/.taskrc to ~/.config/task/?

jbowen,
@jbowen@mast.hpc.social avatar

@RL_Dane @mmeier

You can set TASKRC and TASKDATA to give it an alternate location.

mmeier,
@mmeier@social.mei-home.net avatar

@jbowen @RL_Dane I don't think you need to anymore. One of the more recent releases introduced XDG directory support: https://github.com/GothenburgBitFactory/taskwarrior/releases/tag/v2.6.0

> support for XDG Base Directory Specification

RL_Dane,
@RL_Dane@fosstodon.org avatar

@mmeier @jbowen

By default, it's still placing things in ~/.task/

jbowen,
@jbowen@mast.hpc.social avatar

@RL_Dane @mmeier There's a config file option to change that. I'm standing in line somewhere otherwise I'd tell you what it was.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@jbowen @mmeier

;)

That's ok, I think I'm leaning towards todo.txt for now.
If I find it limiting, I'll switch to taskwarrior

Thanks all :D 👍🏼

jbowen,
@jbowen@mast.hpc.social avatar

@RL_Dane @mmeier It's data.location = /path/to/data in .taskrc

mmeier,
@mmeier@social.mei-home.net avatar

@RL_Dane Yeah, TW needs a bit more time to get used to it, but then it's really nice.

And it's TaskWarrior - TimeWarrior is their time logging tool. 🙂

RL_Dane,
@RL_Dane@fosstodon.org avatar

@mmeier

Oops, I always get those two mixed up XD

benjaminhollon,
@benjaminhollon@fosstodon.org avatar

@RL_Dane
I use todoman. ;)

benjaminhollon,
@benjaminhollon@fosstodon.org avatar

@RL_Dane
That said I do use timewarrior, which is developed by the same people. I use todoman because it can support a vdirsyncer backend, meaning that I can sync it with my radicale instance to other devices.

RL_Dane,
@RL_Dane@fosstodon.org avatar

@benjaminhollon

Wow, that's super complex. So your commandline task list syncs with your phone via some version of WebDAV?
I'd probably just use syncthing, like everything else.

benjaminhollon,
@benjaminhollon@fosstodon.org avatar

@RL_Dane
Yep.

And syncthing doesn't work on iOS.

It's not as complex as it seems. todoman just saves its tasks in the CalDAV format. vdirsyncer is a CLI to sync WebDAV like CalDAV and CardDAV.

Since the task list is connected to my calendar, the same "vdirsyncer sync" command will take care of both.

pixelherodev,

@benjaminhollon @RL_Dane hey, I do the same thing!

...well I did. Now I mainly just use pen and ePaper, because I find it more helpful /shrug

RL_Dane,
@RL_Dane@fosstodon.org avatar

@pixelherodev

Just curious, which ePaper notebook do you use?

@benjaminhollon

benjaminhollon,
@benjaminhollon@fosstodon.org avatar

@RL_Dane @pixelherodev
Consider me also curious!

pixelherodev,

@benjaminhollon @RL_Dane Boox nova 3 color.

I don't exactly recommend it. It runs a proprietary Android fork.

But it works, and that's thee most important concern for me /shrug

RL_Dane,
@RL_Dane@fosstodon.org avatar

@pixelherodev

I've been curious about the Boox line.

I've got a ReMarkable 2, but the lack of backlight kinda stinks, and the company is copping a ReMarkably Apple-like attitude, which I'm not cool with.

It is a custom Linux OS that allows sideloading, though.

@benjaminhollon

benjaminhollon,
@benjaminhollon@fosstodon.org avatar

@RL_Dane @pixelherodev Someone in my band uses a Remarkable for sheet music, which is a pretty great application.

pixelherodev,

@benjaminhollon @RL_Dane I have sheet music on the nova :)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • tacticalgear
  • DreamBathrooms
  • ethstaker
  • InstantRegret
  • Youngstown
  • magazineikmin
  • osvaldo12
  • slotface
  • khanakhh
  • rosin
  • kavyap
  • everett
  • thenastyranch
  • ngwrru68w68
  • megavids
  • GTA5RPClips
  • cisconetworking
  • mdbf
  • cubers
  • Durango
  • anitta
  • modclub
  • normalnudes
  • tester
  • Leos
  • provamag3
  • JUstTest
  • lostlight
  • All magazines