gnome-format 0.2: This one actually does stuff
After reworking a lot of the code, I’m at a point where this program is actually worth showing to people. As of revision 67, gnome-format can now correctly format a volume that already has a partition table. I feel as if this project is finally getting off the ground now, it’s really exciting to finally see it start to come together. For those of you who don’t remember, here’s the basic idea:

Formatting USB disks, don’t do try this at home
Now here’s the disclaimer, and it’s a big one. Warning: this is prerelease code that is designed to format disks. It may go crazy and trash everything you love. Here’s how to get the code, build it, and run it:
cd gformat
./autogen.sh
make
./src/gnome-format
The main thing that is much different from my original, KDE-like plan is that instead of coming up with this “formatting backend” abstraction like I was originally going to in anticipation of HAL adding formatting support, I instead went with a script-based approach, similar to how HAL does its suspend/resume options. The primary advantages being that it is much simpler this way, and it allows distros to tweak the program without resorting to patches.
What’s left in the TODO list:
- Rewrite table and format
- Ask HAL to remount the new partition
- Make sure everything is unmounted before we trash drive
- Clean up info display, make sure (null) isn’t displayed
- Fix GTK errors
- Fix HAL problems regarding automatically updating device dialog
- Write floppy formatting support, most likely code taken directly from GFloppy
A call to arms!
I’m really looking for people to go through the code and fix anything wrong they see, if we get enough people working on this, it can be included in GNOME 2.20 (and by proxy, Gutsy Gibbon). Build the code, fix stuff up or add stuff, and send patches to paul@paulbetts.org. I’m especially looking for someone handy in Python to improve the mkfs script (I’d write it in Ruby, but I’m sticking to GNOME-supported languages). GNOME dev community, impress me!
