[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] RFQ - new contribution - org-screenshot.el
From: |
Viktor Rosenfeld |
Subject: |
Re: [O] RFQ - new contribution - org-screenshot.el |
Date: |
Tue, 21 May 2013 19:40:14 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
Haider Rizvi wrote:
> Max Mikhanosha <address@hidden> writes:
>
> > Hi All,
> >
> > I've been writing some documentation in OrgMode with screenshots, and
> > as with any screenshot taking, it takes a while to get one just right.
> >
> > A few tiny helper utilities, quickly snowballed into this :-) It may
> > need some cleanup, but IMHO its too awesome not to share it with the
> > list.
> >
> > To try it out, you'll need /usr/bin/scrot which is available as
> > "scrot" package on most distributions.
>
> Cool. Can you make this a bit portable. On Mac OSX, the utility is
> called screencapture, and can be run with the same flags.
Attached is a very first try at making org-screenshot run on OS X. Many
open issues remain:
- Clicking in a window will not take a screenshot using `screencapture
-s' but aborts the process altogether and does not create a file. To
capture a window one has to use `screencapture -w'. Another option is
to use `screencapture -i' and toggle between window and selection mode
using the space bar. The problem with this approach is that hitting
the control key will place the screenshot into the clipboard and not
create a file either.
- Delay does not work because `screencapture -d' has a different
meaning. To delay a screenshot, one has to use `screencapture -T'.
Cheers,
Viktor
> Here is a
> piece of code that was published earlier with a sample use.
>
> http://thread.gmane.org/gmane.emacs.orgmode/69221/focus=69272
>
> ,----
> | #+BEGIN_SRC emacs-lisp
> | (defun paste-clipboard-to-file (&optional filename temp-dir)
> | "Take a screenshot using the crosshairs and saveit to FILENAME,
> | if it is given or to a temp file in the TEMP-DIR
> | directory. Then add an orgmode style link at point."
> | (interactive)
> | (let* ((temporary-file-directory (or temp-dir "images"))
> | (fname (or filename (make-temp-file "img" nil ".jpg"))))
> | (call-process-shell-command (concat
> | "/usr/sbin/screencapture -s " fname))
> | (insert "\n[[file:" fname "]]")
> | (org-display-inline-images)))
> | ;;
> | (global-set-key (kbd "C-c p") 'paste-clipboard-to-file)
> |
> | #+END_SRC
> `----
>
> Regards,
> --
> Haider
>
>