about summary refs log tree commit diff
path: root/emacs/.emacs.d/wpc/scrot.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d/wpc/scrot.el')
-rw-r--r--emacs/.emacs.d/wpc/scrot.el37
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