[script] Add simple due script for bibtex file
Scrapes a bibtex file for 'due' field, and outputs all found entries with their priority and sorted for date.
This commit is contained in:
parent
1f25f86290
commit
f96f9f2211
24 changed files with 455 additions and 27 deletions
29
bibtex/.local/bin/rofi-bib-due
Executable file
29
bibtex/.local/bin/rofi-bib-due
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
exist rofi normal
|
||||
|
||||
_rofi() {
|
||||
rofi -dmenu -no-auto-select -i -theme themes/dropdown -p "papers" -l 25 -yoffset 20 -columns 1 -u "$urgent"
|
||||
}
|
||||
|
||||
# call for whatever file is passed in
|
||||
results="$(bib-due "$@")"
|
||||
|
||||
# mark priority 1 items as urgent in rofi
|
||||
urgent="$(
|
||||
# find all lines with priority 1, (marked as `(1):` );
|
||||
# print them on 1 line, -1 since dmenu is 0 indexed
|
||||
echo "$results" | grep -n '(1):' | cut -d: -f1 | awk '{ $0=$0-1; print $0 }' ORS=','
|
||||
)"
|
||||
|
||||
# get user choice, exit if nothing selected
|
||||
choice=$(echo "$results" | _rofi)
|
||||
[ -z "$choice" ] && exit 0
|
||||
|
||||
key=$(echo "$choice" | sed -E 's/.*\((\w+)\)$/\1/')
|
||||
|
||||
# get library pdf folder (only searches for default ./pdf path)
|
||||
library="$(dirname "$(realpath "$BIBFILE")")/pdf"
|
||||
|
||||
# find and open the key-associated pdf file
|
||||
${FILEREADER:-xdg-open} "$(find "$library" -type f -name "$key *.pdf")"
|
||||
Loading…
Add table
Add a link
Reference in a new issue