46c8ae0df6cc default tip

More
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Thu, 30 Jan 2025 09:44:14 -0500
parents 30faa48af4ce
children (none)
branches/tags default tip
files bin/cax bin/code-to-pdf bin/cqn bin/cux bin/jqn bin/lqn bin/mkxelatex bin/mkxelatex-bib bin/pspg bin/switch-yubikeys bin/temps bin/tqn bin/watch-xelatex bin/watch-xelatex-bib fish/config.fish gitconfig htoprc remote/bash_profile remote/bin/cax remote/bin/cux remote/bin/mksb remote/bin/slurm-shell stumpwm/bioinf.lisp stumpwm/clipboard.lisp stumpwm/config.lisp stumpwm/igv.lisp stumpwm/key-mapping.lisp stumpwm/local-share-stumpwm/notes.dump stumpwm/miscellaneous.lisp stumpwm/screenshots.lisp stumpwm/sound.lisp stumpwm/stumpconfig.asd stumpwm/stumpwmrc vim/custom-dictionary.utf-8.add vim/vimrc vim/vimrc-minimal

Changes

--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/cax	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+chmod a+x "$@"
--- a/bin/code-to-pdf	Mon Aug 19 08:56:24 2024 -0400
+++ b/bin/code-to-pdf	Thu Jan 30 09:44:14 2025 -0500
@@ -9,12 +9,11 @@
     --toc \
     --header '%H - $N | | page $% of $= in file $v' \
     --fancy-header=sjl \
-    --font "UbuntuMono-Regular@9" \
-    --header-font "UbuntuMono-Bold@12" \
+    --font "UbuntuMono-Regular@8" \
+    --header-font "UbuntuMono-Bold@10" \
     --title "$TITLE" \
     --baselineskip 3 \
     --line-numbers \
-    --highlight \
     --color \
     --mark-wrapped-lines=arrow \
     --margins=50:50:18:50 \
@@ -25,3 +24,4 @@
 
     # --margins=20:40:30:30 \
     # --landscape \
+    # --highlight \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/cqn	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+/home/sjl/bin/lqn.core --script ~/src/lqn/bin/cqn-sh.lisp "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/cux	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+chmod u+x "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/jqn	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+/home/sjl/bin/lqn.core --script ~/src/lqn/bin/jqn-sh.lisp "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/lqn	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+/home/sjl/bin/lqn.core --script ~/src/lqn/bin/lqn-sh.lisp "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/mkxelatex	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+NAME="$1"
+
+xelatex "$NAME".tex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/mkxelatex-bib	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+NAME="$1"
+
+xelatex "$NAME".tex
+bibtex "$NAME"
+xelatex "$NAME".tex
+xelatex "$NAME".tex
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/pspg	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+/usr/bin/pspg --vertical-cursor --style 5 "$@"
--- a/bin/switch-yubikeys	Mon Aug 19 08:56:24 2024 -0400
+++ b/bin/switch-yubikeys	Thu Jan 30 09:44:14 2025 -0500
@@ -1,6 +1,4 @@
 #!/usr/bin/env bash
 
-set -euo pipefail
-
 grep -rl shadowed-private-key ~/.gnupg/private-keys-v1.d/ | xargs rm
 gpg --card-status
--- a/bin/temps	Mon Aug 19 08:56:24 2024 -0400
+++ b/bin/temps	Thu Jan 30 09:44:14 2025 -0500
@@ -5,18 +5,46 @@
 function find_names {
     grep . /sys/class/hwmon/hwmon*/name
 }
-function find_coretemp {
-    grep 
+
+function find_temp_numbers {
+    dir="$1"
+    find "/sys/class/hwmon/$dir/" -name 'temp*_input' \
+        | xargs -n1 basename \
+        | tr -dc '0-9\n' \
+        | sort -n
+}
+
+function display_temp {
+    dir="$1"
+    n="$2"
+
+    set +e
+
+    if test -e "/sys/class/hwmon/$dir/temp${n}_label"; then
+        paste \
+            <(cat "/sys/class/hwmon/$dir/temp${n}_label") \
+            <(cat "/sys/class/hwmon/$dir/temp${n}_input" 2>&1)
+    else
+        paste \
+        <(echo '???') \
+        <(cat "/sys/class/hwmon/$dir/temp${n}_input")
+    fi
+
+    set -e
 }
 
 if test -z "${1:-}"; then
     find_names
 else
     dir=$(find_names | grep "$1" | cut -d / -f 5)
-    paste \
-        <(grep . "/sys/class/hwmon/$dir/"temp*_label | sort) \
-        <(grep . "/sys/class/hwmon/$dir/"temp*_input | sort) \
-        | tr -s ':' ' ' \
-        | awk '/Core/ {print $2, $3, $5/1000.0 }' \
-        | sort -n -k2
+
+    find_temp_numbers "$dir" | while read -r n; do
+        display_temp "$dir" "$n"
+    done
+    # paste \
+    #     <(grep . "/sys/class/hwmon/$dir/"temp*_label | sort) \
+    #     <(grep . "/sys/class/hwmon/$dir/"temp*_input | sort) \
+    #     | tr -s ':' ' ' \
+    #     | awk '/Core/ {print $2, $3, $5/1000.0 }' \
+    #     | sort -n -k2
 fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/tqn	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+/home/sjl/bin/lqn.core --script ~/src/lqn/bin/tqn-sh.lisp "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/watch-xelatex	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+NAME="$1"
+shift
+
+echo "$NAME".tex "$@" | peat "mkxelatex $NAME"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/watch-xelatex-bib	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+NAME="$1"
+shift
+
+echo "$NAME".tex "$@" | peat "mkxelatex-bib $NAME"
--- a/fish/config.fish	Mon Aug 19 08:56:24 2024 -0400
+++ b/fish/config.fish	Thu Jan 30 09:44:14 2025 -0500
@@ -51,6 +51,7 @@
 
 abbr --add ai "sudo apt install"
 abbr --add sc "sudo systemctl"
+abbr --add paper --set-cursor=% "cp -t . ~/Sync/papers/files/%"
 
 # }}}
 # Completions {{{
--- a/gitconfig	Mon Aug 19 08:56:24 2024 -0400
+++ b/gitconfig	Thu Jan 30 09:44:14 2025 -0500
@@ -94,7 +94,7 @@
     fuom = "!sh -c 'git co $(git mainbranch) && git fo && git uo' -"
     fuum = "!sh -c 'git co $(git mainbranch) && git fu && git uu' -"
     rom =  "!sh -c 'git fo && git rebase origin/$(git mainbranch)' -"
-    jom =  "!sh -c 'git join origin $(git mainbranch)' -"
+    jom =  "!sh -c 'git join origin/$(git mainbranch)' -"
     recon =  rebase --continue
 
     addremove = !git add . && git add -u
--- a/htoprc	Mon Aug 19 08:56:24 2024 -0400
+++ b/htoprc	Thu Jan 30 09:44:14 2025 -0500
@@ -38,7 +38,7 @@
 column_meter_modes_0=1 1 1
 column_meters_1=RightCPUs2 Tasks LoadAverage Uptime
 column_meter_modes_1=1 2 2 2
-tree_view=0
+tree_view=1
 sort_key=39
 tree_sort_key=0
 sort_direction=-1
@@ -48,7 +48,7 @@
 screen:Main=PID USER PRIORITY NICE M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command
 .sort_key=M_RESIDENT
 .tree_sort_key=PID
-.tree_view=0
+.tree_view=1
 .tree_view_always_by_pid=1
 .sort_direction=-1
 .tree_sort_direction=1
--- a/remote/bash_profile	Mon Aug 19 08:56:24 2024 -0400
+++ b/remote/bash_profile	Thu Jan 30 09:44:14 2025 -0500
@@ -61,8 +61,6 @@
 alias .....="cd ../../../.."
 alias ......="cd ../../../../.."
 
-alias js='cd ~/scratch'
-
 alias :q=exit
 alias :qa=exit
 alias :wqa=exit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remote/bin/cax	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,1 @@
+../../bin/cax
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remote/bin/cux	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,1 @@
+../../bin/cux
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remote/bin/mksb	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+name="$1"
+
+read -p "Account? "
+acct="$REPLY"
+
+read -p "Hours? "
+hours="$REPLY"
+
+read -p "CPUs? "
+cpus="$REPLY"
+
+read -p "Memory (gb)? "
+mem_gb="$REPLY"
+mem_mb=$(( mem_gb * 1024 ))
+
+cat << EOF > "$name".sbat
+#!/usr/bin/env bash
+
+#SBATCH --job-name=$name
+#SBATCH --mail-type=END
+#SBATCH --nodes=1
+#SBATCH --ntasks-per-node=1
+#SBATCH --cpus-per-task=$cpus
+#SBATCH --mem=$mem_mb
+#SBATCH --time=$hours:00:00
+#SBATCH --account=$acct
+#SBATCH --partition=standard
+#SBATCH --output=slurm-%x-%j.log
+#SBATCH --export=NONE
+
+set -euo pipefail
+
+my_job_header
+echo
+echo Arguments: "\$@"
+echo
+
+EOF
+
+chmod u+x "$name.sbat"
+
+"$EDITOR" "$name.sbat"
--- a/remote/bin/slurm-shell	Mon Aug 19 08:56:24 2024 -0400
+++ b/remote/bin/slurm-shell	Thu Jan 30 09:44:14 2025 -0500
@@ -15,4 +15,19 @@
 mem_gb="$REPLY"
 mem_kb=$(( mem_gb * 1024 * 1024 / cpus ))
 
-exec salloc --account="$acct" --nodes=1 --ntasks-per-node=1 --mem-per-cpu="$mem_kb"K --cpus-per-task="$cpus" --time="$hours":00:00
+read -p "X11? "
+case $REPLY in
+    y | yes | Y | YES)
+    x11="--x11"
+    ;;
+
+    *)
+    x11=""
+    ;;
+esac
+
+if test -z "$x11"; then
+    exec salloc --account="$acct" --nodes=1 --ntasks-per-node=1 --mem-per-cpu="$mem_kb"K --cpus-per-task="$cpus" --time="$hours":00:00
+else
+    exec salloc --account="$acct" --nodes=1 --ntasks-per-node=1 --mem-per-cpu="$mem_kb"K --cpus-per-task="$cpus" --time="$hours":00:00 --x11
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stumpwm/bioinf.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -0,0 +1,15 @@
+(in-package :stumpwm-user)
+
+
+(defun random-base ()
+  (random-elt "GCAT"))
+
+(defun random-dna-string (n)
+  (let ((result (make-string n)))
+    (dotimes (i n)
+      (setf (char result i) (random-base)))
+    result))
+
+(defcommand random-dna (n) ((:integer "Length: "))
+  (pbcopy (random-dna-string n)))
+
--- a/stumpwm/clipboard.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/clipboard.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -1,20 +1,12 @@
 (in-package :stumpwm-user)
 
-
 (defcommand generate-random-uuid () ()
-  (run-shell-command "uuidgen | tr -d '\\n' | ~/src/dotfiles/bin/pbcopy")
+  (pbcopy (string-downcase (princ-to-string (uuid:make-v4-uuid))))
   (message "Copied random UUID to clipboard."))
 
 (defcommand bee-movie-script () ()
   (run-shell-command "pbeecopy")
   (message "Copied the entire Bee Movie script to clipboard."))
 
-(defcommand urlize-jira-issue () ()
-  (let ((issue (str:trim (pbpaste))))
-    (if (ppcre:scan "^[A-Z0-9]+-\\d+$" issue)
-      (let* ((endpoint (str:trim (run-shell-command "grep endpoint .jira.d/config.yml | sed -e 's/.*: //'" t)))
-             (url (format nil "~A/browse/~A" endpoint issue)))
-        (pbcopy url)
-        (message "Copied ~A to the clipboard." url))
-      (message "Clipboard does not look like a JIRA issue."))))
+#; Scratch --------------------------------------------------------------------
 
--- a/stumpwm/config.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/config.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -19,7 +19,7 @@
       *debug-level* 0
       *resize-increment* 75
       *new-frame-action* :empty
-      *window-format* "(%n%m%20t)"
+      *window-format* "(%n%m%60t)"
       *window-name-source* :title
       *maximum-completions* 20
       *shell-program* "/home/sjl/src/dotfiles/bin/bash-dammit"
--- a/stumpwm/igv.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/igv.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -51,7 +51,7 @@
 
 (defun goto% ()
   (ppcre:register-groups-bind (chr start end)
-      ("(chr[A-Za-z0-9_]+)\\s+(\\d+)(?:\\s+)?(\\d+)?" (pbpaste))
+      ("(chr[A-Za-z0-9_]+)[\\s:]+([\\d,]+)(?:[\\s:]+)?([\\d,]+)?" (pbpaste))
     (send-igv-command (format nil "goto ~A:~A~@[-~A~]" chr start end))))
 
 (defun clear-read-selections% ()
@@ -62,7 +62,7 @@
   (send-igv-command "zoomin"))
 
 (defun zoom-out% ()
-  (send-igv-command "zoomin"))
+  (send-igv-command "zoomout"))
 
 
 ;;;; Commands -----------------------------------------------------------------
@@ -92,9 +92,6 @@
 (defcommand igv/zoom-in () ()
   (zoom-in%))
 
-(defcommand igv/foo () ()
-  (zoom-in%))
-
 (defcommand igv/zoom-out () ()
   (zoom-out%))
 
--- a/stumpwm/key-mapping.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/key-mapping.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -1,5 +1,9 @@
 (in-package :stumpwm-user)
 
+(defcommand nop () ()
+  nil)
+
+
 ;;; Conventions:
 ;;;
 ;;; * Hyper-dir: move focus
@@ -21,10 +25,12 @@
 
 (define-top-keys ;; miscellaneous
   ("H-m" "terminal")
-  ("H-M" "mark")
+  ("H-M" "toggle-zoom-mute")
   ("H-SunPageUp" "st-font-up")
   ("H-SunPageDown" "st-font-down")
   ("H-z" "fullscreen")
+  ("H-Z" "end-zoom")
+  ("S-H-F1" "igv")
   ("H-F4" "switch-yubikeys")
   ("H-\\" "pass-personal")
   ("H-|" "generate-password")
@@ -39,8 +45,6 @@
   ("H-q" "exec lock-screen")
   ("H-y" "screenshot")
   ("H-Y" "delayed-screenshot")
-  ("H-f" "save-fucked-screenshot")
-  ("H-F" "delete-fucked-screenshot")
   ("H-r" "rain")
   ("H-V" "vlc")
   ("H-e" "budget")
@@ -50,6 +54,7 @@
   ("S-XF86AudioLowerVolume" "terminal-font-size-up")
   ("C-BackSpace" "clear-notifications"))
 
+
 (define-top-keys ;; clipboard
   ("H-c" "show-clipboard-history")
   ("H-C" "clear-clipboard-history")
@@ -124,7 +129,7 @@
   ("H-F1" "mute")
   ("H-F2" "volume-down")
   ("H-F3" "volume-up")
-  ("XF86AudioMute" "exec mute")
+  ("XF86AudioMute" "mute")
   ("XF86AudioRaiseVolume" "volume-down") ; todo unfuck the backwards mapping in qmk
   ("XF86AudioLowerVolume" "volume-up"))
 
@@ -201,24 +206,31 @@
 ;;;                                                 |         |
 ;;;                                                 +---------+
 (define-top-keys ;; GAMER MOUSE
-  ("s-!" "igv/zoom-out")
-  ("s-#" "igv/zoom-in")
-  ("s-$" "move-window left")
-  ("s-*" "move-window down")
-  ("s-@" "move-window up")
-  ("s-^" "move-window right")
-  ("M-s-Left"  "gprev")
-  ("M-s-Right" "gnext")
+  ;; Super layer
+  ("s-!" "igv/zoom-out")     ("s-@" "move-window up")   ("s-#" "igv/zoom-in")
+  ("s-$" "move-window left") ("s-%" "nop")              ("s-^" "move-window right")
+  ("s-&" "nop")              ("s-*" "move-window down") ("s-(" "nop")
+  ("s-)" "sane-vsplit")      ("s-_" "fullscreen")       ("s-+" "sane-hsplit")
+
+  ("M-s-Left"  "gprev") ("M-s-Right" "gnext")
+
   ("s-Home" "next-in-frame")
   ("s-End"  "prev-in-frame")
-  ("s-+" "sane-hsplit")
-  ("s-)" "sane-vsplit")
-  ("s-_" "fullscreen") 
+
   ("s-Delete" "remove")
+
+  ;; Hyper-Super layer
+  ("H-s-!" "nop")                   ("H-s-@" "resize-direction up")   ("H-s-#" "nop")
+  ("H-s-$" "resize-direction left") ("H-s-%" "fullscreen")            ("H-s-^" "resize-direction right")
+  ("H-s-&" "nop")                   ("H-s-*" "resize-direction down") ("H-s-(" "nop")
+  ("H-s-)" "nop")                   ("H-s-_" "nop")                   ("H-s-+" "nop")
+
   )
 
+(define-top-keys ;; Single-key keyboard
+  ("S-C-F1" "igv"))
 
-;; (stumpwm::unbind-remapped-keys)
+
 (define-remapped-keys
   '(("st-256color"
      ("s-c" . "C-C")
--- a/stumpwm/local-share-stumpwm/notes.dump	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/local-share-stumpwm/notes.dump	Thu Jan 30 09:44:14 2025 -0500
@@ -1,36 +1,44 @@
 #S(GDUMP
    :NUMBER 2
    :NAME "notes"
-   :TREE ((((#S(FDUMP
-                :NUMBER 1
-                :X 0
+   :TREE (((#S(FDUMP
+               :NUMBER 0
+               :X 0
+               :Y 0
+               :WIDTH 2560/3
+               :HEIGHT 720
+               :WINDOWS (25165829)
+               :CURRENT 25165829)
+            #S(FDUMP
+               :NUMBER 4
+               :X 0
+               :Y 720
+               :WIDTH 2560/3
+               :HEIGHT 720
+               :WINDOWS (35651589)
+               :CURRENT 35651589))
+           (#S(FDUMP
+               :NUMBER 1
+               :X 2560/3
+               :Y 0
+               :WIDTH 2560/3
+               :HEIGHT 1440
+               :WINDOWS (27262981)
+               :CURRENT 27262981)
+            (#S(FDUMP
+                :NUMBER 2
+                :X 5120/3
                 :Y 0
-                :WIDTH 940
+                :WIDTH 2560/3
                 :HEIGHT 720
-                :WINDOWS (44040197)
-                :CURRENT 44040197)
+                :WINDOWS (29360133)
+                :CURRENT 29360133)
              #S(FDUMP
                 :NUMBER 3
-                :X 940
-                :Y 0
-                :WIDTH 940
+                :X 5120/3
+                :Y 720
+                :WIDTH 2560/3
                 :HEIGHT 720
-                :WINDOWS (67108869 27262981)
-                :CURRENT 67108869))
-            #S(FDUMP
-               :NUMBER 2
-               :X 0
-               :Y 720
-               :WIDTH 1880
-               :HEIGHT 720
-               :WINDOWS (29360133)
-               :CURRENT 29360133))
-           #S(FDUMP
-              :NUMBER 0
-              :X 1880
-              :Y 0
-              :WIDTH 680
-              :HEIGHT 1440
-              :WINDOWS (25165829)
-              :CURRENT 25165829)))
-   :CURRENT 3)
\ No newline at end of file
+                :WINDOWS (33554437)
+                :CURRENT 33554437)))))
+   :CURRENT 1)
\ No newline at end of file
--- a/stumpwm/miscellaneous.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/miscellaneous.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -79,3 +79,17 @@
   (echo "Starting VM.")
   (run-shell-command "/home/sjl/vms/run"))
 
+
+(defcommand toggle-zoom-mute () ()
+  (when-let-window (win "^Zoom Meeting.*")
+    ;; Zoom stupidly won't accept the shortcut unless it's in focus
+    (unless (eql (window-group win) (current-group))
+      ;;        jesus            christ        stump just export switch-to-group come on
+      (gselect (princ-to-string (group-number (window-group win)))))
+    (focus-window win t)
+    (meta (kbd "M-a"))))
+
+(defcommand end-zoom () ()
+  (when-let-window (win "^Zoom Meeting.*")
+    (kill-window win)
+    (message "Killed meeting")))
--- a/stumpwm/screenshots.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/screenshots.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -6,9 +6,3 @@
 (defcommand screenshot () ()
   (run-shell-command "screenshot"))
 
-(defcommand save-fucked-screenshot () ()
-  (run-shell-command "broken-screenshot"))
-
-(defcommand delete-fucked-screenshot () ()
-  (run-shell-command "delete-broken-screenshot"))
-
--- a/stumpwm/sound.lisp	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/sound.lisp	Thu Jan 30 09:44:14 2025 -0500
@@ -14,7 +14,7 @@
 (defcommand mute () ()
   (run-shell-command "mute")
   (volume/uncache)
-  (echo "Muted."))
+  (message "Muted."))
 
 (defcommand volume-up () ()
   (run-shell-command "amixer -q sset Master 5%+")
--- a/stumpwm/stumpconfig.asd	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/stumpconfig.asd	Thu Jan 30 09:44:14 2025 -0500
@@ -11,7 +11,8 @@
                :bordeaux-threads
                :jarl
                :local-time
-               :usocket)
+               :usocket
+               :uuid)
 
   :serial t
   :components ((:file "package")
@@ -35,4 +36,5 @@
                (:file "external-screens")
                (:file "miscellaneous")
                (:file "igv")
+               (:file "bioinf")
                (:file "key-mapping")))
--- a/stumpwm/stumpwmrc	Mon Aug 19 08:56:24 2024 -0400
+++ b/stumpwm/stumpwmrc	Thu Jan 30 09:44:14 2025 -0500
@@ -13,3 +13,8 @@
 
 (when (probe-file "/home/sjl/.stumpwmrc.local")
   (load "/home/sjl/.stumpwmrc.local"))
+
+
+#; Scratch --------------------------------------------------------------------
+
+(princ *window-format*)
--- a/vim/custom-dictionary.utf-8.add	Mon Aug 19 08:56:24 2024 -0400
+++ b/vim/custom-dictionary.utf-8.add	Thu Jan 30 09:44:14 2025 -0500
@@ -526,3 +526,38 @@
 coreutils
 CRISPR
 overcounting
+speedrun
+FF6
+kimchi
+SAA
+DJ'ed
+TA'ed
+wildcards
+counterintuitive
+ish
+ECC
+Ypsi
+etouffée
+Ansibilize
+fstab
+Datura
+Ansibilized
+indels
+DSBs
+NHEJ
+LINEs
+LRS
+SV
+SRS
+HC
+transposase
+ATAC
+clusterfuck
+Kerrytown
+Friendsgiving
+LVM
+basecaller
+flowcell
+reparse
+venv
+env
--- a/vim/vimrc	Mon Aug 19 08:56:24 2024 -0400
+++ b/vim/vimrc	Thu Jan 30 09:44:14 2025 -0500
@@ -37,6 +37,11 @@
 set spellfile=~/.vim/custom-dictionary.utf-8.add,~/.vim-local-dictionary.utf-8.add
 nnoremap zG 2zg
 
+" Invoke spellcheck in insert mode with c-s, or c-S to do it and autotake the
+" first suggestion for stuff I intentually use spellcheck to type.
+inoremap <c-s>   <c-x><c-s>
+inoremap <c-s-s> <c-x><c-s><c-n><c-y>
+
 " }}}
 " Color scheme ------------------------------------------------------------ {{{
 
--- a/vim/vimrc-minimal	Mon Aug 19 08:56:24 2024 -0400
+++ b/vim/vimrc-minimal	Thu Jan 30 09:44:14 2025 -0500
@@ -413,6 +413,9 @@
 " Newline without having to go to the end of the line
 inoremap <c-cr> <esc>o
 
+" Spelling correct without having to exit insert mode
+inoremap <c-z> <esc>z=
+
 " }}}
 " Searching and movement -------------------------------------------------- {{{