I am still working on other projects at the moment, but I have decided to finish a patch release for FocusWriter. It’s mostly bug fixes, with a few small polish features thrown in.
The most important new feature should be completely invisible for most users: an emergency file cache. FocusWriter has always had “auto-save”, which means exactly that: once a minute, it calls the save function. That is quite different from other word processors, but in keeping with its original design (which was more of a self-contained writing environment).
However, I don’t think that most users expect auto-save to mean that, and it doesn’t do anything to protect files that haven’t been manually saved and named (and since you can’t see the user interface, it’s easy to forget that you haven’t saved it the first time). So I have added a file cache. Once a minute, FocusWriter will store a copy of the files that are open. When you close the file, or close the program, it will delete the cached copies. If the program (or computer) crashes, it will detect the presence of the cache, and ask if you want to restore from it. If you don’t, it will move the cached contents to a date-based folder so that you can decide what to do with them at a later time.
I have kept the current “auto-save” functionality; however, it is disabled by default for all new users. You can not opt-out of the emergency cache (at least, not right now), since the files are deleted when the program properly closes. I hope this will satisfy both the current users of “auto-save” by keeping it around, as well as users who want to have some form of emergency file caching.
Another change is the backend for the typewriter sounds. There have been many sound bugs caused by my use of libao (and I was never completely happy with the code to begin with), so I have decided to replace it with SDL_mixer. I still don’t want to depend upon a game library for a word processor, so it loads SDL_mixer dynamically. If you don’t have SDL_mixer installed it will fallback to using QSound (any Linux users without SDL_mixer or Network Audio Sound will not have any sound effects, sorry). SDL_mixer will, however, be included in the binary versions for Mac and Windows. This should fix all of the sound errors that people have been having.
The last thing of note is a visual change, and I am rather excited about it: I have unveiled FocusWriter’s new icon and load screen. Over the course of FocusWriter’s life, I’ve gotten several submissions for new icons, and while many of them have been quality work, they just weren’t quite the look that I was going for. So with the help of my wife, I designed these. I was keeping them secret until 1.4, but got tired of waiting and they will instead be in the next release. I hope you like them as much as I do.