diff options
Diffstat (limited to 'emacs/.emacs.d/wpc/scrot.el')
-rw-r--r-- | emacs/.emacs.d/wpc/scrot.el | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/emacs/.emacs.d/wpc/scrot.el b/emacs/.emacs.d/wpc/scrot.el index efd22e2b1437..3444238158a4 100644 --- a/emacs/.emacs.d/wpc/scrot.el +++ b/emacs/.emacs.d/wpc/scrot.el @@ -1,4 +1,9 @@ +;;; scrot.el --- Screenshot functions -*- lexical-binding: t -*- + ;; Author: William Carroll <wpcarro@gmail.com> +;; Version: 0.0.1 +;; URL: https://git.wpcarro.dev/wpcarro/briefcase +;; Package-Requires: ((emacs "24")) ;;; Commentary: ;; scrot is a Linux utility for taking screenshots. @@ -19,43 +24,43 @@ ;; Library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst scrot/screenshot-directory "~/Downloads" +(defconst scrot-screenshot-directory "~/Downloads" "The default directory for screenshot outputs.") -(defconst scrot/path-to-executable "/usr/bin/scrot" +(defconst scrot-path-to-executable "/usr/bin/scrot" "Path to the scrot executable.") -(defconst scrot/output-format "screenshot_%H:%M:%S_%Y-%m-%d.png" +(defconst scrot-output-format "screenshot_%H:%M:%S_%Y-%m-%d.png" "The format string for the output screenshot file. See scrot's man page for more information.") -(defun scrot/copy-image (path) +(defun scrot-copy-image (path) "Use xclip to copy the image at PATH to the clipboard. This currently only works for PNG files because that's what I'm outputting" (call-process "xclip" nil nil nil "-selection" "clipboard" "-t" "image/png" path) (message (string-format "[scrot.el] Image copied to clipboard!"))) -(defmacro scrot/call (&rest args) +(defmacro scrot-call (&rest args) "Call scrot with ARGS." - `(call-process ,scrot/path-to-executable nil nil nil ,@args)) + `(call-process ,scrot-path-to-executable nil nil nil ,@args)) -(defun scrot/fullscreen () +(defun scrot-fullscreen () "Screenshot the entire screen." (interactive) - (let ((screenshot-path (f-join scrot/screenshot-directory - (ts-format scrot/output-format (ts-now))))) - (scrot/call screenshot-path) - (scrot/copy-image screenshot-path))) + (let ((screenshot-path (f-join scrot-screenshot-directory + (ts-format scrot-output-format (ts-now))))) + (scrot-call screenshot-path) + (scrot-copy-image screenshot-path))) -(defun scrot/select () +(defun scrot-select () "Click-and-drag to screenshot a region. The output path is copied to the user's clipboard." (interactive) - (let ((screenshot-path (f-join scrot/screenshot-directory - (ts-format scrot/output-format (ts-now))))) - (scrot/call "--select" screenshot-path) - (scrot/copy-image screenshot-path))) + (let ((screenshot-path (f-join scrot-screenshot-directory + (ts-format scrot-output-format (ts-now))))) + (scrot-call "--select" screenshot-path) + (scrot-copy-image screenshot-path))) (provide 'scrot) ;;; scrot.el ends here |