Check it out world — an on time release (although this blog post isn’t)!
There isn’t much new, but I plan to make up for it with some pretty cool stuff for 0.3.
So after the first release, the feedback I got suggested less UI, so that was what I tried to work towards in terms of achievement.
This release seems very scrawny in comparison to the amazing progress being accomplished by other students of my class, mainly the Processing.js crew. But check it out–here are some of the goals I have set up for my 0.3 milestone:
- Code a function to disable next/prev button if current message is last/first
- Code a function to allow seeing a short
- Code a function to allow skipping spam using navigation
- Test extension’s display flow on a netbook
- Navigation buttons that look nice
- Consult other netbook users and seek review on basic UI left available
This release point is the result of one four-hour and one three-hour sessions in my office, where all I need to test front end code between edits is a lightning quick firing up of Thunderbird. These two days of work resulted in a total of +7 -2 lines of code, but I find victory in the fact that that is 7 hours of material I don’t have to learn again. I moved forward from understanding how to add elements to nodes (in layman’s terms: to insert a new control with its own attributes and programmability into item groups used in the base code of Thunderbird) and got comfortable with a new set of different controls and attributes.
My first aim was to get rid of the top toolbar to free up a good chunk of vertical space for the message content portion, so my plan of attack was to ask if element removal is possible in the #extdev channel. I was hooked up with two attributes to choose from, removeelement and hidden.
Removeelement sounded like a bucket of fun, so I gave that a try on the whole mail-toolbox toolbox. That actually ended up being kinda volatile, as the fs window would no longer recognize any selected message, and simply show a blank white inner space. So I dug one level deeper into the node and removed the two toolbar elements individually, one at a time, and found that it was the top [File, Edit, View, etc...] that shouldn’t be removed. Ever.
But even with one toolbar taken down, it still doesn’t look seamless. So the out-in-the-open answer became hidden. mail-toolbox hidden=”true”, that is. Great success!
Next thing to do was add a Prev & Next button for navigating through emails with the mouse. It took me about almost two hours and several different placements to get the feng shui just right and make sure that they wouldn’t warp or displace themselves like this:




but the two young buttons seem satisfied in their new home behind a spacer. Their auto-fitting with the vertical space was fixed by simply removing the align=”end” attribute I put in. Now they just need funky arrow icons to express their adolescent creativity, and stuff.
Oh yeah and I fixed the minimum version of Thunderbird problem. I set it to 2.9.*, since it seems the safest bet any 3.0pre build.
Also along this road I tried some other attributes that ended up not being necessary, but still cool tools to understand. The first is observes, which I noticed was on a most of the toolbox items, and insertbefore/insertafter. observes is like a radio to a broadcast tower, a broadcaster, sending the signal to adhere to any changed default attributes in the broadcaster. There’s a better explanation here. And have a XUL element reference also for good measure.
And along this road a few more cool feature ideas popped into my head;
People might like to be able to see or know if the next or previous message is junk and would prefer to skip it.
Perhaps add an easy way to zoom the size of text, both in and out to accommodate many different display settings.
A drop down list of message folders (inbox, sent, deleted, etc), with folder change going to the latest non-junk message, but I’m not dead set on keeping this idea if testers don’t feel it necessary.
Will keep you updated.

























To commit use the command ‘git commit -a’ for all changed files. Or use ‘git commit <filename>’ for one specific file at a time. Using commit only queues the file up to be pushed soon it doesn’t send the file to the repository right away. Add the attribute -m on the end of the command to specify a comment for the commit when it gets pushed to git hub later.




























