Fix shell-command composition bug

This commit is contained in:
Jaidyn Ann 2024-10-02 10:10:45 -05:00
parent 8bcf6530e5
commit c86a03d8c3

View File

@ -94,23 +94,23 @@ if an X keyboard."
(nconc delete-frame-functions '(imeks--handle-delete-frame))
;;
;;; Util
;;; ―――――――――――――――――――――――――――――――――――――
(defun xdotool-type-string (string &optional delay)
"Types a STRING to the current X display, using xdotool.\n
Optionally waits a DELAY in seconds before typing the string."
(let* ((sleep-cmd
(format "sleep %f;" (or delay 0)))
(format "sleep %f" (or delay 0)))
(type-cmds
(mapcar (lambda (line)
(format "%s type \"$(cat <<'EOF'\n%s\nEOF\n)\""
imeks-xdotool-path line))
(string-lines string)))
(type-cmd ; Work-around, since not all programs accept a typed newline.
(reduce (lambda (a b)
(format "%s; %s key return; %s" a imeks-xdotool-path b))
type-cmds))
(seq-reduce (lambda (a b)
(format "%s; %s key return; %s" a imeks-xdotool-path b))
type-cmds ""))
(cmd-string
(concat sleep-cmd type-cmd)))
(call-process "bash" nil 0 nil