From 138647ddeabd486029548a7575c74269eaa86725 Mon Sep 17 00:00:00 2001 From: Roman Godmaire Date: Sun, 12 May 2024 16:18:32 -0400 Subject: [PATCH] emacs: Charm Freeze utility --- doom/config.el | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doom/config.el b/doom/config.el index a99c0d2..77b49ee 100644 --- a/doom/config.el +++ b/doom/config.el @@ -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*"))))