emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Andreas Burtzlaff <andy13@gmx.net>
To: emacs-orgmode@gnu.org
Subject: Fireforg, a Firefox extension for Org mode interaction
Date: Fri, 7 Aug 2009 06:54:32 +0200	[thread overview]
Message-ID: <20090807065432.034e90cd.andy13@gmx.net> (raw)

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

             reply	other threads:[~2009-08-07  4:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-07  4:54 Andreas Burtzlaff [this message]
     [not found] ` <6ac505ad0908070500u46f9055fk5e3690b3ba4103d8@mail.gmail.com>
     [not found]   ` <20090807165316.93eddce6.andy13@gmx.net>
2009-08-07 15:08     ` Fireforg, a Firefox extension for Org mode interaction Daniel Martins
2009-08-08 17:19       ` Daniel Martins
2009-08-08 19:45         ` Andreas Burtzlaff
2009-08-08 20:09           ` Daniel Martins
2009-08-08 20:50             ` Andreas Burtzlaff
2009-08-09  4:16 ` Fireforg, a Firefox extension for Org mode interaction (Moved to Worg) Andreas Burtzlaff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090807065432.034e90cd.andy13@gmx.net \
    --to=andy13@gmx.net \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).