Leisure Support Systems
Given the opportunity to improve the state of one’s relaxative degradation, software can be of service. I have known this for some time and have improvised some small works whose effects generally reduce productivity and decrease the difficulty for free-thinking individuals to obtain usable amounts of leisure. In fact, my main interests in applying software to life are in this field. Also in fact, most of my previous tools have never been seen by anyone other than I and are useless today.
Over the past week, though, I have put forward some tools I should have made years ago. The first is a tool that is useful for people who don’t use Macintosh or Windows PCs but own an iPod. It uses existing free software libraries to rebuild an iTunesDB from the Music directory inside an iPod’s filesystem. It is called itdb-rebuild and it can be found on the Internet for free. The other tool is useful to people who have a television and the Internet but don’t have cable television. This one is called gtk-xephyr-fullscreen and it just uses the good multi-monitor support of GTK+/GDK to create a full-screen Xephyr X11 display window on the biggest screen connected to a computer.
itdb-rebuild
I wrote itdb-rebuild in Python but considered rewriting it in C because the Python bindings to libgpod are not very good and it is not a GObject library so introspection didn’t work too well on it when I tried. I also started writing some ctypes python bindings but I was able to work through the existing bindings to get it working. The main thing that kept me from re-implementing the tool in C is that Taglib is not nearly as good an API as mutagen and the plain C API to Taglib has almost no capabilities.
gtk-xephyr-fullscreen
When plugging a PC into a contemporary television most computers have good multi-monitor support and can place full-screen video on whichever monitor is preferred by the user and the user can use the other monitor (or not use it) as they want. Of course when it comes to the most widely used web browser plug in, none of that works well on any platform that I have tried. Luckily X11 provides the ability to embed an entire display inside another one so it is possible to work around other people’s incompetence while taking advantage of their popularity. Xephyr is the most maintained tool for this. Unluckily, its multi-monitor full screen support isn’t very good. For a long time I used a combination of shell scripts, Xephyr, and a web browser to achieve some sort of television-like functionality but the Xephyr window always had a window manager decoration on it and could be accidentally moved around. A few days ago I just put together some C code which creates a full-screen GTK+ window on the biggest monitor and embeds a Xephyr display inside of it and starts some basic tools so a user can use a web browser to watch those streams in a properly fitting full-screen window.