[Orgmode] deleting hidden parts of sparse trees
I'd like to be able to create a 'pruned' tree -- I am thinking of an operation that is similar to sparse tree creation, but which results in the deletion (not just folding) of all subtrees that contain no matching entries. I don't think this currently exists as such (?), but it is possible to do what I want by (1) creating a sparse tree, and (2) org-export-visible, selecting the 'keep-buffer' option. So that's good. However, I don't know how to do it programmatically, because org-export-visible has interactive keyboard input. (Or am I just exposing my ignorance here??) I've looked at the code, and what occurs to me is to hack out the middle bit of org-export-visible as a separate function, say org-prune-invisible or something. I sort of tried. It, err, didn't work. Anyone think this would be worth doing? (The functionality, if not via my suggested route) Dan ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] org-publish
I have similar settings but I still do not get any output. Any ideas what I can check or what other debug information can I provide? Any thoughts appreciated. Just the other day I ran into this problem with org-publish, and it took me quite a while to realise that I needed to create an org publish timestamp directory for it to work properly. Is there a reason why this directory wasn't being created automatically? Once I created the directory by hand it worked perfectly. R. ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] org-publish
On Jul 7, 2008, at 7:24 AM, Rick Moynihan wrote: I have similar settings but I still do not get any output. Any ideas what I can check or what other debug information can I provide? Any thoughts appreciated. Just the other day I ran into this problem with org-publish, and it took me quite a while to realise that I needed to create an org publish timestamp directory for it to work properly. Is there a reason why this directory wasn't being created automatically? Once I created the directory by hand it worked perfectly. This bug has been fixed by now. - Carsten ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] org-publish
On Jul 5, 2008, at 8:42 AM, Richard G Riley wrote: Carsten Dominik [EMAIL PROTECTED] writes: On Jul 4, 2008, at 8:28 AM, Richard G Riley wrote: I would like to suggest that C-c C-e P Publish the project containing the current file. also publishes any projects which contain that project. e.g I have a container project (cv :components (cv-html cv-raw) ) This would mean one doesn't have to manually select org-publish and then enter cv to publish the entire project. One can do it using hot keys from any file within cv-html or cv-raw. But if you have changed only a file in a sub project, what is the need for publishing the container? - Carsten But what if I have changed more than one file? Which (in my case is typical). Since the timestamps are now working better there is no real transfer overhead. A subproject may be part of several containers. With the time stamps now properly working, you can also make it a habit to simply publish everything with `C-c C-e A'. - Carsten ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] C-c C-o on link to [gnus:gmane.comp.compilers.free-pascal.general#****** open a new Emacs frame (window)
On Jul 6, 2008, at 11:56 AM, Csányi Pál wrote: Hello! I have a link that are pointed to a gnus: article. When I do C-c C-o to open that link, a new Emacs session in a new Frame being opened, but I have already opened a Gnus session in Emacs. Can I, and if can, how to setup so, so this link shall to be opened in the same Emacs frame but in another buffer? Any advices will be appreciated! Take a look at the variable org-link-frame-setup and substitute the value gnus-other-frame with a function that does what you want. I don't know which function that would be, but probably there is one that does what you want. - Carsten ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] C-c C-o on link to [gnus:gmane.comp.compilers.free-pascal.general#****** open a new Emacs frame (window)
Carsten Dominik [EMAIL PROTECTED] writes: On Jul 6, 2008, at 11:56 AM, Csányi Pál wrote: Hello! I have a link that are pointed to a gnus: article. When I do C-c C-o to open that link, a new Emacs session in a new Frame being opened, but I have already opened a Gnus session in Emacs. Can I, and if can, how to setup so, so this link shall to be opened in the same Emacs frame but in another buffer? Any advices will be appreciated! Take a look at the variable org-link-frame-setup and substitute the value gnus-other-frame with a function that does what you want. I don't know which function that would be, but probably there is one that does what you want. Gnus does the job. ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] deleting hidden parts of sparse trees
On Jul 7, 2008, at 1:55 AM, Dan Davison wrote: I'd like to be able to create a 'pruned' tree -- I am thinking of an operation that is similar to sparse tree creation, but which results in the deletion (not just folding) of all subtrees that contain no matching entries. I don't think this currently exists as such (?), No, it does not. but it is possible to do what I want by (1) creating a sparse tree, and (2) org-export-visible, selecting the 'keep-buffer' option. That is a possibility, but for your task a much more direct way would be to iterate directly over the overlays in the buffer and to delete text accordingly. (defun outline-delete-invisible () Delete all text covert by overlays with `invisible' property `outline'. (interactive) (let ((ovls (overlays-in (point-min) (point-max))) o) (while (setq o (pop ovls)) (and (eq (overlay-get o 'invisible) 'outline)) (delete-region (overlay-start o) (overlay-end o) Do I need to mention that this will be a dangerous operation, deleting lots of invisible text? You might find out only ater it is too late to recover. HTH - Carsten ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] deleting hidden parts of sparse trees
On Jul 7, 2008, at 9:44 AM, Carsten Dominik wrote: (defun outline-delete-invisible () Delete all text covert by overlays with `invisible' property `outline'. (interactive) (let ((ovls (overlays-in (point-min) (point-max))) o) (while (setq o (pop ovls)) (and (eq (overlay-get o 'invisible) 'outline)) (delete-region (overlay-start o) (overlay-end o) Do I need to mention that this will be a dangerous operation, deleting lots of invisible text? You might find out only ater it is too late to recover. Even much more dangerous then I thought, the command shown above actually deletes anything covered by overlays, not only outline overlays. Just one misplaced parenthesis.. Here is the corrected version. (defun outline-delete-invisible () Delete all text covered by overlays with `invisible' property `outline'. (interactive) (let ((ovls (overlays-in (point-min) (point-max))) o) (while (setq o (pop ovls)) (and (eq (overlay-get o 'invisible) 'outline) (delete-region (overlay-start o) (overlay-end o)) ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: marking out-links
Carsten Dominik [EMAIL PROTECTED] writes: [...] I you rest the mouse over the link, a tooltip window will show the link. Additional markers in the display text would require hacking the function `org-activate-bracket-links', but I am not in favor of this proposal. If you dont like using the mouse, one could use an idle timer to display the link in the echo area when the cursor is on the link - I have done something like this with RefTeX, on BibTeX references. Well, i run emacs on a terminal most of the time, so tooltips don't work for me. As for echoing, yes, that'd work, but it's somewhat orthogonal to the marking feature, the point of the latter being knowing the kind of one or more links before going there. But it seems i'm the only one finding that useful :), so i guess i'll hack something around org-activate-bracket-links. Thanks for the tip! Cheers, jao -- Sometimes I think we're alone in the universe, and sometimes I think we're not. In either case, the idea is quite staggering. -Arthur C Clarke, writer (1917- ) ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] org-agenda-list-stuck-projects and nested projects
One of the things I love about org-mode is that it's generally hierarchy agnostic which is to say it doesn't care what level or depth entries are with regards to the functionality org-mode provides with entries (TODOs, Dates and times, tags, etc.). Many of the projects I'd like to manage with org-mode are fairly large and as such I'd like to make use of org-mode's heirarchical agnosticism to factor my projects into nested projects arbitrary depth. This is supported very well by the rest of org-mode, just not the stuck projects agenda view. I find that view very valuable, but if I have a project with lots of branches that can move in parallel and one of those branches is stuck but another isn't stuck, then the stuck projects report doesn't reflect this assuming that if one branch isn't stuck then the project isn't stuck. Since the project is very large, that means I have to inspect the whole tree to figure out what might be stuck. The only workaround with the current implementation is that anytime I have a project/sub-project/branch lower than LEVEL=2 that I need to be able to review, then I have to break it out to a LEVEL=2 headline. This creates a negative feedback which will probably result in me not using the stuck projects view and probably insufficiently reviewing my projects. What I'd like is an agenda view like the stuck projects view but rather than omitting any project that has any active TODO's all the way up the hierarchy, it will only omit headlines that have active TODO's among its immediate children. If I start with a test.org file like so: * Testing ** Stuck Project at Level 2 *** Sub-project at Level 3 DONE bar *** Sub-project 2 at Level 3 And customize org-stuck-projects to remove the LEVEL=2 restriction like so: (setq org-stuck-projects '(/-DONE (TODO) nil )) And finally customize the org-tags-match-list-sublevels to allow tags matching to descend. Then if I open test.org and do C-c a # I get: List of stuck projects: test: .Stuck Project at Level 2 test: ..Sub-project at Level 3 test: ..Sub-project 2 at Level 3 Then if I re-activate the bar heading by putting it in the TODO state: * Testing ** Stuck Project at Level 2 *** Sub-project at Level 3 TODO bar *** Sub-project 2 at Level 3 I get an empty list: List of stuck projects: I'd like a list with the sub-heading that is still stuck: List of stuck projects: test: .Stuck Project at Level 2 test: ..Sub-project 2 at Level 3 I tried modifying the org-agenda-list-stuck-projects function by implementing an org-agenda-skip-function that only skips the heading and not the whole subtree: (defun org-agenda-skip-entry-when-regexp-matches () Checks if the current entry contains match for `org-agenda-skip-regexp'. If yes, it returns the end position of this entry, causing agenda commands to skip this entry. This is a function that can be put into `org-agenda-skip-function' for the duration of a command. (org-agenda-skip-if nil '(regexp org-agenda-skip-regexp))) Then I replaced the org-agenda-skip-function set in org-agenda-list-stuck-projects by replacing: (let* ((org-agenda-skip-function 'org-agenda-skip-subtree-when-regexp-matches) with: (let* ((org-agenda-skip-function 'org-agenda-skip-entry-when-regexp-matches) But that gets me: List of stuck projects: test: .Stuck Project at Level 2 test: ..Sub-project at Level 3 test: ...TODO bar test: ..Sub-project 2 at Level 3 I'm new to the internals of org-mode. Can anyone help me figure out what's wrong with my attempted solution here? Ross ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode