Closed jaredwolff closed 9 months ago
Or, even better yet, simply autocomplete in the Task Name box.
Hey, Jared. Thanks for the suggestion! I agree, this would be great to have. It's actually already implemented on the Windows version, but it would be a good feature to have on the GTK version as well. I will get to work on this as soon as I can. Unfortunately, with my day job and a couple other projects I'm working on, I'm short on time at the moment. I will definitely squeeze it in when I can, though.
No worries. I figure you're busy! Happy to test when you get to it.
Thank you for creating such awesome app, I have been thinking of solutions to track time for my studies and this helps a lot, The only downside for me at this point is, scrolling through and redo-ing the task. I would be really glad to have that feature.
It can be implemented in the way that @jaredwolff suggested or it can be done like implementing Ctrl+F feature to search and redo the previous task
I know it's not relevant, but having lot of entries might make it hard to see what have I studied when and really hard when i want to restudy something . I am preparing for exams so i needed to know if i can trust this app to work for me, as said above it lacks search feature but i solved it for myself using a tiny script
#!/bin/bash
database="$HOME/.var/app/com.lakoliu.Furtherance/data/furtherance/furtherance.db"
get_tasks_func () {
get_tasks_cmd="SELECT task_name, tags FROM tasks;"
chosen_task="$(echo "$get_tasks_cmd" | sqlite3 "$database" | uniq | fzf)"
chosen_task="$(echo $chosen_task | sed 's/|.*//g')"
get_date="SELECT stop_time FROM tasks WHERE task_name = \"$chosen_task\"; "
dates_gotten="$(echo "$get_date" | sqlite3 "$database" )"
dates_gotten="$dates_gotten\n"
dates_gotten="$(echo $dates_gotten| sed 's/ /\n/g' |sed 's/T/ at /g')"
echo -e "All dates gotten are \n$dates_gotten"
echo ""
latest_date="$(echo "$get_date" | sqlite3 "$database" | tail -1 )"
echo -e "Last date of access is \n${latest_date:0:10}"
# echo $chosen_task
}
get_tasks_by_tag () {
get_tag_cmd="SELECT tags FROM tasks;"
chosen_tag="$(echo "$get_tag_cmd" | sqlite3 "$database" | uniq | fzf)"
get_tasks_cmd="SELECT task_name, tags FROM tasks WHERE tags = \"$chosen_tag\" ;"
chosen_task="$(echo "$get_tasks_cmd" | sqlite3 "$database" | uniq | fzf)"
#sqlite3 "$database"
chosen_task="$(echo $chosen_task | sed 's/|.*//g')"
get_date="SELECT stop_time FROM tasks WHERE task_name = \"$chosen_task\"; "
dates_gotten="$(echo "$get_date" | sqlite3 "$database" )"
dates_gotten="$dates_gotten\n"
dates_gotten="$(echo $dates_gotten| sed 's/ /\n/g' |sed 's/T/ at /g')"
echo -e "All dates gotten are \n$dates_gotten"
echo ""
latest_date="$(echo "$get_date" | sqlite3 "$database" | tail -1 )"
echo -e "Last date of access is \n${latest_date:0:10}"
# echo $chosen_task
}
option="$(echo -e "Filter by tag \nFilter by name" | fzf)"
if [[ "$option" == "Filter by name" ]];then
get_tasks_func
else
get_tasks_by_tag
fi
read -p "Press enter to exit" -n1 ans
Note : fzf is required to be installed for this to work I have used keybinding to bind it to Windows+Ctrl+F , it spits out date when i studied something and also the last date i studied something, I can also filter stuff using tag, it's great for now
@teynav that script looks like it could be super useful for a lot of people, thanks for sharing it! Hopefully that is good enough for now until I can find the time to implement this feature in Furtherance.
It'd be great to search for previously used actions on the main screen and filter out irrelevant ones. The use case is to call back a task that I'm tracking but haven't done for a week or two (so it's buried). Right now I need to scroll some time, while searching, to get to them.