Back in February I wrote about xcowsay 1.5 which had been updated with Gtk3 support. At the time I knew it would cause problems with non-compositing window managers but I wasn’t sure if this would affect anyone. Well, I received complaints. I always hate it when software updates break otherwise working systems so I’d like to apologise for this and it’s now fixed with xcowsay 1.5.1.
The problem was caused by Gtk3 removing the
gtk_widget_shape_combine_mask function which xcowsay used for transparency around the cow and the bubble. In xcowsay 1.5 I simply added an alpha channel to the windows and the compositor will blend them with the desktop underneath. However without a compositor it results in ugly black squares like this:
To work around this xcowsay 1.5.1 grabs the pixels from the root window and uses that as the background to draw the cow and bubble onto. This works fine unless the windows underneath move while the cow is displayed, but I think in practice this is unlikely to cause a problem.
Download the new release here: xcowsay-1.5.1.tar.gz