emacs: Charm Freeze utility

This commit is contained in:
Roman Godmaire 2024-05-12 16:18:32 -04:00
parent d3c447bcc0
commit 138647ddea

View file

@ -81,3 +81,26 @@
:prefix ("p" . "project")
:desc "Occur in Project" "O" #'projectile-multi-occur)
(defun charm-freeze-clipboard ()
"Export your clipboard as a PNG using Charm's Freeze"
(interactive)
(let*
((charm-freeze/lang (read-from-minibuffer "Language: "))
(charm-freeze/dir (concat
(cdr (assoc "PICTURES" xdg-user-dirs))
"/freeze/"))
(charm-freeze/filename (concat
(format-time-string "%FT%T%z" (current-time))
".png"))
(charm-freeze/output (concat charm-freeze/dir charm-freeze/filename))
(charm-freeze/cmd (concat
"fish_clipboard_paste | freeze"
" --output " charm-freeze/output
" --language " charm-freeze/lang
" --theme gruvbox")))
(async-shell-command charm-freeze/cmd (get-buffer-create "*Shell Output*"))))