Step 1: Pretty Bullets
You can use org-bullets to get nice bullet symbols such as these:

Here is my setup:
(use-package org-bullets
:ensure t
:init
(setq org-bullets-bullet-list
'("◉" "◎" "⚫" "○" "►" "◇"))
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
You can omit the org-bullets-bullet-list: the defaults look quite nice, too.
If you need inspiration, you can find an exhaustive list of utf-8 symbols here.
Step 2: Fancy Todo States
You can make your org files even more decadent, if you setup utf-8 (see here).
You can then add fancy symbols directly to your todo states definitions.
For example:
(setq org-todo-keywords '((sequence "☛ TODO(t)" "|" "✔ DONE(d)") (sequence "⚑ WAITING(w)" "|") (sequence "|" "✘ CANCELED(c)")))
The full picture then looks like this:

Advertisements
Very cool! Thanks for sharing.
But your code examples need some fixing 😉
LikeLike
Thank, sorry, wordpress messed up the formatting…
LikeLike
A little warning: The second code snippet will confuse already existing TODO states.
LikeLike
Yep, I tried this and it will — does anybody know of a way to programatically re-set the marker in a given file after changing the variable?
LikeLike
I’m not sure what you mean with marker? Of course if you change the definition of the todo states the old ones will be “forgotten”. You can get them back by simply re-running your original setq org-todo-keywords command (or remove the new one and reload org-mode and the org-file).
LikeLike
Sorry, what I mean is, after I update org-todo-keywords to the new ones, I’d like to automatically change the contents of some org files to update the org-todo-keywords: i.e., if the change is from “TODO” to “-> TODO”, I’d like to iterate over a .org, look for instances of “TODO” and replace them with “-> TODO”. I can write this when I get the chance, but is there a built-in way of doing this?
LikeLike
Ah, OK! Simplest way is to open your org file and just run replace-string and replace the old ones with the new ones. If you have many org files you can check out helm-swoop which can do it for all of them in one go. Alternatively you can go outside emacs and run a sed command in your org directory to replace everything….
LikeLiked by 1 person
step 2 could also be done with http://www.emacswiki.org/emacs/PrettyLambda without changing the real text behind the icons …
LikeLike
My initial idea was to use the built-in prettify-symbols-mode, but that one allows only single symbol displays (like lambda). Not sure about pretty-lambda though.
LikeLike