* Automatic screenshot insertion @ 2010-11-18 17:16 Jonathan BISSON 2010-11-18 17:50 ` Sébastien Vauban ` (2 more replies) 0 siblings, 3 replies; 23+ messages in thread From: Jonathan BISSON @ 2010-11-18 17:16 UTC (permalink / raw) To: emacs-orgmode Here is a little function that allows a user to insert a screenshot easily. Only works on unix-like systems where ImageMagick is installed (adapt "import" to your screenshot program if needed). (defun my-screenshot () "Take a screenshot into a unique-named file in the current buffer file directory and insert a link to this file." (interactive) (setq filename (concat (make-temp-name (file-name-directory (buffer-file-name)) ) ".jpg" ) ) (call-process "import" nil nil nil filename) (insert (concat "[[" filename "]]")) (org-display-inline-images) ) Cheers, ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Automatic screenshot insertion 2010-11-18 17:16 Automatic screenshot insertion Jonathan BISSON @ 2010-11-18 17:50 ` Sébastien Vauban 2010-11-28 19:35 ` David Maus 2011-02-03 13:33 ` Bastien 2 siblings, 0 replies; 23+ messages in thread From: Sébastien Vauban @ 2010-11-18 17:50 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Jonathan, Jonathan BISSON wrote: > Here is a little function that allows a user to insert a screenshot easily. > Only works on unix-like systems where ImageMagick is installed (adapt "import" > to your screenshot program if needed). > > (defun my-screenshot () > "Take a screenshot into a unique-named file in the current buffer file > directory and insert a link to this file." > > (interactive) > (setq filename > (concat > (make-temp-name > (file-name-directory (buffer-file-name)) > ) > ".jpg" > ) > ) > > (call-process "import" nil nil nil filename) > (insert (concat "[[" filename "]]")) > (org-display-inline-images) > ) I find this to be a very smart idea. Maybe I'll never need it, but well thought! BTW, ImageMagick exists for Windows as well, so it just needs =import= to be in the path of executables... Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Automatic screenshot insertion 2010-11-18 17:16 Automatic screenshot insertion Jonathan BISSON 2010-11-18 17:50 ` Sébastien Vauban @ 2010-11-28 19:35 ` David Maus 2011-03-29 14:43 ` [Orgmode] " Russell Adams 2011-02-03 13:33 ` Bastien 2 siblings, 1 reply; 23+ messages in thread From: David Maus @ 2010-11-28 19:35 UTC (permalink / raw) To: Jonathan BISSON; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 509 bytes --] At Thu, 18 Nov 2010 18:16:22 +0100, Jonathan BISSON wrote: > > Here is a little function that allows a user to insert a screenshot > easily. Only works on unix-like systems where ImageMagick is installed > (adapt "import" to your screenshot program if needed). > Nice. Do you mind of I put the function on Org mode'S wiki (Worg) in the "Org hacks" page?[1] Best, -- David [1] http://orgmode.org/worg/org-hacks.php -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de [-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2010-11-28 19:35 ` David Maus @ 2011-03-29 14:43 ` Russell Adams 2011-06-06 18:59 ` David Maus 2012-01-05 4:54 ` François Pinard 0 siblings, 2 replies; 23+ messages in thread From: Russell Adams @ 2011-03-29 14:43 UTC (permalink / raw) To: emacs-orgmode On Sun, Nov 28, 2010 at 08:35:23PM +0100, David Maus wrote: > At Thu, 18 Nov 2010 18:16:22 +0100, > Jonathan BISSON wrote: > > > > Here is a little function that allows a user to insert a screenshot > > easily. Only works on unix-like systems where ImageMagick is installed > > (adapt "import" to your screenshot program if needed). > > > > Nice. Do you mind of I put the function on Org mode'S wiki (Worg) in > the "Org hacks" page?[1] > > Best, > -- David > > [1] http://orgmode.org/worg/org-hacks.php > -- > OpenPGP... 0x99ADB83B5A4478E6 > Jabber.... dmjena@jabber.org > Email..... dmaus@ictsoc.de I made a minor change. File names are now generated by using the current org buffer filename, plus the date and time, and a unique number. This allows me to sort out the images better. (defun org-screenshot () "Take a screenshot into a time stamped unique-named file in the same directory as the org-buffer and insert a link to this file." (interactive) (setq filename (concat (make-temp-name (concat (buffer-file-name) "_" (format-time-string "%Y%m%d_%H%M%S_")) ) ".png")) (call-process "import" nil nil nil filename) (insert (concat "[[" filename "]]")) (org-display-inline-images)) ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2011-03-29 14:43 ` [Orgmode] " Russell Adams @ 2011-06-06 18:59 ` David Maus 2012-01-05 4:54 ` François Pinard 1 sibling, 0 replies; 23+ messages in thread From: David Maus @ 2011-06-06 18:59 UTC (permalink / raw) To: Russell Adams; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1210 bytes --] At Tue, 29 Mar 2011 09:43:27 -0500, Russell Adams wrote: > I made a minor change. File names are now generated by using the > current org buffer filename, plus the date and time, and a unique > number. This allows me to sort out the images better. > > (defun org-screenshot () > "Take a screenshot into a time stamped unique-named file in the same directory as the org-buffer and insert a link to this file." > (interactive) > (setq filename > (concat > (make-temp-name > (concat (buffer-file-name) > "_" > (format-time-string "%Y%m%d_%H%M%S_")) ) ".png")) > (call-process "import" nil nil nil filename) > (insert (concat "[[" filename "]]")) > (org-display-inline-images)) > Thanks, I update the function on Worg. Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de [-- Attachment #2: Type: application/pgp-signature, Size: 230 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2011-03-29 14:43 ` [Orgmode] " Russell Adams 2011-06-06 18:59 ` David Maus @ 2012-01-05 4:54 ` François Pinard 2012-01-09 18:27 ` Eric S Fraga 1 sibling, 1 reply; 23+ messages in thread From: François Pinard @ 2012-01-05 4:54 UTC (permalink / raw) To: emacs-orgmode Russell Adams <RLAdams@AdamsInfoServ.Com> writes: > On Sun, Nov 28, 2010 at 08:35:23PM +0100, David Maus wrote: >> At Thu, 18 Nov 2010 18:16:22 +0100, Jonathan BISSON wrote: >> > Here is a little function that allows a user to insert a screenshot >> > easily. Only works on unix-like systems where ImageMagick is installed >> > (adapt "import" to your screenshot program if needed). >> Nice. Do you mind of I put the function on Org mode'S wiki (Worg) in >> the "Org hacks" page?[1] > I made a minor change. File names are now generated by using the > current org buffer filename, plus the date and time, and a unique > number. This allows me to sort out the images better. For my own usage, I modified it further, like below: (defun fp-org-image (name) "Insert a link to an already existing image, or else to a screenshot. The screenshot is either taken to the given non-existing file name, or added into the given directory, defaulting to the current one." ;; FIXME: Should limit to '("pdf" "jpeg" "jpg" "png" "ps" "eps") ;; which is org-export-latex-inline-image-extensions. (interactive "GImage name? ") (when (file-directory-p name) (setq name (concat (make-temp-name (concat (file-name-as-directory name) (subst-char-in-string "." "-" (file-name-sans-extension (buffer-file-name))))) ".png"))) (unless (file-exists-p name) (unless (file-writable-p name) (error "Cannot create image file")) (message "Taking screenshot...") (call-process "import" nil nil nil name) (message "Taking screenshot...done")) (insert (concat "[[" name "]]")) (org-display-inline-images)) The changes are: * LaTeX processing fails if there is more than one period, because everything after the first period is considered as the extension, which is not recognized as a graphic one. * Accepts a file name as an argument, defaulting to the current directory, so a mere Enter takes a screenshot. The user may choose another directory for taking the screenshot. Also, if he selects an existing file name, a screen shot is not taken and that image is reused instead. That may be useful when the same few images are overly used as inlined icons. Try to not call "import" if the file name is plain wrong (no way to create a file under that name). * No need to have the timestamp in the generated file name, as make-temp-name already adds a unique suffix. No need to have overly long names, and if the timestamp is needed, "ls -l" will give it anyway. The prefix of make-temp-name is made absolute, so it better checks that the file it creates does not spuriously exist. * The minibuffer let the user know that a screenshot is expected. François P.S. ImageMagick "import" is quick and easy, but has a few limitations, in that one cannot screenshot popups and menus. When documenting the usage of a program with a GUI, there are more flexible tools to take screenshots in some special circumstances. Should be parameterizable! But for the needs I have this week, "import" is quite sufficient. :-) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-05 4:54 ` François Pinard @ 2012-01-09 18:27 ` Eric S Fraga 2012-01-09 20:22 ` François Pinard 0 siblings, 1 reply; 23+ messages in thread From: Eric S Fraga @ 2012-01-09 18:27 UTC (permalink / raw) To: François Pinard; +Cc: emacs-orgmode pinard@iro.umontreal.ca (François Pinard) writes: > Russell Adams <RLAdams@AdamsInfoServ.Com> writes: >> On Sun, Nov 28, 2010 at 08:35:23PM +0100, David Maus wrote: >>> At Thu, 18 Nov 2010 18:16:22 +0100, Jonathan BISSON wrote: > >>> > Here is a little function that allows a user to insert a screenshot >>> > easily. Only works on unix-like systems where ImageMagick is installed >>> > (adapt "import" to your screenshot program if needed). > >>> Nice. Do you mind of I put the function on Org mode'S wiki (Worg) in >>> the "Org hacks" page?[1] > >> I made a minor change. File names are now generated by using the >> current org buffer filename, plus the date and time, and a unique >> number. This allows me to sort out the images better. > > For my own usage, I modified it further, like below: > > > (defun fp-org-image (name) [...] Thanks! Very nice update. I'd been using the original code for a while but prompting for the file name is quite helpful. However, if I give it a directory name, the function fails with "Cannot create image file" in the mini-buffer. With debug (note: only function name is different): ,---- | Debugger entered--Lisp error: (error "Cannot create image file") | signal(error ("Cannot create image file")) | error("Cannot create image file") | (if (file-writable-p name) nil (error "Cannot create image file")) | (unless (file-writable-p name) (error "Cannot create image file")) | (if (file-exists-p name) nil (unless (file-writable-p name) (error "Cannot create image file")) (message "Taking screenshot...") (call-process "import" nil nil nil name) (message "Taking screenshot...done")) | (unless (file-exists-p name) (unless (file-writable-p name) (error "Cannot create image file")) (message "Taking screenshot...") (call-process "import" nil nil nil name) (message "Taking screenshot...done")) | esf/org-screenshot("~/s/test") | call-interactively(esf/org-screenshot nil nil) `---- In summary, if I give it an existing file name, that works; if I give it a non-existing file name, that also works. It only fails if I give it a directory. thanks, eric -- : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.90.1 : using Org-mode version 7.8.03 (release_7.8.03.66.g1283.dirty) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-09 18:27 ` Eric S Fraga @ 2012-01-09 20:22 ` François Pinard 2012-01-10 8:57 ` Eric S Fraga 0 siblings, 1 reply; 23+ messages in thread From: François Pinard @ 2012-01-09 20:22 UTC (permalink / raw) To: emacs-orgmode Eric S Fraga <e.fraga@ucl.ac.uk> writes: > pinard@iro.umontreal.ca (François Pinard) writes: > Thanks! However, if I give it a directory name, the function fails > with "Cannot create image file" in the mini-buffer. [...] In > summary, if I give it an existing file name, that works; if I give it > a non-existing file name, that also works. It only fails if I give it > a directory. Hi, Eric. Sorry. Here is a quick correction for that problem. This is only this week that I plan to use that function for actual work; last week was rather an exploration of the capability of various tools. Of course, do not hesitate if you see that I goofed elsewhere! :-). Thanks, François (defun fp-org-image (name) "Insert a link to an already existing image, or else to a screenshot. The screenshot is either taken to the given non-existing file name, or added into the given directory, defaulting to the current one." ;; FIXME: Should limit to '("pdf" "jpeg" "jpg" "png" "ps" "eps") ;; which is org-export-latex-inline-image-extensions. (interactive "GImage name? ") (when (file-directory-p name) (setq name (concat (make-temp-name (concat (file-name-as-directory name) (subst-char-in-string "." "-" (file-name-sans-extension (file-name-nondirectory (buffer-file-name)))))) ".png"))) (unless (file-exists-p name) (unless (file-writable-p name) (debug) (error "Cannot create image file")) (message "Taking screenshot...") (call-process "import" nil nil nil name) (message "Taking screenshot...done")) (insert (concat "[[" name "]]")) (org-display-inline-images)) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-09 20:22 ` François Pinard @ 2012-01-10 8:57 ` Eric S Fraga 2012-01-10 14:53 ` François Pinard 0 siblings, 1 reply; 23+ messages in thread From: Eric S Fraga @ 2012-01-10 8:57 UTC (permalink / raw) To: François Pinard; +Cc: emacs-orgmode pinard@iro.umontreal.ca (François Pinard) writes: [...] > Hi, Eric. Sorry. Here is a quick correction for that problem. This is > only this week that I plan to use that function for actual work; last > week was rather an exploration of the capability of various tools. Of > course, do not hesitate if you see that I goofed elsewhere! :-). Thanks. This correction did not work for me out of the box. I had to add a call to expand-file-name for getting a file name which worked on my system for some reason. I also re-arranged your second (unless ...) to an (if ...): #+begin_src emacs-lisp (defun fp-org-image (name) "Insert a link to an already existing image, or else to a screenshot. The screenshot is either taken to the given non-existing file name, or added into the given directory, defaulting to the current one." ;; FIXME: Should limit to '("pdf" "jpeg" "jpg" "png" "ps" "eps") ;; which is org-export-latex-inline-image-extensions. (interactive "GImage name? ") (when (file-directory-p name) (setq name (concat (make-temp-name (expand-file-name (concat (file-name-as-directory name) (subst-char-in-string "." "-" (file-name-sans-extension (file-name-nondirectory (buffer-file-name))))))) ".png"))) (unless (file-exists-p name) (if (file-writable-p name) (progn (message "Taking screenshot into %s" name) (call-process "import" nil nil nil name) (message "Taking screenshot...done")) (error "Cannot create image file"))) (insert (concat "[[" name "]]")) (org-display-inline-images)) #+end_src This now appears to work (for me). Thanks again, eric -- : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.90.1 : using Org-mode version 7.8.03 (release_7.8.03.67.g56c73) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 8:57 ` Eric S Fraga @ 2012-01-10 14:53 ` François Pinard 2012-01-10 16:08 ` Eric S Fraga 0 siblings, 1 reply; 23+ messages in thread From: François Pinard @ 2012-01-10 14:53 UTC (permalink / raw) To: emacs-orgmode Eric S Fraga <e.fraga@ucl.ac.uk> writes: Hi again, Eric. I'll be using your corrections on the code, thanks! > I had to add a call to expand-file-name for getting a file name which > worked on my system for some reason. (make-temp-name (expand-file-name (concat (file-name-as-directory name) (subst-char-in-string "." "-" (file-name-sans-extension (file-name-nondirectory (buffer-file-name))))))) ".png"))) Not a big deal, but I wonder if it should not rather be: (make-temp-name (concat (expand-file-name (file-name-as-directory name)) (subst-char-in-string "." "-" (file-name-sans-extension (file-name-nondirectory (buffer-file-name)))))) as there is nothing to expand in the base part of the file name? > I also re-arranged your second (unless ...) to an (if ...): (if (file-writable-p name) (progn (message "Taking screenshot into %s" name) (call-process "import" nil nil nil name) (message "Taking screenshot...done")) (error "Cannot create image file")) I kept it, but I might likely revert it back routinely to the earlier state, if I later happen to revisit that code. Just to show you how maniacal I may be, let me explain. I just do not like "(progn ...)", and make stunts to avoid it. I would rather write: (if (not (file-writable-p name)) (error "Cannot create image file") (message "Taking screenshot into %s" name) (call-process "import" nil nil nil name) (message "Taking screenshot...done")) Then, besides a few exceptions, I generally do not like else clauses after returning or other escaping statements, so the above becomes: (if (not (file-writable-p name)) (error "Cannot create image file")) (message "Taking screenshot into %s" name) (call-process "import" nil nil nil name) (message "Taking screenshot...done") Finally, I avoid "(not ...)" when this is easily done. I will always exchange the two branches of an "if" to get rid of one (unless it would imply re-introducing "(progn ..."), as progn is uglier than not :-). Easier here, as "(if (not ...))" may be rewritten "(unless ...)". By the way, "(when ...)" is always nicer than a single-branched "if". Scheme is especially irritating. They said it is minimalist, and yet, they have many ways to write conditional code, forcing me to choose constantly. I will turn "(if ...)" into "(cond ...)" if a "(begin ...)" becomes necessary on either branch. And a "(cond ...)" back to an "(if ...)" if while simplifying a cond, I see it could written to an if without begin. And there is always this stretch towards tail recursion, and so many ways to reuse or not local variables as arguments, doing so. Irritating I say. And yet, I love this language. Maniacal I am, really! François P.S. If you happen to grok French, you might have fun reading me (or making fun of me reading...): http://icule.blogspot.com/1997/02/dieu-la-douleur-et-l.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 14:53 ` François Pinard @ 2012-01-10 16:08 ` Eric S Fraga 2012-01-10 19:27 ` François Pinard 0 siblings, 1 reply; 23+ messages in thread From: Eric S Fraga @ 2012-01-10 16:08 UTC (permalink / raw) To: François Pinard; +Cc: emacs-orgmode pinard@iro.umontreal.ca (François Pinard) writes: > Eric S Fraga <e.fraga@ucl.ac.uk> writes: > > Hi again, Eric. I'll be using your corrections on the code, thanks! You're welcome! >> I had to add a call to expand-file-name for getting a file name which >> worked on my system for some reason. > > (make-temp-name > (expand-file-name > (concat (file-name-as-directory name) > (subst-char-in-string > "." "-" > (file-name-sans-extension > (file-name-nondirectory > (buffer-file-name))))))) > ".png"))) > > Not a big deal, but I wonder if it should not rather be: > > (make-temp-name > (concat (expand-file-name > (file-name-as-directory name)) > (subst-char-in-string > "." "-" > (file-name-sans-extension > (file-name-nondirectory > (buffer-file-name)))))) > > as there is nothing to expand in the base part of the file name? Yes, this would be equivalent in this case. I guess I prefer the former but only for reasons of style! >> I also re-arranged your second (unless ...) to an (if ...): > > (if (file-writable-p name) > (progn > (message "Taking screenshot into %s" name) > (call-process "import" nil nil nil name) > (message "Taking screenshot...done")) > (error "Cannot create image file")) > > I kept it, but I might likely revert it back routinely to the earlier > state, if I later happen to revisit that code. > Just to show you how maniacal I may be, let me explain. I just do not > like "(progn ...)", and make stunts to avoid it. I would rather > write: Well, the progn is only there because of the debugging messages I needed to see what was happening... I should probably get to grips with the debugger instead :( [...] > Maniacal I am, really! No, simply differing styles! I appreciate your reasoning in each case I've elided but, in the end, the different versions or approaches you mention are all essentially equivalent (computationally)... :-) > François > > P.S. If you happen to grok French, you might have fun reading me (or > making fun of me reading...): > > http://icule.blogspot.com/1997/02/dieu-la-douleur-et-l.html I grok French a little (as a Canadian, albeit one from the west...) so will have a look at this when I am back online! Thanks again, eric -- : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.90.1 : using Org-mode version 7.8.03 (release_7.8.03.69.gfadca) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 16:08 ` Eric S Fraga @ 2012-01-10 19:27 ` François Pinard 2012-01-10 19:46 ` Skip Collins 2012-01-10 20:26 ` Eric S Fraga 0 siblings, 2 replies; 23+ messages in thread From: François Pinard @ 2012-01-10 19:27 UTC (permalink / raw) To: emacs-orgmode Eric S Fraga <e.fraga@ucl.ac.uk> writes: > I appreciate your reasoning in each case I've elided but, in the end, > the different versions or approaches you mention are all essentially > equivalent (computationally)... :-) Who cares about computation! :-) Some sad people think of me as a programmer. While deep down, I am fundamentally an artist. Programming is mere mean of expression :-). > Thanks again, I'm the one thanking you! François ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 19:27 ` François Pinard @ 2012-01-10 19:46 ` Skip Collins 2012-01-11 5:50 ` Jambunathan K 2012-01-14 21:35 ` François Pinard 2012-01-10 20:26 ` Eric S Fraga 1 sibling, 2 replies; 23+ messages in thread From: Skip Collins @ 2012-01-10 19:46 UTC (permalink / raw) To: emacs-org list 2012/1/10 François Pinard <pinard@iro.umontreal.ca>: > Some sad people think of me as a programmer. While deep down, I am > fundamentally an artist. Programming is mere mean of expression :-). You and Jambunathan K. should form a club. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 19:46 ` Skip Collins @ 2012-01-11 5:50 ` Jambunathan K 2012-01-12 5:26 ` Skip Collins 2012-01-14 21:35 ` François Pinard 1 sibling, 1 reply; 23+ messages in thread From: Jambunathan K @ 2012-01-11 5:50 UTC (permalink / raw) To: Skip Collins; +Cc: emacs-org list Skip Collins <skip.collins@gmail.com> writes: > 2012/1/10 François Pinard <pinard@iro.umontreal.ca>: >> Some sad people think of me as a programmer. While deep down, I am >> fundamentally an artist. Programming is mere mean of expression :-). > > You and Jambunathan K. should form a club. Since I am being dragged in to the conversaion, I am digging out a reddit post that resonated with me (in a totally different setting). The clincher is actually the last paragraph and you need to read the first few paragraphs to enjoy the last one. There is also a story at the end of this post for everyone to ponder about. ,---- From http://www.reddit.com/r/Buddhism/comments/if08k/when_did_you_first_discover_the_illusory_nature/ | At some point in my teens I'd started doing C programming. If you | don't know, computer code is usually formatted in a systematic way to | make it easier to read. Most languages give you a lot of freedom in | this, so every project has its own coding conventions. | | I was really into Linux and assumed Linus Torvalds was probably the | most wonderful genius hacker of all time. He's got his own write-up | about the Linux kernel coding style, which you can read here if you | happen to be interested. Some quotes: | | First off, I'd suggest printing out a copy of the GNU coding | standards, and NOT read it. Burn them, it's a great symbolic | gesture. | | [...] | | Tabs are 8 characters, and thus indentations are also 8 | characters. There are heretic movements that try to make | indentations 4 (or even 2! [this is the GNU standard]) characters | deep, and that is akin to trying to define the value of PI to be | 3. | | [...] | | You've probably been told by your long-time Unix user helper that | "GNU emacs" automatically formats the C sources for you, and | you've noticed that yes, it does do that, but the defaults it uses | are less than desirable (in fact, they are worse than random | typing - an infinite number of monkeys typing into GNU emacs would | never make a good program). | | So I read this at an impressionable age and it all seemed very obvious | and plainly true. Linux kernel source code, you could tell by just the | aesthetic impression of the code style, was fast, clean, and smart. It | looked good. On the other hand, the source code for GNU projects had a | weird & ugly style. | | Here's some Linux-style code: | | static char *concat(char *s1, char *s2) | { | while (x == y) { | something(); | somethingelse(); | } | finalthing(); | } | | Here's the corresponding GNU-style code: | | static char * | concat (char *s1, char *s2) | { | while (x == y) | { | something (); | somethingelse (); | } | finalthing (); | } | | But then I started using GNU Emacs and became fascinated by the | founder of GNU, Richard Stallman, who wrote Emacs and popularized this | coding convention. I gradually began to think Linus was kind of | annoying and not as profoundly creative as rms (as Mr. Stallman is | known). | | Then one day I noticed that Linux kernel code looked weird & ugly and | GNU code looked fast, clean, and smart. This was now the obvious and | plain truth. When I noticed myself feeling like this, it was obvious | that something was seriously weird with the aesthetic sense. | | And that's when I realized that subconscious judgments filter | experience in a very strange way. So I couldn't really trust myself | anymore. It was like glimpsing some uncanny fluttering in the veils of | my ego delusion... dun dun dun! | | How weird is this story? `---- My own opinion on the matter is: Great hackers have *a* style and stick religiously to it. But they remain steady and productive (even) when working with a dump (pun intended) from a different school. ,---- From http://users.rider.edu/~suler/zenstory/concentrate.html | After winning several archery contests, the young and rather boastful | champion challenged a Zen master who was renowned for his skill as an | archer. The young man demonstrated remarkable technical proficiency | when he hit a distant bull's eye on his first try, and then split that | arrow with his second shot. "There," he said to the old man, "see if | you can match that!" Undisturbed, the master did not draw his bow, but | rather motioned for the young archer to follow him up the | mountain. Curious about the old fellow's intentions, the champion | followed him high into the mountain until they reached a deep chasm | spanned by a rather flimsy and shaky log. Calmly stepping out onto the | middle of the unsteady and certainly perilous bridge, the old master | picked a far away tree as a target, drew his bow, and fired a clean, | direct hit. "Now it is your turn," he said as he gracefully stepped | back onto the safe ground. Staring with terror into the seemingly | bottomless and beckoning abyss, the young man could not force himself | to step out onto the log, no less shoot at a target. "You have much | skill with your bow," the master said, sensing his challenger's | predicament, "but you have little skill with the mind that lets loose | the shot." `---- Jambunathan K. -- ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-11 5:50 ` Jambunathan K @ 2012-01-12 5:26 ` Skip Collins 2012-01-12 6:26 ` Thomas S. Dye 0 siblings, 1 reply; 23+ messages in thread From: Skip Collins @ 2012-01-12 5:26 UTC (permalink / raw) To: Jambunathan K; +Cc: emacs-org list On Wed, Jan 11, 2012 at 12:50 AM, Jambunathan K <kjambunathan@gmail.com> wrote: >> You and Jambunathan K. should form a club. > > Since I am being dragged in to the conversaion, Of course I intend no disrespect for you or François. I have noticed that org, perhaps not surprisingly, attracts people with a certain detail-oriented aesthetic, similar in some ways to Knuth's obsessive perfectionism. While Francois fancies himself an artist who works in the medium of code, I suspect that most of those afflicted with OCD (Org Compulsive Disorder) are closer in spirit to the artisan or craftsman than to the artist. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-12 5:26 ` Skip Collins @ 2012-01-12 6:26 ` Thomas S. Dye 0 siblings, 0 replies; 23+ messages in thread From: Thomas S. Dye @ 2012-01-12 6:26 UTC (permalink / raw) To: Skip Collins; +Cc: emacs-org list, Jambunathan K Hi Skip, I love OCD! Thanks for that one. And, thank goodness the Org mode community is big enough for artists, artisans, and crafts people. I find it fascinating to use software created by such a diverse community. I've often thought I'm glimpsing the future. All the best, Tom Skip Collins <skip.collins@gmail.com> writes: > On Wed, Jan 11, 2012 at 12:50 AM, Jambunathan K <kjambunathan@gmail.com> wrote: >>> You and Jambunathan K. should form a club. >> >> Since I am being dragged in to the conversaion, > > Of course I intend no disrespect for you or François. I have noticed > that org, perhaps not surprisingly, attracts people with a certain > detail-oriented aesthetic, similar in some ways to Knuth's obsessive > perfectionism. While Francois fancies himself an artist who works in > the medium of code, I suspect that most of those afflicted with OCD > (Org Compulsive Disorder) are closer in spirit to the artisan or > craftsman than to the artist. > > -- Thomas S. Dye http://www.tsdye.com ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 19:46 ` Skip Collins 2012-01-11 5:50 ` Jambunathan K @ 2012-01-14 21:35 ` François Pinard 2012-01-15 6:37 ` Marcelo de Moraes Serpa 1 sibling, 1 reply; 23+ messages in thread From: François Pinard @ 2012-01-14 21:35 UTC (permalink / raw) To: emacs-orgmode Skip Collins <skip.collins@gmail.com> writes: > 2012/1/10 François Pinard <pinard@iro.umontreal.ca>: >> Some sad people think of me as a programmer. While deep down, I am >> fundamentally an artist. Programming is mere mean of expression :-). > You and Jambunathan K. should form a club. I do not know Jambunathan, but I'll pay attention! :-) François P.S. This Org mode mailing list is quite active. I did not pay attention in the last few days (being busy elsewhere) and messages accumulated at a relatively fast pace! ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-14 21:35 ` François Pinard @ 2012-01-15 6:37 ` Marcelo de Moraes Serpa 2012-01-15 12:10 ` Russell Adams 0 siblings, 1 reply; 23+ messages in thread From: Marcelo de Moraes Serpa @ 2012-01-15 6:37 UTC (permalink / raw) To: François Pinard; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1198 bytes --] A bit OT, but related. --- It would be *awesome* if we could somehow hook into the emacs paste/(drag-and)drop events and automatically "paste" or "drop" the image in an org buffer. I don't know if it's possible, but I imagine that if hooking into those events was somehow possible, then we could get the "event handle" with information regarding the file, and automatically insert a link to it, and if iimage is activated, it would then render the image. It would be freaking awesome, this is the only thing I miss from Evernote. --- - Marcelo. 2012/1/14 François Pinard <pinard@iro.umontreal.ca> > Skip Collins <skip.collins@gmail.com> writes: > > > 2012/1/10 François Pinard <pinard@iro.umontreal.ca>: > >> Some sad people think of me as a programmer. While deep down, I am > >> fundamentally an artist. Programming is mere mean of expression :-). > > > You and Jambunathan K. should form a club. > > I do not know Jambunathan, but I'll pay attention! :-) > > François > > P.S. This Org mode mailing list is quite active. I did not pay > attention in the last few days (being busy elsewhere) and messages > accumulated at a relatively fast pace! > > > [-- Attachment #2: Type: text/html, Size: 1800 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-15 6:37 ` Marcelo de Moraes Serpa @ 2012-01-15 12:10 ` Russell Adams 2012-01-15 19:31 ` Marcelo de Moraes Serpa 0 siblings, 1 reply; 23+ messages in thread From: Russell Adams @ 2012-01-15 12:10 UTC (permalink / raw) To: emacs-orgmode On Sun, Jan 15, 2012 at 12:37:16AM -0600, Marcelo de Moraes Serpa wrote: > A bit OT, but related. > > --- > It would be *awesome* if we could somehow hook into the emacs > paste/(drag-and)drop events and automatically "paste" or "drop" the image > in an org buffer. I don't know if it's possible, but I imagine that if > hooking into those events was somehow possible, then we could get the > "event handle" with information regarding the file, and automatically > insert a link to it, and if iimage is activated, it would then render the > image. It would be freaking awesome, this is the only thing I miss from > Evernote. > --- > > - Marcelo. Emacs has drag'n'drop support. In fact, I've been able to drag and drop image files from KDE's file manager (dolphin?) into emacs and make them custom links. .emacs: (defun dnd-from-kde (url action) (insert url) (select-frame-set-input-focus (selected-frame))) (custom-set-variables '(dnd-protocol-alist (quote (("file:///" . dnd-from-kde))))) This ought to give you a place to start. The URL format may need to change to make it an Org link, I was using file:// for another text format. ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-15 12:10 ` Russell Adams @ 2012-01-15 19:31 ` Marcelo de Moraes Serpa 2012-01-15 21:45 ` Russell Adams 0 siblings, 1 reply; 23+ messages in thread From: Marcelo de Moraes Serpa @ 2012-01-15 19:31 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1726 bytes --] Awesome! I will try that out. What about hooking into the pasting event and check when it's an image (or whatever file you want) ? Thanks, - Marcelo. On Sun, Jan 15, 2012 at 6:10 AM, Russell Adams <RLAdams@adamsinfoserv.com>wrote: > On Sun, Jan 15, 2012 at 12:37:16AM -0600, Marcelo de Moraes Serpa wrote: > > A bit OT, but related. > > > > --- > > It would be *awesome* if we could somehow hook into the emacs > > paste/(drag-and)drop events and automatically "paste" or "drop" the image > > in an org buffer. I don't know if it's possible, but I imagine that if > > hooking into those events was somehow possible, then we could get the > > "event handle" with information regarding the file, and automatically > > insert a link to it, and if iimage is activated, it would then render the > > image. It would be freaking awesome, this is the only thing I miss from > > Evernote. > > --- > > > > - Marcelo. > > Emacs has drag'n'drop support. In fact, I've been able to drag and > drop image files from KDE's file manager (dolphin?) into emacs and make > them custom links. > > .emacs: > (defun dnd-from-kde (url action) > (insert url) > (select-frame-set-input-focus (selected-frame))) > > (custom-set-variables > '(dnd-protocol-alist (quote (("file:///" . dnd-from-kde))))) > > This ought to give you a place to start. The URL format may need to > change to make it an Org link, I was using file:// for another text > format. > > > > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > [-- Attachment #2: Type: text/html, Size: 2418 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-15 19:31 ` Marcelo de Moraes Serpa @ 2012-01-15 21:45 ` Russell Adams 0 siblings, 0 replies; 23+ messages in thread From: Russell Adams @ 2012-01-15 21:45 UTC (permalink / raw) To: emacs-orgmode Marcelo, You can check out the Emacs DND (drag-n-drop) help files for more information. I'm not sure what other capabilities it has. I know that I was subscribing my function to the files event only, there were a few other types. Thanks. On Sun, Jan 15, 2012 at 01:31:02PM -0600, Marcelo de Moraes Serpa wrote: > Awesome! I will try that out. > > What about hooking into the pasting event and check when it's an image (or > whatever file you want) ? > > Thanks, > > - Marcelo. > > On Sun, Jan 15, 2012 at 6:10 AM, Russell Adams <RLAdams@adamsinfoserv.com>wrote: > > > On Sun, Jan 15, 2012 at 12:37:16AM -0600, Marcelo de Moraes Serpa wrote: > > > A bit OT, but related. > > > > > > --- > > > It would be *awesome* if we could somehow hook into the emacs > > > paste/(drag-and)drop events and automatically "paste" or "drop" the image > > > in an org buffer. I don't know if it's possible, but I imagine that if > > > hooking into those events was somehow possible, then we could get the > > > "event handle" with information regarding the file, and automatically > > > insert a link to it, and if iimage is activated, it would then render the > > > image. It would be freaking awesome, this is the only thing I miss from > > > Evernote. > > > --- > > > > > > - Marcelo. > > > > Emacs has drag'n'drop support. In fact, I've been able to drag and > > drop image files from KDE's file manager (dolphin?) into emacs and make > > them custom links. > > > > .emacs: > > (defun dnd-from-kde (url action) > > (insert url) > > (select-frame-set-input-focus (selected-frame))) > > > > (custom-set-variables > > '(dnd-protocol-alist (quote (("file:///" . dnd-from-kde))))) > > > > This ought to give you a place to start. The URL format may need to > > change to make it an Org link, I was using file:// for another text > > format. > > > > > > > > ------------------------------------------------------------------ > > Russell Adams RLAdams@AdamsInfoServ.com > > > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 > > > > ------------------------------------------------------------------ Russell Adams RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Orgmode] Automatic screenshot insertion 2012-01-10 19:27 ` François Pinard 2012-01-10 19:46 ` Skip Collins @ 2012-01-10 20:26 ` Eric S Fraga 1 sibling, 0 replies; 23+ messages in thread From: Eric S Fraga @ 2012-01-10 20:26 UTC (permalink / raw) To: François Pinard; +Cc: emacs-orgmode pinard@iro.umontreal.ca (François Pinard) writes: > Some sad people think of me as a programmer. While deep down, I am > fundamentally an artist. Programming is mere mean of expression :-). Hence: D Knuth: The Art of computer programming https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming or programming for expression (well, a form of art) instead: Prusinkiewicz & Lindenmayer (1990), The algorithmic beauty of plants [[http://algorithmicbotany.org/papers/#abop]] You can download the latter from the site! Anyway, totally and utterly OT! :-) I'm done! -- : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.92.1 : using Org-mode version 7.8.03 (release_7.8.03.73.gd2b3d) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Automatic screenshot insertion 2010-11-18 17:16 Automatic screenshot insertion Jonathan BISSON 2010-11-18 17:50 ` Sébastien Vauban 2010-11-28 19:35 ` David Maus @ 2011-02-03 13:33 ` Bastien 2 siblings, 0 replies; 23+ messages in thread From: Bastien @ 2011-02-03 13:33 UTC (permalink / raw) To: Jonathan BISSON; +Cc: emacs-orgmode Hi Jonathan, Jonathan BISSON <bissonjonathan@gmail.com> writes: > Here is a little function that allows a user to insert a screenshot > easily. Only works on unix-like systems where ImageMagick is installed > (adapt "import" to your screenshot program if needed). I added this to worg/org-hacks.org Thanks! -- Bastien ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2012-01-15 21:45 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-18 17:16 Automatic screenshot insertion Jonathan BISSON 2010-11-18 17:50 ` Sébastien Vauban 2010-11-28 19:35 ` David Maus 2011-03-29 14:43 ` [Orgmode] " Russell Adams 2011-06-06 18:59 ` David Maus 2012-01-05 4:54 ` François Pinard 2012-01-09 18:27 ` Eric S Fraga 2012-01-09 20:22 ` François Pinard 2012-01-10 8:57 ` Eric S Fraga 2012-01-10 14:53 ` François Pinard 2012-01-10 16:08 ` Eric S Fraga 2012-01-10 19:27 ` François Pinard 2012-01-10 19:46 ` Skip Collins 2012-01-11 5:50 ` Jambunathan K 2012-01-12 5:26 ` Skip Collins 2012-01-12 6:26 ` Thomas S. Dye 2012-01-14 21:35 ` François Pinard 2012-01-15 6:37 ` Marcelo de Moraes Serpa 2012-01-15 12:10 ` Russell Adams 2012-01-15 19:31 ` Marcelo de Moraes Serpa 2012-01-15 21:45 ` Russell Adams 2012-01-10 20:26 ` Eric S Fraga 2011-02-03 13:33 ` Bastien
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).