Make new todo with launcher, reorg dpi scaling, remove today
[khome.git] / home / lib / login_functions.sh
index 3bf7676..d1d458a 100644 (file)
@@ -1,5 +1,16 @@
 #
 
+## 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="$?"
@@ -414,6 +425,24 @@ gh_clone_repo() {
     git clone "$1"
 }
 
+todo() {
+    local date
+    local timestamp
+    local bar
+    date=$(date +%F)
+    timestamp=$(date '+%F %A')
+    bar=$(for _ in {1..80}; do printf '='; done)
+    local -r dir="$DIR_TODO/daily"
+    local -r file="$dir/$date.txt"
+
+    mkdir -p "$dir"
+    if [ ! -f "$file" ]
+    then
+        printf '%s\n%s\n%s\n' "$bar" "$timestamp" "$bar" > "$file"
+    fi
+    cd "$DIR_TODO" && "$EDITOR" "$file"
+}
+
 work_log_template() {
 cat << EOF
 $(date '+%F %A')
This page took 0.030245 seconds and 4 git commands to generate.