View on GitHub

FCardSaver

Flash Card Screensaver (X11/WinAPI)

Download this project as a .zip file Download this project as a tar.gz file

About this project

FCardSaver is a general-purpose flashcard-showing screensaver. It is designed in Qt framework and works both under X11 and under Microsoft Windows (XP or higher).

Binary builds

Binary builds for Ubuntu 12.04 LTS (Precise Pangolin) are available at my PPA. These builds also install without problems on other versions of Ubuntu at least up to 13.04 (Raring Ringtail).

A binary build for Microsoft Windows is attached to the GitHub release. Note that the installer at the moment includes DLLs from Qt version 4.8.5. For newer libraries rebuild the project with newer Qt framework. Please read BUILD.win32 carefully before attempting a Windows build.

Historical notes

Long-long ago there existed two screensavers for people studying Japanese language: kanjisaver that displayed kanji from the JLPT set, and kannasaver that displayed kana, both by Ryan Schultz. Unfortunately, both projects were eventually orphaned (kanjisaver here and kannasaver here), and, as a result, dropped from Debian and from most Debian-based distributions, including Ubuntu which I use. Kannasaver was temporarily resurrected in February 2011 by another maintainer, but after two releases dropped from the radar again.

For some time I lived with an old version of kannasaver, patching it to the best of my ability, but it wasn't a good experience for sure. Pretty soon I was thinking about writing a screensaver of my own, unifying functionality of both old screensavers. After one or two false starts I finally settled on the functionality that I want from the screensaver, and, in the autumn of 2012, the screensaver ran for the first time. I chose Qt as a framework because I wanted the screensaver to work both under KDE and under Microsoft Windows, which I still have to use at work.

Pretty soon the project started to grow and become more and more generic. Not satisfied by simply displaying a kanji or a kana character in the centre of the screen, it now could display arbitrary data in a rectangular grid. Kanji and kana sets, instead of being hard-coded as in the old screensavers, migrated to external files in format pretty close to that used by Anki. For kanji set generation I used a comprehensive and well-maintained KANJIDIC2 dictionary.

Please note that FCardSaver (1) is my first attemt at Debian packaging; (2) is my first attempt at writing in Qt; and (3) was not intended to be a serious project in the beginning.