emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Girard <nicolas.girard@nerim.net>
To: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: [ANN] It's not a bird, it's not a plane, it's... org-icons.el, reloaded !
Date: Mon, 15 Mar 2010 14:17:22 +0100	[thread overview]
Message-ID: <51b0095d1003150617g6cb34a87w97a18324ca0625f5@mail.gmail.com> (raw)

Hi all,

I'm pleased to announce a brand new, shiny release for org-icons.
A few minor limitations remain, but I think the code has matured
enough to be used on a daily basis.
See for yourself ! Grab it at [1] and see the following instructions
for installing.

I indend to win this year's Most Ridiculous Release Number Contest, so
I set the current one to 0.271182363. Wish me luck: I seem to have
some quite serious opponents... I dare you, Memoir ! [2].

[1] http://github.com/ngirard/org-icons
[2] http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/


* Installation

1. Apply org-icons.patch on the latest org-mode code:
    cd path/to/org-mode
    patch -p0 < path/to/org-icons/lisp/org-icons.patch
    rm org.elc ; make ; sudo make install

2. Add org-icons/lisp to your load-path:
    (setq load-path (cons "/path/to/org-icons/lisp" load-path))

3. Restart emacs

* Usage

- You can turn on `org-icons-mode' on startup by setting the
  org-startup-with-icons-mode variable to true,

    (setq org-startup-with-icons-mode t)

- You can also enable or disable icon display on a per-buffer level, using

    M-x org-icons-mode

- A key sequence can easily be used for this, like =C-c i= in this example:

    (add-hook 'org-mode-hook
      (lambda () (local-set-key "\C-ci" 'org-icons-mode)))

* Configuration

Conceivably the Org Mode community will agree on how Org icons theme
should be defined, if they make sense. Org Mode's philosophy is to be
as generic as possible and it's not clear to me how to capture what
most people need while keeping in balance with flexibility.

Meanwhile, the set of icons that can be used, `org-icons-set', is a
little bit hardwired into the code.

More flexible are the functions governing which icon to draw, namely
`org-todo-state-icon-at', `org-priority-icon-at', `org-drawer-icon-at'
and `org-special-keyword-icon-at'. Looking at the source code should
be enough for you to redefine these functions to suit your needs. For
instance, you'll most probably want to write in your configuration

  (defun org-todo-state-icon-at (state priority tags)
    (cond
      ...
    )
  )

and instead of the dots, a set of (condition icon-name) like

  ((member "SOMEDAY"  tags ) "state-someday")

or more complex, like

  ((equal  "NEXT"     state)
     (if (>= priority 2000) "state-next-important" "state-next"))

* Bugs and limitations

- Documentation is missing.
- No themes yet: see the introduction.
- When cycling from a TODO keyword to no keyword using S-right, the
  latest icon remains displayed.
- When loading an org buffer, font-lock-fontify-buffer is called twice
  if org-startup-with-icons-mode is set to t.
- The standard icon set isn't visually consistent enough

* Please consider...

- the code is still beta;
- any suggestion / contribution warmly welcome.

             reply	other threads:[~2010-03-15 13:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-15 13:17 Nicolas Girard [this message]
2010-03-15 14:09 ` [ANN] It's not a bird, it's not a plane, it's... org-icons.el, reloaded ! Alexander Poslavsky
2010-03-15 15:06   ` Dan Davison

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=51b0095d1003150617g6cb34a87w97a18324ca0625f5@mail.gmail.com \
    --to=nicolas.girard@nerim.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).