X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=home%2Flib%2Flogin_functions.sh;h=163c09ebe41ef15ff596bcd3cf2f6c88ca98542b;hb=967233a47b27723012b07876b5857b01ec983c95;hp=2a244138dc0dc08bb219a927e454e92e507d4b12;hpb=8aa18398a5d46124648cdcfe7bdc742f66620627;p=khome.git diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index 2a24413..163c09e 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -1,8 +1,15 @@ +# + +d() { + local -r word=$(fzf < /usr/share/dict/words) + dict "$word" +} + # Top Disk-Using directories # TODO: Consider using numfmt instead of awk tdu() { du "$1" \ - | sort -n -k 1 -r --parallel="$(nproc)" \ + | sort -n -k 1 -r \ | head -50 \ | awk ' { @@ -82,13 +89,30 @@ experiment() { } hump() { - ledit -l $(stty size | awk '{print $2}') ocaml $@ + ledit -l "$(stty size | awk '{print $2}')" ocaml $@ } howto() { cat "$(find ~/Archives/Documents/HOWTOs -mindepth 1 -maxdepth 1 | sort | fzf)" } +yt() { + local _yt_uri + local _yt_id + local _yt_title + local _yt_dir + + _yt_uri="$1" + _yt_id=$(youtube-dl --get-id "$_yt_uri") + _yt_title=$(youtube-dl --get-title "$_yt_uri") + _yt_dir="${DIR_YOUTUBE}/individual-videos/${_yt_title}--${_yt_id}" + + mkdir -p "$_yt_dir" + cd "$_yt_dir" || exit 1 + echo "$_yt_uri" > 'uri' + youtube-dl -c --write-description --write-info-json "$_yt_uri" +} + gh_fetch_repos() { curl "https://api.github.com/$1/$2/repos?page=1&per_page=10000" } @@ -119,12 +143,11 @@ gh_clone_repo() { mkdir -p "$gh_dir" cd "$gh_dir" || exit 1 git clone "$1" - cd - || exit 1 } work_log_template() { cat << EOF -$(date +%F) +$(date '+%F %A') ========== Morning report @@ -148,8 +171,13 @@ work_log() { then work_log_template > "$file_work_log_today" fi - vim "$file_work_log_today" + vim -c 'set spell' "$file_work_log_today" + +} +note() { + mkdir -p "$DIR_NOTES" + vim -c 'set spell' "$DIR_NOTES/$(date +'%Y_%m_%d--%H_%M_%S%z')--$1.md" } weather() { @@ -167,3 +195,16 @@ bt_devs() { | awk '{print $2}' \ | xargs bluetoothctl -- info } + +run() { + stderr="$(mktemp)" + $@ 2> >(tee "$stderr") + code="$?" + urgency='' + case "$code" in + 0) urgency='normal';; + *) urgency='critical' + esac + notify-send -u "$urgency" "Job done: $code" "$(cat $stderr)" + rm "$stderr" +}