The NIX update
This commit is contained in:
28
scripts/dm-todo
Executable file
28
scripts/dm-todo
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Write/remove a task to do later.
|
||||
#
|
||||
# Select an existing entry to remove it from the file, or type a new entry to
|
||||
# add it.
|
||||
#
|
||||
|
||||
file="$HOME/.todo"
|
||||
touch "$file"
|
||||
height=$(wc -l "$file" | awk '{print $1}')
|
||||
prompt="Add/delete a task: "
|
||||
|
||||
cmd=$(dmenu -l "$height" -p "$prompt" "$@" < "$file")
|
||||
while [ -n "$cmd" ]; do
|
||||
if grep -q "^$cmd\$" "$file"; then
|
||||
grep -v "^$cmd\$" "$file" > "$file.$$"
|
||||
mv "$file.$$" "$file"
|
||||
height=$(( height - 1 ))
|
||||
else
|
||||
echo "$cmd" >> "$file"
|
||||
height=$(( height + 1 ))
|
||||
fi
|
||||
|
||||
cmd=$(dmenu -l "$height" -p "$prompt" "$@" < "$file")
|
||||
done
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user