Embedded Todo List – Ubuntu
Simple, clean and awesome. Combining a basic text file todo list with the power of conky to display an embedded todo list on your ubuntu desktop!
This setup is very simple, and only requires a few steps, if all turns out well, you should end up with something like this.

of course, the space between the top of the list and the top panel can be adjusted to your liking.
So, to set this up on your desktop, follow these steps!
1. Install Conky on your system (I’m demonstrating this on Ubuntu 9.04)
Terminal:
sudo apt-get install conky
2. Save this Conky script
Copy and paste the following code and save it as todo.conf – you can name this to anything you want, but i’ll be using todo.conf as an example for the rest of this post
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | # Create own window instead of using desktop (required in nautilus) own_window yes own_window_type override own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager # Use double buffering (reduces flicker, may not work for everyone) double_buffer yes #buffer size text_buffer_size 5120 # fiddle with window use_spacer yes use_xft no # Update interval in seconds update_interval 3.0 # Minimum size of text area #minimum_size 250 5 # Draw shades? draw_shades no # Text stuff draw_outline yes # amplifies text if yes draw_borders no #font arial uppercase no # set to yes if you want all text to be in uppercase # Stippled borders? stippled_borders 3 # border margins border_margin 9 # border width border_width 10 # Default colors and also border colors, grey90 == #e5e5e5 default_color white own_window_colour brown own_window_transparent yes # Text alignment, other possible values are commented #alignment top_left alignment top_right #alignment bottom_left #alignment bottom_right # Gap between borders of screen and text gap_x 10 gap_y 30 # stuff after 'TEXT' will be formatted on screen TEXT ${execi 30 cat /full/path/to/todo/file.txt} |
3. Place the script somewhere you’ll remember
I tend to keep all my scripts in /home/james/script – so I created a Conky folder for all my Conky scripts.
Therefore I saved mine to /home/james/script/conky – once again i’ll be using this path as an example for the rest of the post
4. Create a todo file
You can skip this step if you already have a text file with your todo list on it, if not, simply create a new text file, add some todo items in it and save it.
For the remainder of this post, we’ll assume I’ve saved my text file in /home/james/todo.txt
5. Edit the script using your favourite text editor
As I mentioned earlier, you can adjust where you want your todo list to appear on your desktop
Terminal:
cd /home/james/script/conky
vi todo.conf
Remember to replace the path and filename with your own.
Now scroll down the config and edit the following fields
- gap_z
- gap_x
- alignment – hash out the one currently selected and delete the hash infront of the value you would like to use
- path to todo list (eg. /home/james/todo.txt)
If you are unsure how well your settings will look, you can simply load the config file up and see for yourself.
Terminal:
cd /home/james/script/conky
conky -c todo.conf
Now have a look at your desktop!
If it doesn’t look right, simply cancel the process running in the terminal (Ctrl+C), edit the config file again, and execute those same two commands again – repeat this process until you are happy
6. Create a command to call the todo list
This part is kind of optional, but I find it a lot easier because I get pretty lazy at times and I love automation. It also makes step 7 much more simpler.
Terminal:
cd /bin
sudo vi todo
Copy paste the following code to your text editor
1 2 3 4 | #!/bin/bash sleep 15 cd /home/james/script/conky conky -c todo.conf |
Save and exit
Terminal:
sudo chmod a+x todo
Now test if this works by just typing “todo” in your terminal, wait about 15 seconds and the todo list should now appear on your desktop again!
Why the 15 second wait? I’ll explain in the next point
7. Load on startup
Okay, so now the list is working, great!
Sadly though, it will not be there when you boot up again next time, therefore, we’ll add the “todo” command as a startup program.
Select: System > Preference > Startup Applications
Input the following details:

Click save!
As I mentioned before, you have to wait 15 seconds, but why?
Because if we don’t, Ubuntu will fire off the “todo” command very early in the startup process, and sadly, your todo list will never appear on your desktop because the x-session has started yet.
Thus, the 15 second wait will ensure that the “todo” command is called after your x-session is up and running, therefore displaying your todo list!
Note: If your system takes longer then 15 seconds to boot up, then I suggest changing that to a higher value, or cleaning up your startup processes.
Also vice-versa if your system boots up really quick, feel free to lower it.
8. Start working!
Time to start knocking off those items on your todo list!
Please leave your comments below or share your success story!
-jstar






