Я смог взломать Xscreensaver, чтобы получить желаемый вид (большое спасибо luser droog за его помощь). Я добавил немного кода Cairo, потому что было сложно реализовать то, что я хотел, только с помощью Xlib. Поскольку для меня это всего лишь хак, я не собираюсь его распространять.
В любом случае, когда я просматриваю Fuzzyflakes в окне, он выглядит нормально, но когда я просматриваю его в полноэкранном режиме (как и в любой хорошей заставке), я получаю эту ошибку:
X error in fuzzyflakes:
X Error of failed request: BadMatch (invalid parameter attribute)
Major Optcode of failed request: 139 (RENDER)
Minor optcode of failed request: 4 (RenderCreatePicture)
Serial number of failed request: 528
Current serial number in output stream: 1654
Вот дополнительная информация. Я использую Linux Mint 14, 64-битную версию. Я использую проприетарные драйверы nVidia версии 304.88. Мне пришлось взломать Makefile, сгенерированный сценарием настройки xscreensaver. Я изменил строку 800 Makefile на это:
fuzzyflakes: fuzzyflakes.o $(HACK_OBJS)
$(CC_HACK) `pkg-config --cflags cairo` -g -o $@ [email protected] $(HACK_OBJS) $(HACK_LIBS) -lcairo -lm
Полный исходный код вы можете посмотреть здесь.