#
+## open : string -> unit
+##
+## Fork xdg-open so we don't block current terminal session when opening
+## things like pdf files. For example:
+##
+## open book.pdf
+##
+open() {
+ (xdg-open "$1" &) &
+}
+
+## notify_done : unit -> unit
+notify_done() {
+ local -r _status_code="$?"
+ local -r _program="$1"
+ local _timestamp
+ _timestamp="$(timestamp)"
+ local -r _msg="$_timestamp [$_program] done "
+ if [[ "$_status_code" -eq 0 ]]
+ then
+ notify-send -u normal "$_msg OK: $_status_code"
+ else
+ notify-send -u critical "$_msg ERROR: $_status_code"
+ fi
+}
+
## p : string -> unit
p() {
awk \
local -r uri="$2"
local -r opts="$3"
- local -r id=$(youtube-dlc --get-id "$uri")
- local -r title=$(youtube-dlc --get-title "$uri" | sed 's/[^А-Яа-яA-Za-z0-9._-]/_/g')
+ local -r yt=youtube-dl
+ local -r id=$("$yt" --get-id "$uri")
+ local -r title=$("$yt" --get-title "$uri" | sed 's/[^А-Яа-яA-Za-z0-9._-]/_/g')
local -r dir="${base_dir}/${title}--${id}"
mkdir -p "$dir"
cd "$dir" || kill -INT $$
echo "$uri" > 'uri'
- youtube-dlc $opts -c --write-all-thumbnails --write-description --write-info-json "$uri"
+ "$yt" $opts -c --write-all-thumbnails --write-description --write-info-json "$uri"
}
yt_audio() {