From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Burtzlaff Subject: Fireforg, a Firefox extension for Org mode interaction Date: Fri, 7 Aug 2009 06:54:32 +0200 Message-ID: <20090807065432.034e90cd.andy13@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MZHSq-0001bO-Pn for emacs-orgmode@gnu.org; Fri, 07 Aug 2009 00:54:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MZHSl-0001b8-AL for emacs-orgmode@gnu.org; Fri, 07 Aug 2009 00:53:59 -0400 Received: from [199.232.76.173] (port=54159 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MZHSl-0001b5-2h for emacs-orgmode@gnu.org; Fri, 07 Aug 2009 00:53:55 -0400 Received: from mail.gmx.net ([213.165.64.20]:36929) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1MZHSk-000438-EL for emacs-orgmode@gnu.org; Fri, 07 Aug 2009 00:53:54 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hello all, I am developing a Firefox extension for interaction with org-mode that goes by the name "Fireforg". It shows the number of occurrences of the currently viewed url in the agenda files as well as the associated tags in the status bar. A left click on the status bar entry displays a popup menu, where all associated headings are shown and a click on one of them lets emacs visit it. Furthermore, it alters the style of links that occur in the agenda files when viewing a website. Their tooltip is set to contain the associated headers. A right click on the status bar entry lets the user choose from predefined actions, currently org-protocol's "store-link" and "remember". Although the functionality mentioned above is usable, the code should still be considered experimental, so don't expect anything and backup your data. This is not a release but rather a call for testing and ideas. * Try it out To try it out you need to have org-protocol installed as described here: http://orgmode.org/worg/org-contrib/org-protocol.php Download org-registry.el and org-fireforg.el from the lisp directory in the repository: http://repo.or.cz/w/org-fireforg.git (org-registry.el is supposed to replace the contributed package, but is still lacking some of its functions (see section below)). Put the two files in the load-path and initialize by evaluating: (require 'org-registry) ;; Be sure the downloaded file is used here, not the one in contrib (org-registry-insinuate) (require 'org-fireforg) ;; When putting the following into .emacs it might fail, if ;; org-agenda-files has not been initialized yet. (org-registry-initialize t) Finally, click on the file build/fireforg.xpi in the latest tree in the repository at: http://repo.or.cz/w/org-fireforg.git confirm the installation of the extension and reload firefox. (Windows users might have to adjust: org-registry-file-xml in Emacs and "registry-file" in Fireforgs preferences.) * Ideas/Discussion - Add an optional search string to external links, so that individual text passages in a website can be referenced and highlighted in the site itself when it is revisited. - Show a bookmark tree in firefox that is generated from the header structure of an org file/a set of org files by filtering those with url's in them. Together with store-link this would completely replace firefox's bookmark functionality. The tree could be shown either using menu popups or better as html rendered using org's publishing capabilities. As I have no experience with the later, could someone write such a function? - Weaker url matching criteria. Match all parent urls, ... - The registry is currently only updated for files in the agenda to prevent pollution from temporary org files, possibly containing org-fstrees. Maybe we could extend the set with org-agenda-text-search-extra-files? Or rather make it customizable on its own? - I hope no one takes offence at the rewrite of org-registry without renaming or prior discussion. I'd like to add the missing functions, but can't get org-registry-show to work in Bastien's original version. - Is the use of the org logo ok for the purpose of the extension? - The logo and name are also subject to discussion. I'm still wondering what crossbreeding a firefox and a green unicorn would yield... * How it works The rewritten org-registry generates an xml file (customizable through org-registry-file-xml) that is read and searched by the extension. An org-protocol subprotocol is used to let emacs visit an occurence. I also have almost finished code that uses a temporary file to pass response data from emacs to the extension. Kind of Emacs as a database server... (probably existed though). Hope you enjoy it, Andreas