    (format "qpdf --verbose --encrypt '%s' '%s' 256 -- <<f>> <<fne>>_enc.<<e>>"
            (read-passwd "user-password: ")
            (read-passwd "owner-password: "))
-   :check-utils "qpdf"))
+   :utils "qpdf"))
 
 (defun dwim-shell-command--gifsicle-frames-every (skipping-every file)
   (string-join

    (if (seq-empty-p files)
        (setq script template)
      (seq-do (lambda (file)
                (when check-extensions
                  (cl-assert (seq-contains-p check-extensions (file-name-extension file))
                             nil "Not a .%s file" (string-join check-extensions " .")))
                (setq script
                      (concat script "\n"
                              (dwim-shell-command--expand template file post-process-template))))

   "Convert to optimized gif"
   "ffmpeg -loglevel quiet -stats -y -i <<f>> -pix_fmt rgb24 -r 15 <<fne>>.gif
    gifsicle -O3 <<fne>>.gif --lossy=80 -o <<fne>>.gif"
   :utils '("ffmpeg" "gifsicle")))

(defun dwim-shell-command-unzip ()
  "Unzip all marked archives (of any kind) using `atool'."
  (interactive)
  (dwim-shell-command--on-marked-files
   "Unzip" "atool --extract --explain <<f>>"
   :utils "atool"))

(defun dwim-shell-command-speed-up-gif ()
  "Speeds up gif(s)."
