[O] HTML slides
Hi, First and foremost, thank you for making such a great emacs mode ! Whatever I'm doing with orgmode (and I do as much as possible in orgmode !), it is always a joy. Recently, i've been switching to orgmode for my presentations. I'm a happy user of [[https://github.com/eschulte/org-S5][org-S5]] but I just stumbled upon [[https://github.com/relevance/org-html-slideshow][org-html-slideshow]]. I have the utmost respect for their respective authors (of org-S5 for obvious reasons, of org-html-slideshow for Clojure contributions) and now I have a hard time deciding which one to choose. Does anyone have experience with any / both of them ? How would you make the choice ? Thanks for any advice ! Best Regards, Bernard
Re: [O] Flexible plain list bullets
Hello, Mark E. Shoulson m...@kli.org writes: Attached is a patch that adds a customization variable for setting which characters you can use as bullets in plain lists. Unicode has all kinds of pretty characters like ❧ or ☞ that would be good for bullets, why limit ourselves to just [-+*]? This has been discussed recently of the ML. At that time, many developers didn't like the idea of Unicode bullets. I still don't. The variable's set function sets associated other related variables, regular expressions using it, treating * specially since it isn't a plain-list bullet at the beginning of a line. Care is taken that the character - does not wind up in the middle of the character range (but there isn't special processing for ], and maybe there should be). If I understand it correctly, `org-list-full-item-re' wouldn't be set for users not going through the Customize interface. If that's true, it would be bad. Please take a look, see if it's worth adding tell me what else I need to do if necessary. Thanks! If you really want to beautify your Org files, you may, instead, implement a minor mode adding customizable Unicode characters as overlays on every bullet in the buffer. I bet some users would appreciate it. Regards, -- Nicolas Goaziou
Re: [O] Flexible plain list bullets
Hi Mark, On Thu, Apr 19, 2012 at 10:18, Nicolas Goaziou n.goaz...@gmail.com wrote: Mark E. Shoulson m...@kli.org writes: Attached is a patch that adds a customization variable for setting which characters you can use as bullets in plain lists. Unicode has all kinds of pretty characters like ❧ or ☞ that would be good for bullets, why limit ourselves to just [-+*]? This has been discussed recently of the ML. At that time, many developers didn't like the idea of Unicode bullets. I still don't. As a user I don't like this either. I realise I don't have to use it if I don't want to, but then this breaks the Org format. I realise it is still not formally defined but many external tools have been developed which assumes these basic syntactic elements. My personal reason for not liking this is, it makes it difficult for me to use tools like grep or sed interactively when there is a file with these fancy characters. However, Nicolas' suggestion about a minor mode to add overlays sounds like a great idea to me. -- Suvayu Open source is the future. It sets us free.
[O] Inverse matching with '/' in agenda view?
Maybe a useful feature request, if it hasn't already been proposed. I just recently discovered '/' in the agenda view, but sometimes I would like to use it to remove tags from a to do list, e.g. / (tab) -Docs ... to show everything in the to-do list that is not about writing documentation. But as far as I can see, it treats -Docs as a literal string to match exactly, so all the items are removed. Currently, it seems my options are: 1. Use the standard todo-tags-match, which doesn't use my custom sorting and block structure. 2. Or, define a new custom agenda command every time I want a different set of tags. (Not so interactive.) Any tips? Thanks! James -- James Harkins /// dewdrop world jamshar...@dewdrop-world.net http://www.dewdrop-world.net Come said the Muse, Sing me a song no poet has yet chanted, Sing me the universal. -- Whitman blog: http://www.dewdrop-world.net/words audio clips: http://www.dewdrop-world.net/audio more audio: http://soundcloud.com/dewdrop_world/tracks
Re: [O] Flexible plain list bullets
On Apr 19, 2012, at 11:40 AM, suvayu ali wrote: Hi Mark, On Thu, Apr 19, 2012 at 10:18, Nicolas Goaziou n.goaz...@gmail.com wrote: Mark E. Shoulson m...@kli.org writes: Attached is a patch that adds a customization variable for setting which characters you can use as bullets in plain lists. Unicode has all kinds of pretty characters like ❧ or ☞ that would be good for bullets, why limit ourselves to just [-+*]? This has been discussed recently of the ML. At that time, many developers didn't like the idea of Unicode bullets. I still don't. As a user I don't like this either. I realise I don't have to use it if I don't want to, but then this breaks the Org format. I realise it is still not formally defined but many external tools have been developed which assumes these basic syntactic elements. My personal reason for not liking this is, it makes it difficult for me to use tools like grep or sed interactively when there is a file with these fancy characters. I think this is very well put. Org must remain parsable, and all basic syntactic elements should be pure plain text and not configurable. - Carsten However, Nicolas' suggestion about a minor mode to add overlays sounds like a great idea to me. -- Suvayu Open source is the future. It sets us free. - Carsten
Re: [O] Inverse matching with '/' in agenda view?
James Harkins jamshar...@gmail.com writes: Maybe a useful feature request, if it hasn't already been proposed. I just recently discovered '/' in the agenda view, but sometimes I would like to use it to remove tags from a to do list, e.g. / (tab) -Docs ... to show everything in the to-do list that is not about writing documentation. But as far as I can see, it treats -Docs as a literal string to match exactly, so all the items are removed. Currently, it seems my options are: 1. Use the standard todo-tags-match, which doesn't use my custom sorting and block structure. 2. Or, define a new custom agenda command every time I want a different set of tags. (Not so interactive.) Any tips? Thanks! Hi James, Try / - TAB Docs RET Regards, Bernt
[O] Fast linking to files in private git repos through a hyperlink
I thought I would share the following hack that I did with git. In my org-mode notebook I often find myself references files that reside in various private git repos. So far I have referenced these either by just writing their name or giving a full path. But giving the full path is disruptive and if the repo moves it will no longer work. So I added a hack to make the following hyperlink work git:myrepo::myfile . When opening it the following happens: - myrepo is looked up in the emacs hash my-git-repos and mapped to the path of a git repo root. - git-find-file-in-repo searches for the the file myfile in the the repo repo Here's the code for org-git-hyperlink.el: (require 'org) (org-add-link-type git 'org-git-hyperlink-open) (defun org-git-hyperlink-open (path) Visit the file in learning-git (let* ((parts (split-string path ::)) (repo-name (car parts)) (filename (cadr parts)) (repo (gethash repo-name my-git-repos)) ) (git-find-file-in-repo repo filename))) (org-git-hyperlink-open learning::PointPatternMatching.py) ;;; org-learning.el ends here (provide 'org-git-hyperlink) ;;; org-git-hyperlink.el ends here The code for git-find-file-in-repo is here: https://github.com/hjz/emacs/blob/master/jz/git-find-file.el with the following addition: (defun git-find-file-in-repo (root file-name) Prompt with a completing list of all files in the project to find one. (interactive) (let* ((project-files (ffip-project-files root)) (files (delete-dups (mapcar 'car project-files))) (file-paths (delq 'nil (mapcar '(lambda (file-cons) (when (string= file-name (car file-cons)) (cdr file-cons))) project-files))) (file-path (if (cdr file-paths) (ffip-completing-read Disambiguate: file-paths) (car file-paths (find-file (concat root file-path Regards, Dov
Re: [O] Bug? v r in agenda crashes = solved
Hi all, the problem was that I still used the max-sticky-agenda branch. After switching to master everything works again! Sorry, I am not fluent in git and missed the trigger to change back to master. Thanks, Rainer Am 18.04.2012 18:49, schrieb Noorul Islam Kamal Malmiyoda: On Wed, Apr 18, 2012 at 7:50 PM, Rainer Stengele rainer.steng...@online.de wrote: Hi! Org-mode version 7.8.09 (release_7.8.09.221.g72128) Being in my agenda (non stiocky or sticky doesn't matter) I press v r and get this error: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) org-babel-header-arg-expand() run-hook-with-args-until-success(org-babel-header-arg-expand) org-cycle((4)) org-set-startup-visibility() org-mode() org-get-clocktable(:maxlevel 4 :narrow 80! :indent t :tstart 734611 :tend 734612 :scope agenda) apply(org-get-clocktable (:maxlevel 4 :narrow 80! :indent t :tstart 734611 :tend 734612 :scope agenda)) org-agenda-list(nil) call-interactively(org-agenda-list) (let ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos )) (call-interactively (quote org-agenda-list))) (let ((org-agenda-sorting-strategy (quote (time-up priority-down todo-state-up (let ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos )) (call-interactively (quote org-agenda-list eval((let ((org-agenda-sorting-strategy (quote (time-up priority-down todo-state-up (let ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos )) (call-interactively (quote org-agenda-list) org-let2(((org-agenda-sorting-strategy (quote (time-up priority-down todo-state-up ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos )) (call-interactively (quote org-agenda-list))) org-agenda-run-series(agenda - no (!) todos - sorted prio up - 1 day (((agenda prio ABC agenda ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos ))) (alltodo todos Prio A+B ((org-agenda-skip-function (lambda nil (or (org-agenda-skip-entry-if ... \\=.*\\[#A\\|#B\\]) (org-agenda-skip-entry-if ... ...))) ((org-agenda-sorting-strategy (quote (time-up priority-down todo-state-up)) eval((org-agenda-run-series agenda - no (!) todos - sorted prio up - 1 day (quote (((agenda prio ABC agenda ((org-agenda-span (quote day)) (org-agenda-start-with-log-mode t) (org-agenda-overriding-header Today's Agenda + Prio A todos ))) (alltodo todos Prio A+B ((org-agenda-skip-function (lambda nil ...) ((org-agenda-sorting-strategy (quote (time-up priority-down todo-state-up (let nil (eval org-agenda-redo-command)) eval((let nil (eval org-agenda-redo-command))) org-let(nil (eval org-agenda-redo-command)) org-agenda-redo() org-agenda-clockreport-mode(nil) call-interactively(org-agenda-clockreport-mode) org-agenda-view-mode-dispatch() call-interactively(org-agenda-view-mode-dispatch nil nil) I do not use babel at all. regards, Rainer Works for me. May be you need to provide minimal setup with which this can be reproduced. Org-mode version 7.8.08 (release_7.8.07.219.gf1887) GNU Emacs 24.0.93.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) of 2012-02-14 on noman Thanks and Regards Noorul
Re: [O] Inverse matching with '/' in agenda view?
At Thu, 19 Apr 2012 07:16:34 -0400, Bernt Hansen wrote: / - TAB Docs RET Oh, that's great. I missed that one. Thanks! James -- James Harkins /// dewdrop world jamshar...@dewdrop-world.net http://www.dewdrop-world.net Come said the Muse, Sing me a song no poet has yet chanted, Sing me the universal. -- Whitman blog: http://www.dewdrop-world.net/words audio clips: http://www.dewdrop-world.net/audio more audio: http://soundcloud.com/dewdrop_world/tracks
Re: [O] [bug] Remote durations are considered as fractions
Hi Bastien, Bastien wrote: Sebastien Vauban wxhgmqzgw...@spammotel.com writes: Using the flag T does not help: | Planning | 00:00:03 | | Reporting | 00:00:09 | #+TBLFM: @1$2=remote(hours-spent,@4$4);T This should work as expected now (with the T flag.) I confirm this is now working as expected for both the T and the t flags: - Using the flag T: | Planning | 03:36:00 | | Reporting | 09:03:00 | #+TBLFM: @1$2=remote(hours-spent,@4$3);T::@2$2=remote(hours-spent,@8$3);T - Using the flag t: | Planning | 3.60 | | Reporting | 9.05 | #+TBLFM: @1$2=remote(hours-spent,@4$3);t::@2$2=remote(hours-spent,@8$3);t Thanks! BTW, *could we limit the format of T to H:MM*, instead of H:MM:SS? The first case seems much more common, and the one used in all time clocking functions of Org. Note that the conversion of 3:12 into 1:4 is independant of getting the remote references right when they are durations. | Test | 3:12 | | | 1:4 | #+TBLFM: @2$2=@1$2 Thanks for reporting this! Wasn't aware of that. Thanks for mentioning. Best regards, Seb -- Sebastien Vauban
Re: [O] [PATCH] Add info when reference to remote table is not in the file
Hi Bastien, Bastien wrote: Sebastien Vauban wxhgmqzgw...@spammotel.com writes: (I don't like using sit-for, it's often worse than getting an error...) I don't like it that much either, but, here, it's the only way to see the message before being flooded by the Finding ID location... messages. You can also go back to the *Messages* buffer and check from there. Maybe another option is to silent `org-id-update-id-locations' when called from `org-id-find'? Does the attached patch against master improves the situation for you? Thanks, diff --git a/lisp/org-id.el b/lisp/org-id.el index 55e826f..c2b3d86 100644 --- a/lisp/org-id.el +++ b/lisp/org-id.el @@ -273,7 +273,7 @@ With optional argument MARKERP, return the position as a new marker. (when file (setq where (org-id-find-id-in-file id file markerp))) (unless where - (org-id-update-id-locations) + (org-id-update-id-locations nil t) (setq file (org-id-find-id-file id)) (when file (setq where (org-id-find-id-in-file id file markerp @@ -403,7 +403,7 @@ and time is the usual three-integer representation of time. ;; Storing ID locations (files) -(defun org-id-update-id-locations (optional files) +(defun org-id-update-id-locations (optional files silent) Scan relevant files for IDs. Store the relation between files and corresponding IDs. This will scan all agenda files, all associated archives, and all @@ -441,8 +441,9 @@ When CHECK is given, prepare detailed information about duplicate IDs. (setq files (delq 'agenda-archives (copy-sequence files (setq nfiles (length files)) (while (setq file (pop files)) - (message Finding ID locations (%d/%d files): %s - (- nfiles (length files)) nfiles file) + (unless silent + (message Finding ID locations (%d/%d files): %s +(- nfiles (length files)) nfiles file)) (setq tfile (file-truename file)) (when (and (file-exists-p file) (not (member tfile seen))) (push tfile seen) In all cases, this is already an improvement. So, I would definitely check this in. Thanks. Now, regarding the flood of messages, and the 1 second wait, it still may be useful for my case (where vc-backend messages are displayed) as you can see: --8---cut here---start-8--- Reference `hours-spent' is not found in the current file (1 second wait) Running svn --non-interactive status -v columnview-estimates-ranges-bak.txt in foreground... Running svn --non-interactive status -v columnview-estimates-ranges-bak.txt...OK = 0 Running svn --non-interactive status -v columnview-reporting-remaining-work.txt in foreground... Running svn --non-interactive status -v columnview-reporting-remaining-work.txt...OK = 0 Running svn --non-interactive status -v org-quotes.org in foreground... Running svn --non-interactive status -v org-quotes.org...OK = 0 OVERVIEW Running svn --non-interactive status -v org-issues.org in foreground... Running svn --non-interactive status -v org-issues.org...OK = 0 Duplicate ID mid:i929ov%24dpe%241%40dough%2Egmane%2Eorg, also in file c:/home/sva/src/worg/org-issues.org Duplicate ID mid:4C90E885%2E7010409%40sift%2Einfo, also in file c:/home/sva/src/worg/org-issues.org OVERVIEW Running svn --non-interactive status -v org-glossary.org in foreground... Running svn --non-interactive status -v org-glossary.org...OK = 0 Running svn --non-interactive status -v org-faq.org in foreground... Running svn --non-interactive status -v org-faq.org...OK = 0 OVERVIEW Running svn --non-interactive status -v org-devel.org in foreground... Running svn --non-interactive status -v org-devel.org...OK = 0 Running svn --non-interactive status -v org-blog-articles.org in foreground... Running svn --non-interactive status -v org-blog-articles.org...OK = 0 OVERVIEW Running svn --non-interactive status -v index.org in foreground... Running svn --non-interactive status -v index.org...OK = 0 Running svn --non-interactive status -v org-column-view.txt in foreground... Running svn --non-interactive status -v org-column-view.txt...OK = 0 Running svn --non-interactive status -v columnview.txt in foreground... Running svn --non-interactive status -v columnview.txt...OK = 0 Running svn --non-interactive status -v columnview-estimates-ranges.txt in foreground... Running svn --non-interactive status -v columnview-estimates-ranges.txt...OK = 0 Running svn --non-interactive status -v Proposal-Writing-with-Dynamic-Blocks.txt in foreground... Running svn --non-interactive status -v Proposal-Writing-with-Dynamic-Blocks.txt...OK = 0 Running svn --non-interactive status -v stumpwm.txt in foreground... Running svn --non-interactive status -v stumpwm.txt...OK = 0 --8---cut here---end---8--- But I think the above patch is good enough for the whole community. Let's commit it, and everybody should be perfectly happy
Re: [O] Inverse matching with '/' in agenda view?
Hi! I'd like to follow this up with a feature request on inverse matching on '', since the inverse of the tag-matching was resolved so fast ;) It would be neat to be able to hide categories in the agenda as well. Kind regards Gustav On Thu, Apr 19, 2012 at 2:57 PM, James Harkins jamshar...@gmail.com wrote: At Thu, 19 Apr 2012 07:16:34 -0400, Bernt Hansen wrote: / - TAB Docs RET Oh, that's great. I missed that one. Thanks! James -- James Harkins /// dewdrop world jamshar...@dewdrop-world.net http://www.dewdrop-world.net Come said the Muse, Sing me a song no poet has yet chanted, Sing me the universal. -- Whitman blog: http://www.dewdrop-world.net/words audio clips: http://www.dewdrop-world.net/audio more audio: http://soundcloud.com/dewdrop_world/tracks
Re: [O] [PATCH] Add info when reference to remote table is not in the file
Hi Bastien, Sebastien Vauban wrote: You can also go back to the *Messages* buffer and check from there. Maybe another option is to silent `org-id-update-id-locations' when called from `org-id-find'? Does the attached patch against master improves the situation for you? In all cases, this is already an improvement. So, I would definitely check this in. Thanks. That said, I still find we should be able to refer to tables names whose TBLNAME keyword could be spelled both: - in downcase version (#+tblname: abc) and - in uppercase version (#+TBLNAME: xyz). Best regards, Seb -- Sebastien Vauban
Re: [O] Inverse matching with '/' in agenda view?
Hi Gustav 2012/4/19 Gustav Wikström gustav.e...@gmail.com: I'd like to follow this up with a feature request on inverse matching on '', since the inverse of the tag-matching was resolved so fast ;) It would be neat to be able to hide categories in the agenda as well. Is a resolve in the past enough fast? ;-) commit bfe8ec1fceaee2d9c5bdf88c574720bebf2e7f7a Author: Bastien Guerry b...@altern.org Date: Tue Apr 10 22:25:53 2012 +0200 org-agenda.el: Fix inconsistency in `org-agenda-filter-apply' for category filters. * org-agenda.el (org-agenda-filter-make-matcher) (org-agenda-filter-apply): Allow filtering entries out by category. Using `C-u ' from the agenda view will redisplay the agenda without entries from categories of the current line. Thanks to John Wiegley for pointing this out. Michael
[O] [ODT] Internal Link disparear
Hi, I am coming into a curious bug. I don’t know if it an orgmode one or an libreoffice one. When a export-as-odt the simple org file attached to this mail, and open the odt file, I obtain an odt file very «unstable»: As soon as copy and paste any text into the file, the link called link just disappear. (sometime it disappears when I’m doing some else, as a pdf export for example) If I configure LibreOffice to display the «Field Name», the name of the link is still here, OrgXref.tag, but not the link itself. It’s the first time I was using internal link into a odt org-exported file. Thanks in advance for you help. Emacs version: GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.2.3) of 2012-04-10 on zelenka, modified by Debian Org-version: Org-mode version 7.8.06 (from debian packaging) LibreOffice Version: 3.5.2-4 (from debian packaging) -- Michaël Parienti gpg:D4C8 F73D A000 71C7 44EF 27E6 8982 4991 7126 3CE3 foobar.org Description: Binary data
Re: [O] Inverse matching with '/' in agenda view?
Hi Gustav, Gustav Wikström wrote: I'd like to follow this up with a feature request on inverse matching on '', since the inverse of the tag-matching was resolved so fast ;) It would be neat to be able to hide categories in the agenda as well. C-u Best regards, Seb -- Sebastien Vauban
[O] i want to subscribe
hello, respectable orgmode team , thank you
Re: [O] [PATCH] Add info when reference to remote table is not in the file
Hello, Sebastien Vauban wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org writes: That said, I still find we should be able to refer to tables names whose TBLNAME keyword could be spelled both: - in downcase version (#+tblname: abc) and - in uppercase version (#+TBLNAME: xyz). More importantly, we should also be able to refer to a table name through the future-proof #+NAME: keyword, if possible. Regards, -- Nicolas Goaziou
Re: [O] Fast linking to files in private git repos through a hyperlink
* Dov Grobgeld dov.grobg...@gmail.com wrote: I thought I would share the following hack that I did with git. In my org-mode notebook I often find myself references files that reside in various private git repos. So far I have referenced these either by just writing their name or giving a full path. But giving the full path is disruptive and if the repo moves it will no longer work. So I added a hack to make the following hyperlink work git:myrepo::myfile . When opening it the following happens: - myrepo is looked up in the emacs hash my-git-repos and mapped to the path of a git repo root. - git-find-file-in-repo searches for the the file myfile in the the repo repo Cool hack! :-) You might be interested in looking at the git-module of Memacs[1]. It puts your commits into your Agenda if you want. And for this purpose it already holds a list of your local repositories. But this list is generated using shell scripts - Sorry no ELISP here. I do think both solutions could go well together ... 1. https://github.com/novoid/Memacs -- Karl Voit
Re: [O] HTML slides
There is also https://github.com/dov/org-slidy , which I wrote since I like to be able to scroll my slides which S5 does not allow. It would be even cooler to create a package for creating HTML5 slideshows straight from org-mode, e.g. like http://slides.html5rocks.com/#table-of-contents or http://imakewebthings.com/deck.js . Regards, Dov On Thu, Apr 19, 2012 at 10:13, BernardH gmane.emacs.orgm...@bernard-hugueney.org wrote: Hi, First and foremost, thank you for making such a great emacs mode ! Whatever I'm doing with orgmode (and I do as much as possible in orgmode !), it is always a joy. Recently, i've been switching to orgmode for my presentations. I'm a happy user of [[https://github.com/eschulte/org-S5][org-S5]] but I just stumbled upon [[https://github.com/relevance/org-html-slideshow][org-html-slideshow]]. I have the utmost respect for their respective authors (of org-S5 for obvious reasons, of org-html-slideshow for Clojure contributions) and now I have a hard time deciding which one to choose. Does anyone have experience with any / both of them ? How would you make the choice ? Thanks for any advice ! Best Regards, Bernard
Re: [O] [PATCH] Separate file time from its tasks times
Hi Bastien, Bastien wrote: Sebastien Vauban wxhgmqzgw...@spammotel.com writes: This can be best understood with an [updated] example... I've been thinking about this again and I made up my mind with a clearer argument. Before: #+BEGIN: clocktable :maxlevel 4 :scope (file-tom.org file-ann.org) :block 2012-04 Clock summary at [2012-04-19 Thu 17:02], for April 2012. | File | Headline | Time | | |--+---+---+--| | | ALL Total time| 14:51 | | |--+---+---+--| | file-tom.org | File time | 7:41 | | | | Planning | 3:17 | | | | TODO Arrange meetings | | 0:34 | | | TODO List skills required | | 1:27 | | | TODO Organize interviews | | 1:16 | | | Reporting | 4:24 | | | | TODO Make report | | 1:57 | | | TODO Present report | | 2:27 | |--+---+---+--| | file-ann.org | File time | 7:10 | | | | Analyzing | 3:47 | | | | TODO Analyze investment risks | | 2:28 | | | TODO Perform QC | | 1:19 | | | Testing | 3:23 | | | | TODO Testing A side | | 2:17 | | | TODO Testing B side | | 1:06 | #+END: Now: #+BEGIN: clocktable :maxlevel 4 :scope (file-tom.org file-ann.org) :block 2012-04 Clock summary at [2012-04-19 Thu 17:00], for April 2012. | File | Headline | Time | | | |--+---+---+--+--| | | ALL Total time| 14:51 | | | |--+---+---+--+--| | file-tom.org | File time | 7:41 | | | | | Planning | | 3:17 | | | | TODO Arrange meetings | | | 0:34 | | | TODO List skills required | | | 1:27 | | | TODO Organize interviews | | | 1:16 | | | Reporting | | 4:24 | | | | TODO Make report | | | 1:57 | | | TODO Present report | | | 2:27 | |--+---+---+--+--| | file-ann.org | File time | 7:10 | | | | | Analyzing | | 3:47 | | | | TODO Analyze investment risks | | | 2:28 | | | TODO Perform QC | | | 1:19 | | | Testing | | 3:23 | | | | TODO Testing A side | | | 2:17 | | | TODO Testing B side | | | 1:06 | #+END: If we go for the second solution, the next step would be to put the ALL Total time into a different column than the File time... That could be an option, yes[1]. because it can look illogical to have both in the same column, for the same reasons it can look illogical to have a file's tasks times in the same column than the File time itself. No; it is totally different. Thanks to the *separator hline*, you clearly see the compartments (showing that times are not on the same level), and the ALL Total time stands out, alone on its own. So I'd rather stick to the current behavior, which I find more readable in the sense that it adds less columns. I hope you can explain this to your collaborators :) Please take a look at the following image: http://i.imgur.com/0dfsl.png where you can easily compare the readability of the tables (before and after), both in the Org buffer, and as exported PDF document. The goal of the above is to be able to output nice bills directly from Org. I've not yet finished but will share my output once to the point (in a couple of days or weeks). The above is a basecamp for reaching that goal, together with the ability to extract the grand total time from the dynamic block[2], to be multiplied by an hourly rate for displaying the price to be paid by the client... (not only for collaborators!). Best regards, Seb Footnotes: [1] I'm open to rewrite a patch with an option for separating the ALL Total time from the File times. [2] Hence, I'm currently forced as well to disable the bold property on the totals. See thread Referencing a cell from a
Re: [O] [Sticky Agenda] How to create Agenda Buffers in functions
Hi Max, Max Mikhanosha wrote: Sven Bretfeld wrote: The Sticky Agenda is something I have been waiting for since a long time. Thank you very much! Let me thank you for the sticky agenda as well. I can't say I'm using multiple agendas in parallel -- while I'll surely make more use of it --, but the fact that the agenda view comes almost instataneously is really great! I want to write a function that creates a new frame with several windows, each displaying a different Agenda Views. I fail to find a function that creates special agenda views. Formerly I used org-batch-agenda for similar purposes. But that doesn't work in the sticky branch. This is what I have: (defun my-gtd-frame () (interactive) (save-excursion) (make-frame '( (name . gtd) (active-alpha . 0.75) (inactive-alpha. 0.8) (top . 110) (left . 2000) (width . 80) (height. 40) (font . -Adobe-Courier-Medium-R-Normal--18-180-75-75-M-110-ISO8859-1))) (select-frame-by-name gtd) (toggle-fullscreen) (org-agenda-goto-today) (delete-other-windows) (split-window-horizontally) (other-window 1) (org-batch-agenda OFFICE/NEXT) ) This is the same bug as Martyn Jago reported earlier, basically I forgot that separate org agenda commands can be run individually rather then through (org-agenda) function. A temporary workaround in your specific case would be to wrap (org-batch-agenda) call like this: (catch 'exit (org-batch-agenda OFFICE/NEXT)) I tested it and it seems to work.. The actual fix for the bug will be similar and will be wrapping bodies of (org-todo-list) (org-tags-list) and friends with (catch 'exit), but it needs to be done conditionally as to only do it its called individually and not from (org-agenda) I tried the updated version of Sven: #+begin_src emacs-lisp (defun my-gtd-frame () (interactive) (save-excursion) (make-frame '( (name . gtd) (active-alpha . 0.75) (inactive-alpha. 0.8) (top . 20) (left . 20) (width . 80) (height. 40))) (select-frame-by-name gtd) (org-agenda-goto-today) (delete-other-windows) (split-window-horizontally) (other-window 1) (catch 'exit (org-batch-agenda work))) #+end_src But I get the following error: --8---cut here---start-8--- Debugger entered--Lisp error: (error Not allowed in nil-type agenda buffers) signal(error (Not allowed in nil-type agenda buffers)) error(Not allowed in %s-type agenda buffers nil) (if error (error Not allowed in %s-type agenda buffers org-agenda-type) nil) (if (memq org-agenda-type types) t (if error (error Not allowed in %s-type agenda buffers org-agenda-type) nil)) org-agenda-check-type(t timeline agenda) org-agenda-goto-today() my-gtd-frame() call-interactively(my-gtd-frame) (let* ((command (helm-comp-read M-x obarray :test (quote commandp) :requires-pattern helm-M-x-requires-pattern :name Emacs Commands :buffer *helm M-x* :persistent-action (quote pers-help) :persistent-help Describe this command :history history :must-match t :candidates-in-buffer t :fc-transformer (quote helm-M-x-transformer))) (sym-com (intern command))) (unless current-prefix-arg (setq current-prefix-arg helm-current-prefix-arg)) (setq this-command sym-com) (call-interactively sym-com) (setq extended-command-history (cons command (delete command history (progn (fset (quote pers-help) (function* (lambda (candidate) (block pers-help (let ((hbuf ...)) (if (and in-help ...) (progn ... ...) (set-window-dedicated-p ... nil) (describe-function ...) (message nil) (setq in-help t)) (setq help-cand candidate)) (let* ((command (helm-comp-read M-x obarray :test (quote commandp) :requires-pattern helm-M-x-requires-pattern :name Emacs Commands :buffer *helm M-x* :persistent-action (quote pers-help) :persistent-help Describe this command :history history :must-match t :candidates-in-buffer t :fc-transformer (quote helm-M-x-transformer))) (sym-com (intern command))) (unless current-prefix-arg (setq current-prefix-arg helm-current-prefix-arg)) (setq this-command sym-com) (call-interactively sym-com) (setq extended-command-history (cons command (delete command history) (unwind-protect (progn (fset (quote pers-help) (function* (lambda (candidate) (block pers-help (let (...) (if ... ... ... ... ... ...) (setq help-cand candidate)) (let* ((command (helm-comp-read M-x obarray :test (quote commandp) :requires-pattern helm-M-x-requires-pattern :name Emacs Commands :buffer *helm M-x* :persistent-action (quote pers-help) :persistent-help Describe this command :history history :must-match t
Re: [O] org-protocol-capture and chrome
From: Richard Riley rile...@gmail.com Subject: Re: [O] org-protocol-capture and chrome Date: Tue, 17 Apr 2012 12:06:32 +0200 Richard Riley rile...@gmail.com writes: Could someone please post a working setup (browser bookmark url and template) for org-protocol-capture to correctly get triggered from a Google Chrome bookmark link in order to store the current url. Googling shows some conflicting views : some with removing calls to encodeURI and others hacking xdg-open. Hi, I just spent some time in trying to set this up last weekend. In short, on linux, it does not work by default, as Chrome insists on using the OS to open the link, more specifically gvfs-open. This program, on the other hand, has a long-standing bug which makes it unable to handle encoded URI's. If the URI is fed to it unencoded, then org-protocol is not able to separate the different parts of the argument as it uses internally '/' as separator. I posted last week-end a patch to this list which adds a variable to org-protocol to use a custom separator. In this case, the URI in Chrome does not need to be encoded, and gvfs-open won't choke on it. I found that a separator like '|||' works perfectly. With this patch, the wiki examples work well, just leave out the encodeRUIComponent-part. It feels stupid to add a custom variable just to circumvent this problem, but the bug in gvfs-open was first reported in something like 2006 and still isn't fixed, so I guess it may not be something to hold one's breath on. The format of the patch was probably not correct as I have no idea whether it made it anywhere from this list, but should be found in the archives around April 14th. Best, Harri K.
Re: [O] Question about adding to inherited properties
First, let me say that I'm only a novice elisp hacker... That said after spending some time debugging I think there may be a disconnect between the example in the org-manual and the function org-entry-get-with-inheritance. The manual shows an example in section 7.1 where a GENRES+ adds to a GENRES property statement in a parent heading. But the docs and code in the org-entry-get-with-inheritance function seem to implement a model that only looks up the outline if you don't find anything on the current heading, even if it's a + property. (defun org-entry-get-with-inheritance (property optional literal-nil) Get entry property, and search higher levels if not present. The search will stop at the first ancestor which has the property defined. If the value found is \nil\, return nil to show that the property should be considered as undefined (this is the meaning of nil here). However, if LITERAL-NIL is set, return the string value \nil\ instead. (move-marker org-entry-property-inherited-from nil) (let (tmp) (unless (org-before-first-heading-p) (save-excursion (save-restriction (widen) (catch 'ex (while t (when (setq tmp (org-entry-get nil property nil 'literal-nil)) In my previous example when we get here org-entry-get returns the value of the property GENRES which is Baroque and executes the following three functions including the throw, which stops the loop. Based on the documentation I would think that this function should check to see if the current property is a GENRES+ vs. a GENRES property and continue up the outline looking for more GENRES+ properties and only stop when we find a plain GENRES or reach the top. This looks like what the (org-up-heading-safe) below is trying to do, but never gets executed because org-entry-get returned a positive value of Baroque when searching for GENRES on the current entry. (org-back-to-heading t) (move-marker org-entry-property-inherited-from (point)) (throw 'ex tmp)) (or (org-up-heading-safe) (throw 'ex nil))) (setq tmp (or tmp (cdr (assoc property org-file-properties)) (cdr (assoc property org-global-properties)) (cdr (assoc property org-global-properties-fixed (if literal-nil tmp (org-not-nil tmp Thoughts? ~Bill On Wed, Apr 18, 2012 at 4:05 PM, Bill Wishon b...@wishon.org wrote: Hi Org-mode Community, I can't get the example in section 7.1 of the org-mode manual to work as I expect. Perhaps someone can help me see what I'm doing wrong. I tried creating this buffer: * CD collection ** Classic :PROPERTIES: :GENRES: Classic :END: *** Goldberg Variations :PROPERTIES: :Title:Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :GENRES+: Baroque :END: Then I set the org-use-property-inheritance variable to include GENRES. Then I wrote the following function (defun bill-test (property) print all inheirited properties (interactive MProperty: ) (message (concat property = (org-entry-get (point) property t Which prints GENRES = Baroque when I run it with the point on Goldberg Variations, based on the manual I expected this to print GENRES = Classic Baroque”. While I think they should all do the same thing, I also tried the following ways of calling org-entry-get just in case all with the same result. (org-entry-get (point) property 'selective) (org-entry-get nil property t) (org-entry-get nil property 'selective) I'm using org-version 7.8.09 on Windows with emacs GNU Emacs 23.3.1 (i386-mingw-nt6.1.7601) of 2011-03-10 on 3249CTO. Any pointers about what I'm doing wrong would be great. Thanks, ~Bill
Re: [O] org-protocol-capture and chrome
Harri Kiiskinen harki...@gmail.com writes: The format of the patch was probably not correct as I have no idea whether it made it anywhere from this list, but should be found in the archives around April 14th. It's sitting on the patchwork server waiting to be dealt with. http://patchwork.newartisans.com/project/org-mode/list/ -Bernt
Re: [O] [Sticky Agenda] How to create Agenda Buffers in functions
At Thu, 19 Apr 2012 22:17:08 +0200, Sebastien Vauban wrote: I tried the updated version of Sven: #+begin_src emacs-lisp (defun my-gtd-frame () (interactive) (save-excursion) (make-frame '( (name . gtd) (active-alpha . 0.75) (inactive-alpha. 0.8) (top . 20) (left . 20) (width . 80) (height. 40))) (select-frame-by-name gtd) (org-agenda-goto-today) (delete-other-windows) (split-window-horizontally) (other-window 1) (catch 'exit (org-batch-agenda work))) #+end_src But I get the following error: --8---cut here---start-8--- Debugger entered--Lisp error: (error Not allowed in nil-type agenda buffers) signal(error (Not allowed in nil-type agenda buffers)) error(Not allowed in %s-type agenda buffers nil) (if error (error Not allowed in %s-type agenda buffers org-agenda-type) nil) (if (memq org-agenda-type types) t (if error (error Not allowed in %s-type agenda buffers org-agenda-type) nil)) org-agenda-check-type(t timeline agenda) org-agenda-goto-today() my-gtd-frame() call-interactively(my-gtd-frame) ... Am I missing something? The call to (org-agenda-goto-today) is before it created the agenda, I think it should be inside the catch, after the (org-batch-agenda) call. Regards, Max
Re: [O] Question about adding to inherited properties
Bill Wishon b...@wishon.org wrote: First, let me say that I'm only a novice elisp hacker... That said after spending some time debugging I think there may be a disconnect between the example in the org-manual and the function org-entry-get-with-inheritance. The manual shows an example in section 7.1 where a GENRES+ adds to a GENRES property statement in a parent heading. But the docs and code in the org-entry-get-with-inheritance function seem to implement a model that only looks up the outline if you don't find anything on the current heading, even if it's a + property. (defun org-entry-get-with-inheritance (property optional literal-nil) Get entry property, and search higher levels if not present. The search will stop at the first ancestor which has the property defined. If the value found is \nil\, return nil to show that the property should be considered as undefined (this is the meaning of nil here). However, if LITERAL-NIL is set, return the string value \nil\ instead. (move-marker org-entry-property-inherited-from nil) (let (tmp) (unless (org-before-first-heading-p) (save-excursion (save-restriction (widen) (catch 'ex (while t (when (setq tmp (org-entry-get nil property nil 'literal-nil)) In my previous example when we get here org-entry-get returns the value of the property GENRES which is Baroque and executes the following three functions including the throw, which stops the loop. Based on the documentation I would think that this function should check to see if the current property is a GENRES+ vs. a GENRES property and continue up the outline looking for more GENRES+ properties and only stop when we find a plain GENRES or reach the top. This looks like what the (org-up-heading-safe) below is trying to do, but never gets executed because org-entry-get returned a positive value of Baroque when searching for GENRES on the current entry. (org-back-to-heading t) (move-marker org-entry-property-inherited-from (point)) (throw 'ex tmp)) (or (org-up-heading-safe) (throw 'ex nil))) (setq tmp (or tmp (cdr (assoc property org-file-properties)) (cdr (assoc property org-global-properties)) (cdr (assoc property org-global-properties-fixed (if literal-nil tmp (org-not-nil tmp Thoughts? Eric Schulte (cc:ed) implemented accumulating properties with commit 3af89e696a32afcc39f2e3bdb6132ac588d530ae. The commit adds a function org-update-property-plist which takes care of the '+' case in property names. But as you observed, it does not seem to work. I don't really understand what should be happening: what I do know is that when org-entry-get calls the above function, the props parameter is nil, whereas the function expects it to contain the inherited sestting. So it may be that the function is expecting something that is not going to happen or org-entry-get passes it the wrong thing somehow. I don't know which one of these two is correct (or perhaps some other thing is wrong), but in any case there does seem to be a disconnect. Nick ~Bill On Wed, Apr 18, 2012 at 4:05 PM, Bill Wishon b...@wishon.org wrote: Hi Org-mode Community, I can't get the example in section 7.1 of the org-mode manual to work as I expect. Perhaps someone can help me see what I'm doing wrong. I tried creating this buffer: * CD collection ** Classic :PROPERTIES: :GENRES: Classic :END: *** Goldberg Variations :PROPERTIES: :Title: Goldberg Variations :Composer: J.S. Bach :Artist: Glen Gould :Publisher: Deutsche Grammophon :NDisks: 1 :GENRES+: Baroque :END: Then I set the org-use-property-inheritance variable to include GENRES. Then I wrote the following function (defun bill-test (property) print all inheirited properties (interactive MProperty: ) (message (concat property = (org-entry-get (point) property t Which prints GENRES = Baroque when I run it with the point on Goldberg Variations, based on the manual I expected this to print GENRES = Classic Baroque”. While I think they should all do the same thing, I also tried the following ways of calling org-entry-get just in case all with the same result. (org-entry-get (point) property 'selective) (org-entry-get nil property t) (org-entry-get nil property 'selective) I'm using org-version 7.8.09 on Windows with emacs GNU Emacs 23.3.1 (i386-mingw-nt6.1.7601) of 2011-03-10 on 3249CTO. Any pointers about what I'm doing wrong would be great. Thanks, ~Bill Alternatives:
Re: [O] Flexible plain list bullets
I guess. I spoke with someone on the IRC channel about this too, the basic idea being that the Org format should be stable, so the same file won't parse or behave differently on different installations. There's something to be said for that, but there are a fair number of customizable options that conflict with that ideal already. Some maybe should be there anyway, some might be better being made constants (or else reconsider my patch :) ). Examples: + org-emphasis-regexp-components and org-emphasis-alist are probably top candidates. These affect the parsing of Org in a pretty basic way: if you can change what characters to use for emphasis, and worse, exactly how they extend (what characters can interfere, etc), it's probably at least as potentially disruptive as alternate bullets. You might consider making these defconst instead of defcustom, if at all possible. + org-edit-src-region-extra is also a good example of exactly what you're saying shouldn't be there. First code blocks came in different ad-hoc flavors like #+ascii or lisp or whatever. Then the #+begin_src format came in order to unify them all and keep them from proliferating as new languages come up. And so all of those are quite appropriately hardcoded, just as you say they should be, in the org-edit-src-find-region-and-lang function. But that function also looks at org-edit-src-region-extra, which throws open exactly the same kind of problem you're objecting to. + org-drawers is a customization that affects structure and parsing. Notably it is also settable in-file, which anything like this really needs to be, so a file can carry its special needs with it. This is actually probably a deeper structural change than bullets, but drawers can do great things, and so may be powerful enough to be worth it. + TODO keywords and the like also affect parsing and export and cursor-movement (about the same stuff bullets would) and are settable, but again are really important and useful. The COMMENT keyword less critical, but since it's a word, it's only reasonable that people should be able to have it in the appropriate language for their file. Which does bring up one point: it isn't fair to imply that customizable bullets would not be pure plain text. Apart from the fact that they might well be used to make pure ASCII bullets (characters like @ or ! seem like possibilities), the fact is that Unicode *IS* plain text, that's what it's for. TODO keywords and such can and should be able to take on values that use non-ascii letters for users of other languages, and Org files written in Hindi or Hebrew remain pure plain text. (I wonder if it would matter if the customization could only ADD possibilities, like the org-edit-src-region-extra variable does, and not replace or take away the basic ones.) ~mark On 04/19/2012 06:01 AM, Carsten Dominik wrote: On Apr 19, 2012, at 11:40 AM, suvayu ali wrote: I think this is very well put. Org must remain parsable, and all basic syntactic elements should be pure plain text and not configurable. - Carsten However, Nicolas' suggestion about a minor mode to add overlays sounds like a great idea to me. -- Suvayu Open source is the future. It sets us free. - Carsten
Re: [O] Flexible plain list bullets
Mark E. Shoulson m...@kli.org writes: else reconsider my patch Contributions to Org/Emacs requires copyright assignments. Search for FSF in the following page: http://orgmode.org/worg/org-contribute.html I am wondering: Why a overlay solution will not work for you? Why do you need Unicode characters right in the file. Export engines can replace the ASCII bullets with Unicode bullets. For the sake of argument, if the Org parser fails to parse and export a non-canonical Org file will that upset you in anyways. You need to offer a reason that goes beyond mere aesthetics to build a much stronger case. We should leave aside what is already there. Your argument parallels the below social situation. (Replace broken windows = Customizable options, Vandalism = Feature creep) Maintainers are trying to make sure that more customization aren't added until a very strong case is made in support of them. , http://en.wikipedia.org/wiki/Broken_windows_theory | Consider a building with a few broken windows. If the windows are not | repaired, the tendency is for vandals to break a few more | windows. Eventually, they may even break into the building, and if | it's unoccupied, perhaps become squatters or light fires inside. Or | consider a sidewalk. Some litter accumulates. Soon, more litter | accumulates. Eventually, people even start leaving bags of trash from | take-out restaurants there or breaking into cars. ` That said, it is just a customizable option. People use Org for diverse needs. If one is willing to pay the penalty of having a non-standard Org file - broken export being one - then she is well within her rights to shoot herself in the foot. Btw, your proposal has received 3 downvotes already and not even a single upvote yet. --