[O] Emacs org-mode timer - can it be shown in the Windows 7 taskbar?
I use Emacs org-mode for organizing my tasks and projects and also for time tracking. However, Im working a lot in other applications (mostly Microsoft Office 2007 or Firefox), so the Emacs Window is often in the background and not visible. For time tracking it would be useful to have the running clock visible all the time to see how time is passing (similar to a pomodoro timer). Is there a way to synchronize the display of this Emacs status bar (or an element of it) with the Windows 7 Taskbar?
Re: [O] How to deal with small projects which are often changing their status/ person
Hi M, it is not about programming and it is not about plain text files, but MS Office (Word) files.. Dropbox is not an option, maybe a document management system (DMS) with versioning, but it is not in place yet. And even if there is, how could I then track my workflow with Emacs? I find convenient to convert doc files to text using antiword or wvtext and then I can follow the changes easily using usual tools. Tomas
Re: [O] How to deal with small projects which are often changing their status/ person
Hi Martin, I think that you should be using tags for this. For example: * Project XYZ :projectxyz:J.Smith: ** TODO Write Text ** WAIT Feedback on Text ** TODO check feedback ** TODO send to original author ** WAIT for Feedback In this case you are adding a tag with the project name and another with the author (for example). Then when you export this to the agenda, or generate a list of pending tasks, all the subnodes of this tree will inherit the tags and you will see them associated to each task. Another option is to use a different file for each project (maybe not too practical if you have many of them). When generating a list of task you get the file name with each task. If you name the file as your project (say projectxyz.org), then you know where that task is coming from. You can add something like this to your .emacs file so you do not have to add all these small files by hand to the agenda list: ; (load-library find-lisp) (add-hook 'org-agenda-mode-hook (lambda () (setq org-agenda-files (find-lisp-find-files /home/documents/smallprojects \.org$)) )) ; With this all org files in the smallprojects folder will be added to the agenda. Hope this helps... Julian -- Julian Mariano Burgos, PhD Hafrannsóknastofnunin/Marine Research Institute Skúlagata 4, 121 Reykjavík, Iceland Sími/Telephone : +354-5752037 Bréfsími/Telefax: +354-5752001 Netfang/Email: jul...@hafro.is Hi, I'm working with org-mode to document my work and to keep track of tasks and projects. At the moment there are many little projects where I * get a text from someone (or write it myself) * have to read and edit it * send it oer email to 1 or 2 other colleagues which have to read / edit it * get it back and check the changes * maybe send the text again to the original author * then finally release the text for publication ... and you imagine, there is not only 1 such text at once but several of them. I wonder what is an approriate way to keep track of such workflows with org-mode.. I'm using MS Outlook for mails and so when I receive a mail, I store a hyperlink pointing to that mail in Outlook. For a process like the one above I would have a task * TODO Write Text about topic XY and send it to colleague(s)... then * WAIT Colleage(s): Feedback on Text about topic XY * TODO check feedback/changes of Colleagues and edit again, and send for approval * TODO send to original author * WAIT for Feedback of original author (if changes, repeat process above) * TODO send text to publishing colleague or similar... I hope it is clear what I mean, there are a lot of small steps and each time creating a new task takes much time and I have to copy the name of the project again and again... Maybe it would be better to add all the notes about the progress as notes in the Logbook and change the Heading of the task each time, but that also seems strange to me... Would there be a way to make the children inherit automatically a text from the project name, e. g. * Text about topic XY for publishing in ABC ** WAIT John: Feedback on Text about topic XY for publishing in ABC ** Send Text about topic XY for publishing in ABC to Ellen for approval ... in a way that Text about topic XY for publishing in ABC is filled in automatically by a placeholder? Or what is your way for tracking such workflows in org-mode? Kind regards Martin
[O] OT: using ZIP based files with git (was: How to deal with small projects which are often changing their status/ person)
* M elwood...@web.de wrote: it is not about programming and it is not about plain text files, but MS Office (Word) files.. Dropbox is not an option, maybe a document management system (DMS) with versioning, but it is not in place yet. I do not have experience by myself but I've read that other people are using the git versioning system with ZIP-based file formats (like docx) as well: http://tante.cc/2010/06/23/managing-zip-based-file-formats-in-git/ http://stackoverflow.com/questions/8001663/can-git-treat-zip-files-as-directories-and-files-inside-the-zip-as-blobs http://stackoverflow.com/questions/3298525/version-control-for-docx-and-pdf -- Karl Voit
Re: [O] Still Wishing for Snooze
Andrew M. Nuxoll nux...@up.edu writes: 1. Add a date tag to an entry that indicates that it is inactive until a certain date. I'm picturing something like this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-11 Tue +1w DELAY: 2013-01-24 Thu In your model, does the DELAY act as a scheduled date also? I mean, do you want the event Verify login to the virtual machines to show up in the agenda on 2013-01-24 Thu? I think it is a very good idea and I would be use it as soon as it would be ready. I might take a look as soon as I find some free time at how to implement this. It does not look too complicated. -- Konubinix GPG Key: 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A pgpB_ZQFHgMCL.pgp Description: PGP signature
[O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. With current org-babel it is not possible to set separate html attributes for result block. Simple case: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | file:123.png ` Suppose, I want to add some html attributes to image: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+attr_html: alt=big image width=100% | | #+results[f8f8...]: | file:123.png ` But when I do C-c C-c on ditaa block, it inserts one more result block: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | file:123.png | | #+attr_html: alt=big image width=100% | | #+results[f8f8...]: | file:123.png ` Because org-babel does not skip #+attr_ ... lines when searching results block with `org-babel-where-is-src-block-result' function. I've added skipping every #+attr_ line between #+end_src and #+results blocks. Patch is attached. diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 9e4c8b1..00fd715 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -1761,6 +1761,12 @@ following the source block. (progn ;; unnamed results line already exists (re-search-forward [^ \f\t\n\r\v] nil t) (beginning-of-line 1) +(while (looking-at-p [ \t]*\\#\\+[Aa][Tt][Tt][Rr]_) + (end-of-line 1) + (setq end (point)) + (re-search-forward [\n\r] nil t) + (re-search-forward [^ \f\t\n\r\v] nil t) + (beginning-of-line 1)) (looking-at (concat org-babel-result-regexp \n))) (prog1 (point) Emacs : GNU Emacs 24.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.9) of 2012-12-25 on canopus-pc.elvees.com Package: Org-mode version 7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)
Re: [O] block quotes in prose?
Hi Peter, Peter Salazar cycleofs...@gmail.com writes: 1. What's the best way to demarcate block quotes in org-mode? (setq org-fontify-quote-and-verse-blocks t) This uses the org-quote face, which inherits its properties from the org-block face -- M-x customize-face RET org-quote RET to customize the org-quote face. 2. It would also be cool to find a way to make bulleted lists appear in a different color if possible, or a workaround to simulate this. You can play around with this (highlight-regexp (org-item-re)) or (highlight-regexp (org-item-re) 'org-quote) or (highlight-regexp org-list-full-item-re 'org-quote) ... But this is hackish, temporary and half-satisfactory. HTH, -- Bastien
Re: [O] Bug: `org-next-link' doesn't wrap around [7.9.3d (7.9.3d-GNU-Emacs-24-3 (commit e8f5b0ad) @ /usr/local/share/emacs/24.3.50/lisp/org/)]
Xue Fuqiao xfq.f...@gmail.com writes: Sorry, it's my carelessness. At the limit of the buffer, the search fails once, and then wraps around, just like `isearch-forward'. There is no bug, anyway. Ok, thanks for confirming! -- Bastien
Re: [O] [PATCH] session with python-mode.el complains of void py-toggle-shells
Hi Nick, Nick Dokos writes: Myles English mylesengl...@gmail.com wrote: I think it should be possible to execute a python block in a session using python-mode.el but get this message: Symbol's function definition is void: py-toggle-shells I have made a bit of progress with the patch below. The breakage may have been due to changes in python-mode.el . The patch works for versions 6.0.10 and 6.1.0. I get in trouble much sooner than you do: when evaluating the first code block. The error in my case was that run-python was called with the wrong number of args (from the same function: it's a couple of lines before py-toggle-shells is called). I'm running GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4) of 2012-12-29 and run-python does indeed need a required arg in this version: , | run-python is an interactive autoloaded compiled Lisp function in | `python.el'. | | (run-python CMD optional DEDICATED SHOW) | | Run an inferior Python process. | Input and output via buffer named after | `python-shell-buffer-name'. If there is a process already | running in that buffer, just switch to it. ` So I changed the call to (run-python py-python-command) and then all the code blocks could execute with no problem. Has run-python changed signature recently? Doing git blame ob-python.el shows that not much has changed in that file over the last couple of years. This may or may not be the problem you are running into however. I have made some progress and the patch below passes this test: #+BEGIN_SRC emacs-lisp (add-to-list 'load-path ~/.emacs.d/plugins/org-mode/lisp) (require 'org) (org-babel-do-load-languages 'org-babel-load-languages '((python . t))) (setq org-babel-python-mode 'python-mode) #+END_SRC #+begin_src python :results output :session a import sys #+end_src #+begin_src python :results output :session a print(sys.path) #+end_src Patch: --- lisp/ob-python.el +++ lisp/ob-python.el @@ -32,7 +32,7 @@ (declare-function org-remove-indentation org ) (declare-function py-shell ext:python-mode (optional argprompt)) -(declare-function py-toggle-shells ext:python-mode (arg)) +(declare-function py-toggle-shell ext:python-mode (arg)) (declare-function run-python ext:python (optional cmd noshow new)) (defvar org-babel-tangle-lang-exts) @@ -162,16 +162,17 @@ then create. Return the initialized session. ;; Make sure that py-which-bufname is initialized, as otherwise ;; it will be overwritten the first time a Python buffer is ;; created. - (py-toggle-shells py-default-interpreter) + (py-toggle-shell py-default-interpreter) ;; `py-shell' creates a buffer whose name is the value of ;; `py-which-bufname' with '*'s at the beginning and end (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer)) (replace-regexp-in-string ;; zap surrounding * ^\\*\\([^*]+\\)\\*$ \\1 python-buffer) (concat Python- (symbol-name session - (py-which-bufname bufname)) - (py-shell) - (setq python-buffer (concat * bufname * + (py-buffer-name bufname)) + (setq python-buffer (concat * bufname *)) + (py-shell nil nil nil nil nil python-buffer) + )) (t (error No function available for running an inferior Python))) (setq org-babel-python-buffers Myles
Re: [O] session with python-mode.el complains of void py-toggle-shells
Nick Dokos nicholas.do...@hp.com writes: (run-python py-python-command) and then all the code blocks could execute with no problem. Has run-python changed signature recently? Yes, from Emacs 24.1 to Emacs 24.2. I fixed this, thanks. -- Bastien
Re: [O] [PATCH] session with python-mode.el complains of void py-toggle-shells
Hi Myles, thanks for digging into this. I'm copying Andreas as the maintainer of python-mode.el. Myles English mylesengl...@gmail.com writes: --- lisp/ob-python.el +++ lisp/ob-python.el @@ -32,7 +32,7 @@ (declare-function org-remove-indentation org ) (declare-function py-shell ext:python-mode (optional argprompt)) -(declare-function py-toggle-shells ext:python-mode (arg)) +(declare-function py-toggle-shell ext:python-mode (arg)) If this function's name changed, there should be an alias in python-mode.el. (declare-function run-python ext:python (optional cmd noshow new)) (defvar org-babel-tangle-lang-exts) @@ -162,16 +162,17 @@ then create. Return the initialized session. ;; Make sure that py-which-bufname is initialized, as otherwise ;; it will be overwritten the first time a Python buffer is ;; created. - (py-toggle-shells py-default-interpreter) + (py-toggle-shell py-default-interpreter) ;; `py-shell' creates a buffer whose name is the value of ;; `py-which-bufname' with '*'s at the beginning and end (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer)) (replace-regexp-in-string ;; zap surrounding * ^\\*\\([^*]+\\)\\*$ \\1 python-buffer) (concat Python- (symbol-name session - (py-which-bufname bufname)) - (py-shell) - (setq python-buffer (concat * bufname * + (py-buffer-name bufname)) + (setq python-buffer (concat * bufname *)) + (py-shell nil nil nil nil nil python-buffer) + )) The docstring of py-shell doesn't say much about why python-buffer would be needed as an argument here. Is it so? If yes, we need to make this compatible with previous versions of python-mode.el. (The argument PY-BUFFER-NAME is not documented in latest python-mode.el) Andreas, can you help sorting this out? Thanks, -- Bastien
[O] BUG: coderef labels not stripped when tangling
Using Org-mode to write in a literate style is a lot of fun. When I read about coderef labels, they seemed likely to make it even better. The only problem is that they aren't stripped during tangling. If you tangle this: #+BEGIN_SRC sh -n -r :noweb tangle :shebang #!/bin/sh :tangle tangle-test.sh echo Working (ref:working) #+END_SRC You end up with: #!/bin/sh echo Working (ref:working) That seems like a bug. Mike.
Re: [O] Emacs org-mode timer - can it be shown in the Windows 7 taskbar?
Hi Martin, Martin Beck elwood...@web.de writes: Is there a way to synchronize the display of this Emacs status bar (or an element of it) with the Windows 7 Taskbar? I don't know since I'm not using Windows. But if there is a Windows program for this, you can certainly use it with `org-show-notification-handler', which see. HTH, -- Bastien
Re: [O] ICS-export and Google Calendar: tags/CATEGORIES not imported
Hi Karl, Karl Voit devn...@karl-voit.at writes: In my online Google Calendar I do not see anything about those categories. On my Android devices either. Well, to me it means neither Google Calendar and the current Org Android apps support categories. It would be nice to double-check this by displayed an org-generated .ics file into an application that *does* support categories. -- Bastien
Re: [O] Latex export repeating captions
Hi Russell, Russell Adams rlad...@adamsinfoserv.com writes: I discovered my captions were growing... This seemed to fix the problem. I'm on Org 7.8.10. This bug has been fixed long time ago, please upgrade if you can! All best, -- Bastien
Re: [O] Wish: switch active time-stamps to inactive when CANCELED
Hi Viktor, Viktor Rosenfeld listuse...@gmail.com writes: #+BEGIN_SRC emacs-lisp (setq org-todo-state-tags-triggers '((CANCELLED (ARCHIVE . t #+END_SRC I shared this as a new FAQ, thanks! -- Bastien
Re: [O] Worg FAQ typo
Hi David, David Rogers davidandrewrog...@gmail.com writes: The second example at http://orgmode.org/worg/org-faq.html#org-class is not correct as shown. It appears to me that it is only missing the and signs in the appropriate places, but I can't be sure. When I add those signs then the example seems to work for me. I'd appreciate it if someone who knows better could confirm that that's all it needs. I confirm, fixed in Worg, thanks! -- Bastien
Re: [O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
Hello, vdya...@elvees.com (Дядов Васил Стоянов) writes: Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. With current org-babel it is not possible to set separate html attributes for result block. Simple case: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | file:123.png ` Suppose, I want to add some html attributes to image: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+attr_html: alt=big image width=100% | | #+results[f8f8...]: | file:123.png ` This is an invalid syntax. Attributes lines have to be sticked to the element they refer to. It is true for every element in an Org buffer, not only src blocks. Regards, -- Nicolas Goaziou
Re: [O] Bug in new exporter with babel blocks
Hello, Aaron Ecay aarone...@gmail.com writes: I’m dealing with a puzzling bug in the new exporter. As background, I’ve written a custom function to process special-blocks, to replicate in the new exporter the functionality of the org-exp-blocks package (http://orgmode.org/worg/org-contrib/org-exp-blocks.html). You needn't. org-exp-blocks functionalities are supported by the new exporter out of the box. Because I need the un-processed text inside the special-block (not parsed into an org-elements structure nor escaped for LaTeX special characters), Special blocks are de facto, recursive, much like drawers. Their contents have to be parsed. I’m not sure if this is a long-standing problem or not; this is the first time I’ve combined babel with my custom special-blocks code. I’m also at a loss of how to debug the internals of org-elements and org-export, two complex bits of machinery. I guess the value of the :contents-begin and -end properties needs to be fixed in any case. During export, the buffer being parsed isn't the original buffer, because of babel block, include keywords and macros expansion. You may want to have a look at `org-export-as' source code. Hence, :contents-begin and :contents-end properties do not refer to real buffer positions in the buffer from which `org-e-latex-special-block' is called. I’d also be happy to discover another, better way of getting the raw text content of the special-block that doesn’t succumb to this problem. If you must, you can try: (org-element-interpret-data (org-element-contents special-block)) from `org-e-latex-special-block'. Regards, -- Nicolas Goaziou
Re: [O] Still Wishing for Snooze
Hi Andrew, Andrew M. Nuxoll nux...@up.edu writes: 1. Add a date tag to an entry that indicates that it is inactive until a certain date. I'm picturing something like this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-11 Tue +1w DELAY: 2013-01-24 Thu 2. Add a command similar to org-deadline that I can use to attach a delay date to a to-do item 3. When I display my agenda, items that are delayed are not displayed. My e-lisp is pretty rusty so *any* advice or help is great. Could someone help point me to the right files and functions I'll need to modify to accomplish this? C-h v org-agenda-ignore TAB will open many doors. See C-h org-agenda-todo-ignore-timestamp RET for example: Non-nil means don't show entries with a timestamp. This applies when creating the global todo list. Valid values are: past Don't show entries for today or in the past. future Don't show entries with a timestamp in the future. The idea behind this is that if it has a future timestamp, you don't want to think about it until the date. all Don't show any entries with a timestamp in the global todo list. The idea behind this is that by setting a timestamp, you have already taken care of this item. This variable can also have an integer as a value. If positive (N), todos with a timestamp N or more days in the future will be ignored. If negative (-N), todos with a timestamp N or more days in the past will be ignored. If 0, todos with a timestamp either today or in the future will be ignored. For example, a value of -1 will exclude todos with a timestamp in the past (yesterday or earlier), while a value of 7 will exclude todos with a timestamp a week or more in the future. See also `org-agenda-todo-ignore-with-date'. See also the variable `org-agenda-tags-todo-honor-ignore-options' if you want to make his option also apply to the tags-todo list. -- Bastien
Re: [O] building org on OSX for aquamacs?
Hi Filippo, Filippo Salustri salus...@ryerson.ca writes: My current problem is that the byte-compilation of org 7.9.3d via Marmalade for Aquamacs fails such that loading org leads to the error invalid function: org-check-version. Sorry you have this problem. I advise you to avoid ELPA when installing Org for now, there are known problems here. -- Bastien
Re: [O] Bug: Effort is not displayed in mode line, patch attached [7.9.2 (7.9.2-181-ge8aaca-elpaplus @ /usr/local/share/emacs/24.2/lisp/org/)]
Hi Vasil, vasil@gmail.com (Vasil S. Diadov) writes: Efforts are not displayed in mode line due to wrong point position during fetching 'org-effort property of the text. thanks a lot for the patch, I fixed this a bit differently, but the core idea is the same. Best, -- Bastien
Re: [O] Entire missing sections in export to latex
Hi Russell, Russell Adams rlad...@adamsinfoserv.com writes: Headlines that skip levels by accident or typo, for instance copying from another document, disappear from the latex export output without warning. See below for minimum working example. HTML and ascii don't have this issue. Org version 7.8.10 on Emacs 23.3.1. This is the old exporter, I haven't tried the new one yet. This is an known issue with the old exporter, which forces you to get a correctly (i.e. complete) hierarchy of headlines. The new exporter is more flexible about this. HTH, -- Bastien
Re: [O] ICS-export and Google Calendar: tags/CATEGORIES not imported
* Bastien b...@altern.org wrote: Hi Karl, Karl Voit devn...@karl-voit.at writes: In my online Google Calendar I do not see anything about those categories. On my Android devices either. Well, to me it means neither Google Calendar and the current Org Android apps support categories. To be fair, I have to add that I do not connect my Android MobileOrg app with my Android calendar. I am using ICS-export - Webserver - Google Calendar - Android Calendar App. So what about Org - MobileOrg - Android Calendar ? Is someone able to confirm this issue of not using the categories property? It would be nice to double-check this by displayed an org-generated .ics file into an application that *does* support categories. In case of no success here either, I would plead to switch to a ICS field that gets interpreted or add it to the description field or such. -- Karl Voit
Re: [O] agenda question about representing items
Hi! * Arun Persaud apers...@lbl.gov wrote: I'm wondering if it is possible to customize this, so that it will display something like the following: filename: time projectname-subtask-TODO look into customize agenda views that is adding some breadcrumbs in front of the item to make it clearer what the context of the TODO item is. Note: When you set your cursor to the entry in the agenda, you'll notice those breadcrumbs being displayed at the echo area (bottom line). When I do face similar requirements, I tend to add tags to the headings such, that the inherited tags give me some clue about the breadcrumbs. This way, I sometimes end up with headings like this: *** Task this or that :TaskThisOrThat: Not quite perfect for a guy that loves de-duplication (I agree) but it works. -- Karl Voit
Re: [O] org-caldav feedback
Hi Eric, If I understood David right, the UTC option is just an addition to the already present options. Thus, if you used e.g. Europe/Berlin before, you do not need to change anything and in fact, you shouldn't see a difference. However, if you face time shifts between org and the caldav calendar you might try UTC. Hope that helps Torsten On 23 January 2013 07:00, Eric S Fraga e.fr...@ucl.ac.uk wrote: David Engster d...@randomsample.de writes: [...] I think I found a better solution. I pushed a change to org-caldav which allows to set org-icalendar-timezone to the string UTC, which will put events using universal time. The server should then transpose it to the timezone you have set in your SOGo preferences. It works for me (for SOGo, mind you; other calendar servers don't work well with that). David, for those of us not using SOGo (I use Google), what should we do? I've not updated the version of org-caldav I'm using yet. By the way, I will take this opportunity to say that org-caldav is working like a charm for me. Although I haven't really pushed it to the limits, for day to day stuff it's working very well. I've had to clear out the org-caldav-xxx.el file in .emacs.d a couple of times but that's typically due to my doing things on the same entry in both calendar systems (org and Google). However, clearing out the file and having org-caldav re-sync everything from scratch is a simple and good enough solution for when problems arise. Thanks again, eric -- : Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D : in Emacs 24.3.50.1 and Org release_7.9.3d-837-ge37613
Re: [O] Bug: The homepage of gnuplot-mode has been moved [7.9.3d (7.9.3d-GNU-Emacs-24-3 (commit e8f5b0ad) @ /usr/local/share/emacs/24.3.50/lisp/org/)]
Hi Xue, Xue Fuqiao xfq.f...@gmail.com writes: In (info (org) Org-Plot): Org-Plot can produce 2D and 3D graphs of information stored in org tables using `Gnuplot' `http://www.gnuplot.info/' and `gnuplot-mode' `http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html'. But the homepage of gnuplot-mode has been moved to: http://xafs.org/BruceRavel/GnuplotMode Fixed, thanks. -- Bastien
Re: [O] Using Properties in Capture Templates.
Hi Ian, Ian Barton li...@wilkesley.net writes: I want to create a capture template which prompts for certain properties in a property draw, but alos creates some other properties without prompting for a value. However, I am having trouble mixing properties which are entered by the user and blank properties. The following example shows what I mean: #+begin_src emacs-lisp (defun capture-letter-file (path) (let ((name (read-string File name: ))) (expand-file-name (format %s-%s.org (format-time-string %Y-%m-%d) name) path))) (z Letter template plain (file (capture-letter-file ~/dropbox/org/org_files/letters)) #+STARTUP: showall indent\n#+STARTUP: hidestars\n#+OPTIONS: H:2 num:nil tags:nil toc:nil timestamps:nil\n* Letter\n:PROPERTIES:\n:to_address:%^{salutation}p %^{to_name}p %^{subject}p %^{the_closing}p:END:\n ) #+end_src This produces: #+STARTUP: showall indent #+STARTUP: hidestars #+OPTIONS: H:2 num:nil tags:nil toc:nil timestamps:nil * Letter :PROPERTIES: :salutation: aaa :to_name: bbb :subject: ccc :the_closing: zzz :END: :to_address: :END: Note the two :END: values and the :to_address: is placed outside the values for which the user was prompted. I have tried omitting the :PROPERTIES: and :END: from the template and letting org create them, but still end up with the :to_address: property being placed outside the property draw. Yes, mixing interactive properties and hardcoded ones seem to produce wrong results. In the meantime, you can use this trick: (z Letter template plain (capture-letter-file ~/dropbox/org/org_files/letters)) #+STARTUP: showall indent\n#+STARTUP: hidestars\n#+OPTIONS: H:2 num:nil tags:nil toc:nil timestamps:nil\n * Letter\n :PROPERTIES:\n :to_address: %\\1\n :to_name: %\\2\n :subject: %\\3\n :the_closing: %\\4\n :END:\n # %^{salutation} %^{to_name} %^{subject} %^{the_closing} %?) He bit hackish but should work. HTH, -- Bastien
Re: [O] org-caldav feedback
Hi David, time is correct now using UTC thanks a lot. My test suite runs fine with the SOGo server, so I'm guessing it has to do with how you format your entries. Does this also happen when you put the timestamp underneath the heading? Tested and you are right. Adding a timestamp in the body doesn't get lost during sync. Actually, I guess the problem is a combination of export and import to org-mode. During the export, the timestamp gets read in correctly, however, it get stripped from the Summary line (which is good). During the import, org-caldav does not find a timestamp in the body to update and does nothing (wild speculation). A possible solution would be to teach org-caldav to update the timestamp within the node header if available. I see the problem that you might changed the text in the summary field in the caldav calendar, which potentially mess up the header (where to place the old timestamp within the context of the new text?!) but for now, I would suggest to simply search for a timestamp within the node-header and update it by adding a new timestamp at the very end (but before tags ;) ). In addition a new variable org-caldav-timestamp-pos which can be either header or body could indicate where to place the timestamp for a new entry coming from caldav. Thanks again for this great work and I really appreciate your help and effort Torsten On a general note, I find manipulating Org entries rather delicate and wonder why there are no helper functions to change things like headings, timestamps, etc., which take care of the multitude of possibilities how entries can be formatted. My guess is that org-elements might be the solution for this, but I haven't looked at it yet... -David
Re: [O] no pdf-output in lilypond code blocks
Hi Florian, Florian Beck f...@miszellen.de writes: It seems `ly-process-basic' hardcodes a --png option. If I change it to --pdf everything works fine (though it won't produce pngs any more, I guess). Of course, it should really be set as appropriate for the extension. Line 155 in ob-lilypond.el use --png. Is it okay to use --pdf --html and --svg here too? If so, I'll fix ly-process-basic so that it depends on ly-gen-png/pdf/html/svg. Thanks for confirming, -- Bastien
[O] Using Org/babel for Emacs config files (was: OT: Learning ELISP)
Hi! * Jonathan Arkell jonath...@criticalmass.com wrote: I am a huge advocate of using org files and literate programming in your config files. Great. I am not completely convinced to convert my config to org/babel but I am not oppose either. Not sure, if there are that many advantages, that it is worth my effort, that's all. A few reasons why: - Makes it easy to logically group sections of your init and configuration Well, this is also possible with pure elisp and comments. Folding is a different topic tough. - Agenda tags search on your initialization file? Yes please! Extremely useful for those cross-cutting bits. I have tags like keybinding, osx and linux, and working on others as appropriate. Hm. Interesting but I guess this is not my use-case (except for :keybinding:). I do use (when (system-is-linux) ... ) and similar all over my configuration. Although I am a huge fan of tagging, I don't see the use when editing my emacs config (yet). - Add TODOs to your init file. I am using ~/org/mainfile.org - * shorts - ** TODO do this :hostname: all the time. Also for my config tasks. No worries: I do see your point but I like to have all my sysadmin-tasks combined in mainfile.org/shorts. So maybe this is just me. Here is my example, but I stand on the shoulders of giants: https://github.com/jonnay/emagicians-starter-kit Thanks for sharing! One thing which I would appreciate would be that it is more easy to write documentation (including URLs; outside of elisp sections) in org. Naive question: Are there any performance issues with not being able to compile my config.org to config.elc as it is possible with config.el files? -- Karl Voit
Re: [O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
Why syntax is invalid? I've taken a look at the source code in org-elements.el and found that it is taking into account some expressions, like #+results: and so on(see org-element-affiliated-keywords, org-element--affiliated-re) when attaching properties to objects. And everything works fine (attributes were attached to right objects), except org-babel strategy for searching #+results: expression for updating results. What could you suggest in my case? When I put attributes right before link to the image file, I get: initial code: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | #+attr_html: alt=big image width=100% | file:123.png ` C-c C-c, result: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | file:123.png | | #+attr_html: alt=big image width=100% | file:123.png ` With best regards, Vasil
Re: [O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
vdya...@elvees.com (Дядов Васил Стоянов) writes: Why syntax is invalid? Affiliated keywords have to be put above elements they refer to, without a blank line in-between. I've taken a look at the source code in org-elements.el and found that it is taking into account some expressions, like #+results: and so on(see org-element-affiliated-keywords, org-element--affiliated-re) when attaching properties to objects. And everything works fine (attributes were attached to right objects), except org-babel strategy for searching #+results: expression for updating results. What could you suggest in my case? When I put attributes right before link to the image file, I get: initial code: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | #+attr_html: alt=big image width=100% | file:123.png ` C-c C-c, result: , | #+begin_src ditaa :file 123.png :cache yes | ... | #+end_src | | #+results[f8f8...]: | file:123.png | | #+attr_html: alt=big image width=100% | file:123.png ` Elements doesn't care about order for affiliated keywords (here results and attr_html), but Babel, which isn't built on Elements (yet), does. Hence, I suggest: #+attr_html: ... #+results: ... file Regards, -- Nicolas Goaziou
[O] #+headers: :tangle doesn't work
Hi, I'd just like to record a minor inconsistency in case anyone is looking at the code and decides they can change it. The tangle variable can't go in the #+headers line: #+headers: :tangle a.sh #+begin_src sh echo this won't be tangled #+end_src #+begin_src sh :tangle a.sh echo this will be tangled #+end_src Thanks, Myles
Re: [O] Still Wishing for Snooze
Hi Andrew On Mon, Jan 21, 2013 at 7:20 PM, Andrew M. Nuxoll nux...@up.edu wrote: I'd like to modify the org-mode code to support the following: 1. Add a date tag to an entry that indicates that it is inactive until a certain date. I'm picturing something like this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-11 Tue +1w DELAY: 2013-01-24 Thu (I assume you meant Tue Jan 08: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-08 Tue +1w DELAY: 2013-01-24 Thu ) Such tasks I do like follows, starting with: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-08 Tue +1w Then set to DONE as many times as necessary to get it to the first regular repetition in the future: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-29 Tue +1w Then add the one irregular date just as a normal SCHEDULED: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-01-29 Tue +1w At or after 2013-01-24 when the task is done go to the irregular date with TAB from the agenda view and delete the line, resulting again in: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-29 Tue +1w Michael
[O] More decoration for babel output
Hi all, When exporting to HTML I always add some extra CSS to my org-mode config, for the purpose of identifying which chunks are input vs. output, and for identifying the language of the code in code chunks. Language is identified by a little label on the box, and input/output is identified by green/red. Would this be helpful to include by default? Patch attached. -- Ken Williams, Senior Research Scientist WindLogics http://windlogics.com CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of any kind is strictly prohibited. If you are not the intended recipient, please contact the sender via reply e-mail and destroy all copies of the original message. Thank you. From 37ba52c7911b88c6879179311571654ded0273dd Mon Sep 17 00:00:00 2001 From: Ken Williams ken.willi...@windlogics.com Date: Wed, 23 Jan 2013 10:14:50 -0600 Subject: [PATCH 1/1] Add background color and language-label to CSS for babel blocks. --- lisp/org-html.el | 24 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/lisp/org-html.el b/lisp/org-html.el index 224a103..5e34385 100644 --- a/lisp/org-html.el +++ b/lisp/org-html.el @@ -170,6 +170,30 @@ for the JavaScript code in this tag. font-size: 90%; overflow:auto; } + + /* Some decoration for source code blocks and their output. */ + pre.src { +background-color: #F5FFF5; +position: relative; +overflow: visible; +margin-right: auto; + } + pre.src:before { +position: absolute; +top: -15px; +background: #ff; +padding: 1px; +border: 1px solid #00; +font-size: small; + } + pre.src-sh:before { content: 'sh'; } + pre.src-bash:before { content: 'sh'; } + pre.src-R:before{ content: 'R'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-java:before { content: 'Java'; } + pre.src-sql:before { content: 'SQL'; } + pre.example { background-color: #FFF5F5; } + table { border-collapse: collapse; } td, th { vertical-align: top; } th.right { text-align:center; } -- 1.7.9
Re: [O] Wish: switch active time-stamps to inactive when CANCELED
Hi Bastien, Bastien wrote: Viktor Rosenfeld listuse...@gmail.com writes: #+BEGIN_SRC emacs-lisp (setq org-todo-state-tags-triggers '((CANCELLED (ARCHIVE . t #+END_SRC I shared this as a new FAQ, thanks! The credit should go to Bernt Hansen. I found it in his org-mode setup. Cheers, Viktor
Re: [O] More decoration for babel output
Ken Williams dijo [Wed, Jan 23, 2013 at 04:26:54PM +]: Hi all, When exporting to HTML I always add some extra CSS to my org-mode config, for the purpose of identifying which chunks are input vs. output, and for identifying the language of the code in code chunks. Language is identified by a little label on the box, and input/output is identified by green/red. Would this be helpful to include by default? Patch attached. As for me, with slight adaptations, I am including it in my operating systems class notes. Thanks!
[O] org-plus-contrib: Invalid function: org-no-popups
Hello, I just installed org-plus-contrib from org's elpa repository, coming From custom git checkout. After removing the (require 'org-install) (because of the warning it now generates) I get the following error when trying to open the agenda dispatcher: --8---cut here---start-8--- Debugger entered--Lisp error: (invalid-function org-no-popups) org-no-popups(#buffer *Agenda Commands*) org-switch-to-buffer-other-window( *Agenda Commands*) byte-code(...) org-agenda-get-restriction-and-command(nil) byte-code(...) org-agenda(nil) call-interactively(org-agenda nil nil) --8---cut here---end---8--- (byte-code removed for sanity) I installed the following package: org-plus-contrib 20130121 installed Outline-based notes management and organizer Any hints? Googling just pointed me to a mail thread where removing, restarting Emacs and re-installing the package fixed everything - that doesn't work for me. I'm thankful for any pointers. Cheers, Moritz Ulrich -- Moritz Ulrich pgp6XE4zeX8CH.pgp Description: PGP signature
Re: [O] [PATCH] session with python-mode.el complains of void py-toggle-shells
Am 23.01.2013 14:04, schrieb Bastien: Hi Myles, thanks for digging into this. I'm copying Andreas as the maintainer of python-mode.el. Myles English mylesengl...@gmail.com writes: --- lisp/ob-python.el +++ lisp/ob-python.el @@ -32,7 +32,7 @@ (declare-function org-remove-indentation org ) (declare-function py-shell ext:python-mode (optional argprompt)) -(declare-function py-toggle-shells ext:python-mode (arg)) +(declare-function py-toggle-shell ext:python-mode (arg)) Hi Bastien, If this function's name changed, there should be an alias in python-mode.el. right (declare-function run-python ext:python (optional cmd noshow new)) (defvar org-babel-tangle-lang-exts) @@ -162,16 +162,17 @@ then create. Return the initialized session. ;; Make sure that py-which-bufname is initialized, as otherwise ;; it will be overwritten the first time a Python buffer is ;; created. - (py-toggle-shells py-default-interpreter) + (py-toggle-shell py-default-interpreter) ;; `py-shell' creates a buffer whose name is the value of ;; `py-which-bufname' with '*'s at the beginning and end (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer)) (replace-regexp-in-string ;; zap surrounding * ^\\*\\([^*]+\\)\\*$ \\1 python-buffer) (concat Python- (symbol-name session - (py-which-bufname bufname)) - (py-shell) - (setq python-buffer (concat * bufname * + (py-buffer-name bufname)) + (setq python-buffer (concat * bufname *)) + (py-shell nil nil nil nil nil python-buffer) + )) The docstring of py-shell doesn't say much about why python-buffer would be needed as an argument here. Is it so? If yes, we need to make this compatible with previous versions of python-mode.el. (The argument PY-BUFFER-NAME is not documented in latest python-mode.el) Andreas, can you help sorting this out? Thanks, Okay, I'll dig into. For the moment: assume this code should not be needed, python-mode.el should act that all. But let me have a closer look, Cheers, Andreas
Re: [O] Still Wishing for Snooze
Michael: Thank you for this info. I didn't know that you could add two scheduled dates to a task! Unfortunately, org-mode doesn't handle the dual schedule the way I would wish. For example if I have: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-01-29 Tue +1w and I mark the item as done via agenda mode (by hitting 't') it changes to this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-02-05 Tue +1w Thus it not only doesn't appear from my to-do list but it skips a rescheduled event that I don't want to have skipped. Am I doing it wrong? Even if this is the best org-mode can do at the moment, it's a better solution than what I have been doing. Thank you, :AMN: On 01/23/2013 07:49 AM, Michael Brand wrote: Hi Andrew On Mon, Jan 21, 2013 at 7:20 PM, Andrew M. Nuxoll nux...@up.edu wrote: I'd like to modify the org-mode code to support the following: 1. Add a date tag to an entry that indicates that it is inactive until a certain date. I'm picturing something like this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-11 Tue +1w DELAY: 2013-01-24 Thu (I assume you meant Tue Jan 08: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-08 Tue +1w DELAY: 2013-01-24 Thu ) Such tasks I do like follows, starting with: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-08 Tue +1w Then set to DONE as many times as necessary to get it to the first regular repetition in the future: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-29 Tue +1w Then add the one irregular date just as a normal SCHEDULED: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-01-29 Tue +1w At or after 2013-01-24 when the task is done go to the irregular date with TAB from the agenda view and delete the line, resulting again in: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-29 Tue +1w Michael -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145Email: nux...@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217
Re: [O] Still Wishing for Snooze
Sam: I'd be delighted if you did this. I suspect you could do it in 1/10th the time that it would take me to figure it out. In the example below, I would want the Verify login... entry to reappear on the agenda starting on 2013-01-24 Thu. The easiest way to do this might be to just automatically delete the DELAY entry on that date. I imagine adding code to add the DELAY entry would be easy. The hard part is getting the agenda display to honor the DELAY entry when it is present and also to delete the DELAY entry when its associated date is reached. I've no idea where to add that functionality in the org-mode code. :AMN: On 01/23/2013 02:42 AM, Samuel Loury wrote: Andrew M. Nuxoll nux...@up.edu writes: 1. Add a date tag to an entry that indicates that it is inactive until a certain date. I'm picturing something like this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-11 Tue +1w DELAY: 2013-01-24 Thu In your model, does the DELAY act as a scheduled date also? I mean, do you want the event Verify login to the virtual machines to show up in the agenda on 2013-01-24 Thu? I think it is a very good idea and I would be use it as soon as it would be ready. I might take a look as soon as I find some free time at how to implement this. It does not look too complicated. -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145Email: nux...@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217
Re: [O] Still Wishing for Snooze
Hi Andrew On Wed, Jan 23, 2013 at 7:51 PM, Andrew M. Nuxoll nux...@up.edu wrote: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-01-29 Tue +1w and I mark the item as done via agenda mode (by hitting 't') it changes to this: * TODO [#B] Verify login to the virtual machines SCHEDULED: 2013-01-24 Thu SCHEDULED: 2013-02-05 Tue +1w Thus it not only doesn't appear from my to-do list but it skips a rescheduled event that I don't want to have skipped. Am I doing it wrong? This solution works only with some extra care: Before setting any timestamped TODO agenda entry to DONE I always check with SPACE in the agenda buffer how the timestamps look like. In this case I see that it will repeat, but when the current day is before 2013-01-29 then it should not yet increment and I do not set to DONE but instead remove the SCHEDULED for 2013-01-24 as described in my last post. Michael
Re: [O] org-caldav feedback
Torsten Wagner writes: If I understood David right, the UTC option is just an addition to the already present options. Thus, if you used e.g. Europe/Berlin before, you do not need to change anything and in fact, you shouldn't see a difference. Yes, exactly. -David
Re: [O] org-caldav feedback
Torsten Wagner writes: I see the problem that you might changed the text in the summary field in the caldav calendar, which potentially mess up the header (where to place the old timestamp within the context of the new text?!) but for now, I would suggest to simply search for a timestamp within the node-header and update it by adding a new timestamp at the very end (but before tags ;) ). Yes, something like this needs to be done. As I've written in my last mail, I'm hoping for a more general solution. I'm guessing that org-elements can help me with this, but I haven't yet looked at it in detail. In addition a new variable org-caldav-timestamp-pos which can be either header or body could indicate where to place the timestamp for a new entry coming from caldav. Hmm. What are the advantages of putting it in the header? -David
Re: [O] org-caldav feedback
Eric S. Fraga writes: I've had to clear out the org-caldav-xxx.el file in .emacs.d a couple of times but that's typically due to my doing things on the same entry in both calendar systems (org and Google). If you change an item in Org as well as in the Calendar, the calendar entry should simply get overwritten with the change you did in Org. So while this Org always wins strategy doesn't qualify as proper conflict handling, I still wonder why you had to restart from scratch? Anyway, this is a temporary issue; I will add proper conflict handling in the coming weeks. -David
[O] Editing comments or strings in Org mode
Hi, Org people. It is often suggested that literate Org programming means interspersing program fragments within an Org file. For practical reasons, I rather prefer adding Org documentation into my programs. So this helping tool which pops out a temporary Org mode buffer with the contents of the current block comment or (doc-)string, and which replaces the original once the editing is done. Some remaining issues, I know, and surely lots I do not know! The tool is usable enough to be shared, for those who would happen to have a use for it. I put it there: https://github.com/pinard/PopOrg Keep happy, all! François
Re: [O] Feature: Group and limit items in agenda
For me this is enough. However, I wonder whether this could be useful for others. The proposed feature is a general group by and limit: - In agenda view, you are able to group todo or agendas with a certain criterion (category, tags..) - You are able to restrict the items shown in this group. Optionally, some special todo states could be unlimited. For example, I only want to limit the number of TODO tasks, while seeing all the DONE tasks. For others, maybe they want to see all the NEXT tasks, but limiting the number of TODO tasks. I wonder how many people would be interested in this feature. Otherwise it would just be a waste of time to generalize my personal taste. This sounds like a good idea. I'd love to group my different tasks in the agenda, instead of getting them sorted by due dates. Regards, Alexander
Re: [O] Using Org/babel for Emacs config files (was: OT: Learning ELISP)
I also have my Emacs configuration in org mode and it is really great. Before moving to an org-mode initialization file I had multiple elisp files and the main initialization file loaded the individual files. But having everything in one place with the outline and search powers of org-modemuch better. You can even put todos there if you want. There are many benefits of using tags in your initialization. You can, for instance, put a Keybinds tag in all headlines that change some keybindings. You can put a Flymake tag in all headlines configuring flymake for the different programming languages you use. If you need to locate the flymake configuration specific for python, for instance, all that is necessary is to do a tag search for the Flymake and Python tags. Note that Emacs does not evaluate your initialization org-mode file directly. It tangles all elisp blocks in that file to an elisp file and then load that elisp file as usual. The tangling can be slow if you have many blocks, but it only does that once after editing the org-mode file. Therefore, you don't get a performance hit by having your initialization in an org-mode file. You can also take advantage of this tangle process. For instance, I have a Themes headline where each child headline configures Emacs with a different theme. I set the TANGLE property of all of these headlines to no except one. Then Emacs will use that theme. You can easily enable/disable big parts of your configuration like this and I find it easier then commenting and uncommenting different parts of an elisp file. For visual feedback, I like to add the COMMENT keyword in the headlines where I have set the TANGLE property to no. -- Darlan At Wed, 23 Jan 2013 15:40:35 +0100, Karl Voit wrote: Hi! * Jonathan Arkell jonath...@criticalmass.com wrote: I am a huge advocate of using org files and literate programming in your config files. Great. I am not completely convinced to convert my config to org/babel but I am not oppose either. Not sure, if there are that many advantages, that it is worth my effort, that's all. A few reasons why: - Makes it easy to logically group sections of your init and configuration Well, this is also possible with pure elisp and comments. Folding is a different topic tough. - Agenda tags search on your initialization file? Yes please! Extremely useful for those cross-cutting bits. I have tags like keybinding, osx and linux, and working on others as appropriate. Hm. Interesting but I guess this is not my use-case (except for :keybinding:). I do use (when (system-is-linux) ... ) and similar all over my configuration. Although I am a huge fan of tagging, I don't see the use when editing my emacs config (yet). - Add TODOs to your init file. I am using ~/org/mainfile.org - * shorts - ** TODO do this :hostname: all the time. Also for my config tasks. No worries: I do see your point but I like to have all my sysadmin-tasks combined in mainfile.org/shorts. So maybe this is just me. Here is my example, but I stand on the shoulders of giants: https://github.com/jonnay/emagicians-starter-kit Thanks for sharing! One thing which I would appreciate would be that it is more easy to write documentation (including URLs; outside of elisp sections) in org. Naive question: Are there any performance issues with not being able to compile my config.org to config.elc as it is possible with config.el files? -- Karl Voit
Re: [O] Using Org/babel for Emacs config files (was: OT: Learning ELISP)
Building on these idea, eric schulte's emacs 24 starter kit actually uses tags to configure what should and shouldn't be tangled, to make things easily configurable by others (not really a feature most of us are looking for in configs, but interesting nonetheless). Check out the starter-kit-load function in https://raw.github.com/eschulte/emacs24-starter-kit/master/starter-kit.org On Wed, Jan 23, 2013 at 2:06 PM, Darlan Cavalcante Moreira darc...@gmail.com wrote: I also have my Emacs configuration in org mode and it is really great. Before moving to an org-mode initialization file I had multiple elisp files and the main initialization file loaded the individual files. But having everything in one place with the outline and search powers of org-modemuch better. You can even put todos there if you want. There are many benefits of using tags in your initialization. You can, for instance, put a Keybinds tag in all headlines that change some keybindings. You can put a Flymake tag in all headlines configuring flymake for the different programming languages you use. If you need to locate the flymake configuration specific for python, for instance, all that is necessary is to do a tag search for the Flymake and Python tags. Note that Emacs does not evaluate your initialization org-mode file directly. It tangles all elisp blocks in that file to an elisp file and then load that elisp file as usual. The tangling can be slow if you have many blocks, but it only does that once after editing the org-mode file. Therefore, you don't get a performance hit by having your initialization in an org-mode file. You can also take advantage of this tangle process. For instance, I have a Themes headline where each child headline configures Emacs with a different theme. I set the TANGLE property of all of these headlines to no except one. Then Emacs will use that theme. You can easily enable/disable big parts of your configuration like this and I find it easier then commenting and uncommenting different parts of an elisp file. For visual feedback, I like to add the COMMENT keyword in the headlines where I have set the TANGLE property to no. -- Darlan At Wed, 23 Jan 2013 15:40:35 +0100, Karl Voit wrote: Hi! * Jonathan Arkell jonath...@criticalmass.com wrote: I am a huge advocate of using org files and literate programming in your config files. Great. I am not completely convinced to convert my config to org/babel but I am not oppose either. Not sure, if there are that many advantages, that it is worth my effort, that's all. A few reasons why: - Makes it easy to logically group sections of your init and configuration Well, this is also possible with pure elisp and comments. Folding is a different topic tough. - Agenda tags search on your initialization file? Yes please! Extremely useful for those cross-cutting bits. I have tags like keybinding, osx and linux, and working on others as appropriate. Hm. Interesting but I guess this is not my use-case (except for :keybinding:). I do use (when (system-is-linux) ... ) and similar all over my configuration. Although I am a huge fan of tagging, I don't see the use when editing my emacs config (yet). - Add TODOs to your init file. I am using ~/org/mainfile.org - * shorts - ** TODO do this :hostname: all the time. Also for my config tasks. No worries: I do see your point but I like to have all my sysadmin-tasks combined in mainfile.org/shorts. So maybe this is just me. Here is my example, but I stand on the shoulders of giants: https://github.com/jonnay/emagicians-starter-kit Thanks for sharing! One thing which I would appreciate would be that it is more easy to write documentation (including URLs; outside of elisp sections) in org. Naive question: Are there any performance issues with not being able to compile my config.org to config.elc as it is possible with config.el files? -- Karl Voit
Re: [O] agenda question about representing items [PATCH]
Hi thanks everyone for the feedback! With it I managed to use the %(expression) in org-agenda-prefix-format to show the breadcrumbs. In case that's useful for other people too, I attached a patch that adds a %b option to org-agenda-prefix-format to does the same. Would be great, if this could be included. Thanks Arun From 2b22b753485bbb522f1f08902bd37c673b241637 Mon Sep 17 00:00:00 2001 From: Arun Persaud apers...@lbl.gov Date: Wed, 23 Jan 2013 15:21:31 -0800 Subject: [PATCH] added option %b to dispaly breadcrumbs in agenda if org file has the structure * project ** task1 *** TODO item1 then when using %b in org-agenda-prefix-format will display project-taks1-TODO item1 --- lisp/org-agenda.el | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index f48ff6f..9716345 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -1522,6 +1522,7 @@ This format works similar to a printf format, with the following meaning: %T the last tag of the item (ignore inherited tags, which come first) %t the HH:MM time-of-day specification if one applies to the entry %s Scheduling/Deadline information, a short string + %b show breadcrumbs, i.e., the names of the higher levels %(expression) Eval EXPRESSION and replace the control string by the result @@ -6301,6 +6302,9 @@ The flag is set if the currently compiled format contains a `%T'.) (defvar org-prefix-has-effort nil A flag, set by `org-compile-prefix-format'. The flag is set if the currently compiled format contains a `%e'.) +(defvar org-prefix-has-breadcrumbs nil + A flag, set by `org-compile-prefix-format'. +The flag is set if the currently compiled format contains a `%b'.) (defvar org-prefix-category-length nil Used by `org-compile-prefix-format' to remember the category field width.) (defvar org-prefix-category-max-length nil @@ -6448,6 +6452,10 @@ Any match of REMOVE-RE will be removed from TXT. ..))) (t )) extra (or (and (not habitp) extra) ) + breadcrumbs (let ((m (org-get-at-bol 'org-marker))) + (org-with-point-at m + (let ((s (org-display-outline-path nil nil - t))) + (concat s - category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level )) @@ -6478,6 +6486,7 @@ Any match of REMOVE-RE will be removed from TXT. 'duration duration 'effort effort 'effort-minutes neffort + 'breadcrumbs breadcrumbs 'txt txt 'level level 'time time @@ -6577,7 +6586,8 @@ and stored in the variable `org-prefix-format-compiled'. (setq org-prefix-has-time nil org-prefix-has-tag nil org-prefix-category-length nil - org-prefix-has-effort nil) + org-prefix-has-effort nil + org-prefix-has-breadcrumbs nil) (let ((s (cond ((stringp org-agenda-prefix-format) org-agenda-prefix-format) @@ -6586,11 +6596,11 @@ and stored in the variable `org-prefix-format-compiled'. (t %-12:c%?-12t% s))) (start 0) varform vars var e c f opt) -(while (string-match %\\(\\?\\)?\\([-+]?[0-9.]*\\)\\([ .;,:!?=|/]?\\)\\([cltsei]\\|(.+)\\) +(while (string-match %\\(\\?\\)?\\([-+]?[0-9.]*\\)\\([ .;,:!?=|/]?\\)\\([cltseib]\\|(.+)\\) s start) (setq var (or (cdr (assoc (match-string 4 s) '((c . category) (t . time) (l . level) (s . extra) - (i . category-icon) (T . tag) (e . effort + (i . category-icon) (T . tag) (e . effort) (b . breadcrumbs 'eval) c (or (match-string 3 s) ) opt (match-beginning 1) @@ -6598,6 +6608,7 @@ and stored in the variable `org-prefix-format-compiled'. (if (equal var 'time) (setq org-prefix-has-time t)) (if (equal var 'tag) (setq org-prefix-has-tag t)) (if (equal var 'effort) (setq org-prefix-has-effort t)) + (if (equal var 'breadcrumbs) (setq org-prefix-has-breadcumbs t)) (setq f (concat % (match-string 2 s) s)) (when (equal var 'category) (setq org-prefix-category-length @@ -6624,7 +6635,8 @@ and stored in the variable `org-prefix-format-compiled'. `((org-prefix-has-time ,org-prefix-has-time) (org-prefix-has-tag ,org-prefix-has-tag) (org-prefix-category-length ,org-prefix-category-length) - (org-prefix-has-effort ,org-prefix-has-effort)) + (org-prefix-has-effort ,org-prefix-has-effort) + (org-prefix-has-has-breadcrumbs ,org-prefix-has-breadcrumbs)) `(format ,s ,@vars)) (defun org-set-sorting-strategy (key) -- 1.8.1.1
Re: [O] Using Org/babel for Emacs config files
Hi, Naive question: Are there any performance issues with not being able to compile my config.org to config.elc as it is possible with config.el files? I used an init.org file in my initialization, and as long as you haven't recently modified your init.org, emacs won't re-tangle the org file (ie its as if you have a config.el file that's getting loaded) Of course, you can set emacs up to automatically recompile the config.el file when its generated so, there are literally no performance issues because you can still compile elisp code to load with the exception of when you edit your configuration. Dave Karl Voit devn...@karl-voit.at writes: Hi! * Jonathan Arkell jonath...@criticalmass.com wrote: I am a huge advocate of using org files and literate programming in your config files. Great. I am not completely convinced to convert my config to org/babel but I am not oppose either. Not sure, if there are that many advantages, that it is worth my effort, that's all. A few reasons why: - Makes it easy to logically group sections of your init and configuration Well, this is also possible with pure elisp and comments. Folding is a different topic tough. - Agenda tags search on your initialization file? Yes please! Extremely useful for those cross-cutting bits. I have tags like keybinding, osx and linux, and working on others as appropriate. Hm. Interesting but I guess this is not my use-case (except for :keybinding:). I do use (when (system-is-linux) ... ) and similar all over my configuration. Although I am a huge fan of tagging, I don't see the use when editing my emacs config (yet). - Add TODOs to your init file. I am using ~/org/mainfile.org - * shorts - ** TODO do this :hostname: all the time. Also for my config tasks. No worries: I do see your point but I like to have all my sysadmin-tasks combined in mainfile.org/shorts. So maybe this is just me. Here is my example, but I stand on the shoulders of giants: https://github.com/jonnay/emagicians-starter-kit Thanks for sharing! One thing which I would appreciate would be that it is more easy to write documentation (including URLs; outside of elisp sections) in org. Naive question: Are there any performance issues with not being able to compile my config.org to config.elc as it is possible with config.el files?
Re: [O] org-caldav feedback
Torsten Wagner torsten.wag...@gmail.com writes: Hi Eric, If I understood David right, the UTC option is just an addition to the already present options. Thus, if you used e.g. Europe/Berlin before, you do not need to change anything and in fact, you shouldn't see a difference. However, if you face time shifts between org and the caldav calendar you might try UTC. Hope that helps It does. Thanks! I don't actually specify anything and everything seems to be fine re: time zones. I will upgrade my copy of org-caldav. -- : Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D : in Emacs 24.3.50.1 and Org release_7.9.3d-837-ge37613
Re: [O] org-caldav feedback
David Engster d...@randomsample.de writes: Eric S. Fraga writes: I've had to clear out the org-caldav-xxx.el file in .emacs.d a couple of times but that's typically due to my doing things on the same entry in both calendar systems (org and Google). If you change an item in Org as well as in the Calendar, the calendar entry should simply get overwritten with the change you did in Org. So while this Org always wins strategy doesn't qualify as proper conflict handling, I still wonder why you had to restart from scratch? Who knows? I was mucking about quite a bit and I obviously confused the system! As I said, no worries as the fix was straightforward. Anyway, this is a temporary issue; I will add proper conflict handling in the coming weeks. I look forward to it! Thanks, eric -- : Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D : in Emacs 24.3.50.1 and Org release_7.9.3d-837-ge37613
Re: [O] Using Org/babel for Emacs config files
Karl Voit devn...@karl-voit.at writes: Hi, I am not completely convinced to convert my config to org/babel but I am not oppose either. Not sure, if there are that many advantages, that it is worth my effort, that's all. its a bit like writing with LaTeX - in some simpler but common cases its just great to write your stuff in Org and simply press a few keys for the LaTeX export. But dealing with LaTeX AND Org-mode when writing a big complex document might not be such a good idea, there will be enough problems with LaTeX only. I must admit I went back from Org-based multi-file config to a single big .el init file because of two reasons: - I frequently found myself looking for stuff in the tangled .el files instead of the .org files, because I was only interested in the lisp code and did not want to see all those comments in the .org files. - after figuring out that I can have full outline functionality in .el files too, the (in my eyes) main advantage of an org-based config was gone. Otherwise I really liked the org based starter-kit, it was well organized and definitely better than what I had before. -- cheers, Thorsten
[O] [PATCH] Turning off wrapping
I have file with a large number of SRC blocks, the output of which I want to wrap as SRC (so I can use the listings package to format them distinctly). The easiest way to do this is to make :wrap a global property. Unfortunately, there are also a couple of places where I want to turn off the wrapping, especially where I include source in-line. For example, this: #+PROPERTY: wrap SRC fundamental #+BEGIN_SRC emacs-lisp This output comes from emacs. #+END_SRC This in-line src_emacs-lisp[:results value]{block} is wrapped. produces: , | This output comes from emacs. ` This in-line #+BEGIN_SRC fundamental block#+END_SRC is wrapped. If I pass an empty :wrap in the in-line block, the result is still wrapped, but as RESULTS instead of source. The attached patch attempts to change this behaviour. Does anyone else find this desirable? Is this patch a good way to do it? Kind Regards, Mike diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 9e4c8b1..4d73fcc 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -1999,7 +1999,8 @@ code the results are extracted in the syntax of the source (setq end (point-marker)) ;; possibly wrap result (cond - ((assoc :wrap (nth 2 info)) + ((and (assoc :wrap (nth 2 info)) + (cdr (assoc :wrap (nth 2 info (let ((name (or (cdr (assoc :wrap (nth 2 info))) RESULTS))) (funcall wrap (concat #+BEGIN_ name) (concat #+END_ (car (org-split-string name)) signature.asc Description: OpenPGP digital signature
Re: [O] block quotes in prose?
This is awesome, thank you. I'll play around with it! On Wed, Jan 23, 2013 at 7:44 AM, Bastien b...@altern.org wrote: Hi Peter, Peter Salazar cycleofs...@gmail.com writes: 1. What's the best way to demarcate block quotes in org-mode? (setq org-fontify-quote-and-verse-blocks t) This uses the org-quote face, which inherits its properties from the org-block face -- M-x customize-face RET org-quote RET to customize the org-quote face. 2. It would also be cool to find a way to make bulleted lists appear in a different color if possible, or a workaround to simulate this. You can play around with this (highlight-regexp (org-item-re)) or (highlight-regexp (org-item-re) 'org-quote) or (highlight-regexp org-list-full-item-re 'org-quote) ... But this is hackish, temporary and half-satisfactory. HTH, -- Bastien
Re: [O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
Hi, Nicolas Goaziou n.goaz...@gmail.com writes: Affiliated keywords have to be put above elements they refer to, without a blank line in-between. Ok. Elements doesn't care about order for affiliated keywords (here results and attr_html), but Babel, which isn't built on Elements (yet), does. Hence, I suggest: #+attr_html: ... #+results: ... file With my patch to ob-core.el org-babel works fine with your suggestion. It just skips #+attr_...: lines as blank lines (original behaviour of org-babel is to skip blank lines between #+end_src and #+results, when it searches results block for updating). Of course, org-babel behavior may be easily changed to dissallow empty lines between #+attr_...: and #+results:. But currently org-elements allows next construction: , | #+attr_html: alt=big image width=100% | ^ | | | +- several empty lines between attr and file | | | v | file:123.png ` That is why I think that it is not necessary to make org-babel behavior different from org-elements (to dissalow empty lines between #+attr and #+results when it searches results block), at least for now. PS: Is there any good documentation and explanation of org-mode internals? I could help a little with rewritting org-babel to use org-elements. With best regards, Vasil
Re: [O] Bug: [PATCH] Org-babel: separate #+attr_... for code block and for results block [7.9.3d (release_7.9.3d-834-g60083a.dirty @ /home/vdyadov/Work/Tools/emacs/org-mode/lisp/)]
vdya...@elvees.com (Дядов Васил Стоянов) writes: PS: Is there any good documentation and explanation of org-mode internals? We don't have anything specific, the documentation of org-mode internals is... in the code itself :) -- Bastien