X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=home%2Flib%2Flogin_functions.sh;h=fd9beaff2eacb0706b6bbf549e92ac9227dd6be8;hb=3008cd5176a3b28768c1491853438e3df3dc7533;hp=13a2ba298abb41e34b7fa57175a3b4dbbd90c00a;hpb=a68d5744f8758fc77c34c612edac06dbc0bea129;p=khome.git diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index 13a2ba2..fd9beaf 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -15,6 +15,21 @@ tdu() { | cut -c 1-115 } +# Top Disk-Using Files +tduf() { + find "$1" -type f -printf '%s\t%p\0' \ + | sort -z -n -k 1 -r \ + | head -z -n 50 \ + | gawk -v RS='\0' ' + { + size = $1 + path = $0 + sub("^" $1 "\t+", "", path) + gb = size / 1024 / 1024 / 1024 + printf("%f\t%s\n", gb, path) + }' +} + # Most-recently modified file system objects recent() { # NOTES: @@ -67,7 +82,7 @@ experiment() { } hump() { - ledit -l $(stty size | awk '{print $2}') ocaml $@ + ledit -l "$(stty size | awk '{print $2}')" ocaml $@ } howto() { @@ -79,7 +94,12 @@ gh_fetch_repos() { } gh_clone() { - gh_fetch_repos "$1" "$2" \ + gh_user_type="$1" + gh_user_name="$2" + gh_dir="${DIR_GITHUB}/${gh_user_name}" + mkdir -p "$gh_dir" + cd "$gh_dir" || exit 1 + gh_fetch_repos "$gh_user_type" "$gh_user_name" \ | jq --raw-output '.[] | select(.fork | not) | .git_url' \ | parallel -j 25 \ git clone {} @@ -95,11 +115,10 @@ gh_clone_org() { gh_clone_repo() { gh_username=$(echo "$1" | awk -F / '"$1 == "https" && $3 == github.com" {print $4}') - gh_dir="${HOME}/Archives/Software/src/repos/remote/github.com/${gh_username}" + gh_dir="${DIR_GITHUB}/${gh_username}" mkdir -p "$gh_dir" cd "$gh_dir" || exit 1 git clone "$1" - cd - || exit 1 } work_log_template() { @@ -128,10 +147,15 @@ 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() { curl "http://wttr.in/$WEATHER_LOCATION" } @@ -147,3 +171,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" +}