Thanks again Eric, this is a good solution for projects that are not accessed frequently for me (I only know some of the org search capabilities, I guess it is time to reread that section in the manual).
At last, using the initial code provided by Bastien I was able to program something that gives me what I wanted. The code is provided below. Basically, I only need to write a "my-find-someproject*-org-heading" function for each projects I am interested in and bind it to a key. I had before the "F1" key binded to a function that just opened my main org file, therefore the most straightforward idea is to rebind that function to "F1 F1" and then bind the different my-find-someproject*-org-heading functions to "F1 SomeKey". #+begin_src emacs-lisp (defun buffer-exists (bufname) (not (eq nil (get-buffer bufname)) ) ) (defun my-find-org-heading (projectName) (interactive) (let (heading org-indirect-buffer-display) (setq heading (concat "* " projectName)) (setq org-indirect-buffer-display 'current-window) (if (buffer-exists projectName) (switch-to-buffer projectName) ;; Else (progn (find-file "~/org/main.org") (goto-char (point-min)) (search-forward heading) (org-tree-to-indirect-buffer) (rename-buffer projectName) (org-overview) (show-children) ) ) ) ) (defun my-find-someproject-org-heading nil (interactive) (my-find-org-heading "someproject") ) #+end_src -- Darlan At Wed, 02 Feb 2011 15:52:55 +0000, Eric S Fraga <e.fr...@ucl.ac.uk> wrote: > > Darlan Cavalcante Moreira <darc...@gmail.com> writes: > > > Thanks Eric > > > > I tried org-goto before, but I needed something that I could bind to a > > [...] > > > A custom agenda view is is good to see the tasks associated with a project > > and I already tag each project as you suggested, but besides the tasks > > there are some subheadings in each project that have only information > > without tasks or schedule/deadline dates. That is what motivated me to > > search for a way to quickly access the project contents and not only its > > tasks. > > Okay, let's try a third suggestion (in case it's 3rd time lucky ;-): > > 3. what about a sparse tree view (org-sparse-tree, C-c /, followed by > 'm' for match on a tag of choice) of your projects file? > > But again, this isn't necessarily something you can program, although > maybe you can as org-sparse-tree invokes org-match-sparse-tree which > looks definitely viable as a candidate for programmatic use: > > ,---- > | org-match-sparse-tree is an interactive compiled Lisp function in > | `org.el'. > | > | (org-match-sparse-tree &optional TODO-ONLY MATCH) > | > | Create a sparse tree according to tags string MATCH. > | MATCH can contain positive and negative selection of tags, like > | "+WORK+URGENT-WITHBOSS". > | If optional argument TODO-ONLY is non-nil, only select lines that are > | also TODO lines. > `---- > > so you could definitely write specific a function to use this, with a > specific match string, followed by a narrow to subtree? > > -- > : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1 > : using Org-mode version 7.4 (release_7.4.298.g16b40) _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode