Todolist for Linux





5.00/5 (4 votes)
A simple todolist designed for an Asus Eee Pc
Introduction
This application is a simple hierachical todolist that will run on linux under mono.
Background
I have been using .dan.g's ToDoList for quite a while now. it is a great todolist and I have not found anything to match it anywhere else.
But, it only runs on windows and that is a drawback. I have tried to run it using wine on linux but can't figure our how to 'install' the msxml dlls which todolist needs. I have recently got an Asus eee PC and have been looking for a todolist to run on it. I have found nothing that can live up to dan.g's todolist. I have tried running todolist under wine, but it doesn't work easily, so I decided to port my TodolistPPC to run on linux under mono, and get that running on the Eee PC.
At the moment it will read in files from dan.g's todolist version 5.3.11. I may continue to read and write dan.g's files, but probably not. I think that I will expand this application, and start using it on mono under windows as my main todolist.
The code
![]() ![]() |
There are two namespaces in this project, the UI namespace (uk.org.aspellclark.todolist) and a seperate namespace for the data (uk.org.aspellclark.todolist.engine). I have reused a number of classes from my todolist for PocketPc (TodolistPPC). The engine namespace contains just one class (for now) The main task class ( |
![]() |
The UI starts out with the class yes, an empty tab control. it starts out empty because there are no todolists loaded at startup. when a todolist is created or opened a new The the |
![]() |
This project contains some classes that I use in all of my projects It has a The The |
Points of Interest
The most surprising thing I have found is that the mono projects WinForms implementation is so complete that I can use icSharpCode's Sharpdevelop to create the application. This is a nice IDE and being able to use it allows me to use it's windows form's designer and debugger to write the aplication.
I can then compile the application (with a couple of minor tweaks) with nant and mono (which I have added to the SharpDevelop tools menu), copy the executable to my eee PC and it 'just works'.
The tweaks that I have to do to the code for running on my eee PC are:
Mono 1.2.2.1 (the version I have running on my eeePc) does not support StatusBar.Name properties. I have to comment these out.
I also have to change the construction of the MainMenu fromthis.mainMenu1 = new System.Windows.Forms.MainMenu(this.components);
tothis.mainMenu1 = new System.Windows.Forms.MainMenu();
as mono 1.2.2.1 will throw a missing method exception.
it's a pity that SharpDevelop keeps putting these back into the code automagically every time I open the winforms designer, so I have to keep removing them.
These are the only two changes I have to make to get it running on mono on my eeePc. if I can get mono 1.2.6 installed on the eee then I should not have to change these two items as it will run with the above two things unchanged when I execute the app on my windows box under mono 1.2.6
Known Issues
- more details need to be shown in details tab
- I want to add some embedded fonts.
History
- 1.0.0 (alpha) (20 December 2007)
- First public offering after porting to mono
This is not ready for actual use yet, but it may be usefull for people to view their todolists
- First public offering after porting to mono
- 1.0.1 (alpha) (05 January 2008)
- added saving todolists (but not tested re-loading them yet)
- 1.1.0 (beta) (20 January 2008)
- added reloading open todolists on application start