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.
(setq org-todo-keywords '((sequence "☛ TODO(t)" "|" "✔ DONE(d)") (sequence "⚑ WAITING(w)" "|") (sequence "|" "✘ CANCELED(c)")))
The full picture then looks like this:
16 thoughts on “Pimp Up Your Org-mode Files”
Very cool! Thanks for sharing.
But your code examples need some fixing 😉
Thank, sorry, wordpress messed up the formatting…
A little warning: The second code snippet will confuse already existing TODO states.
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?
LikeLiked by 1 person
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).
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?
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 …
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.
Hi, can I ask which theme you are using in the “org-bullets preview” screenshot at the top? I find the colour palette very pleasant but I don’t think I’ve come across this theme before. Many thanks!
It’s a long time since then, so I’m not 100% sure, but I think it is Moe or Monokai
I usually tweak the themes a little bit to my liking…
Thanks! Having looked at both themes, they just aren’t as good as your palette (in my view anyway :).
I tried to colour-pick from your screenshot, but it’s a very fiddly process and I end up with many shades of each colour.
Do you by any chance have your config from that long time ago? I would really appreciate it if I can reuse it.
My oldest git commit for the config is more then a year after the post… so likely it is not the same, but here you go: https://gist.github.com/rsuhada/e7f4aaa649fa8203311ab546621d7ab8
org-todo-keywords doesn’t work