The QNX desktop has seen some significant improvements over the last few months. While it is still mostly a one-person spare-time project, it is becoming more and more usable.

First, I owe a debt from my original post. I was reprimanded by commentators for the window decoration’s lack of visual appeal. To address this I added a simple theme plug-in API to the window manager, which facilitates the creation of new themes. These are built into shared objects that are loaded when the window manager starts. With the help of the Cairo library I was able to write two new themes: one original, the other less so (see if you can spot it…).

Multimedia

No desktop system is complete without the ability to play back music and video. The QNX playback engine is called mm-renderer, which I was able to add to the system with ease, owing to some fairly good documentation. Moreover, the Qt libraries are already set up to use mm-renderer, which means that once it was running I was able to use Qt’s media player demo to play both music and videos. Nevertheless, this simple demo is a far cry from a good media player. After trying various options I found the excellent Musique music player. Musique has very few dependencies other than Qt, but it does rely on a playback library (QtAV) that I did not want to port (given that it has many dependencies of its own). Luckily Musique’s code is well organized, with media playback encapsulated by a separate library with its own interface. Implementing this interface using Qt’s native QMediaPlayer class was almost trivial and the result is fantastic.

Finally, starting mm-renderer allows the browser to play media without any further changes.

Productivity

The lack of an office suite used to be a significant hurdle to the adoption of alternative desktop operating systems (I still remember my attempts to use WordPerfect and Star Office on RedHat Linux 5.0). Things have changed dramatically with the proliferation of web-based applications such as Google Docs and Office 365, which can be accessed by any system with a modern browser.

Of course, real men (and women, and small furry creatures from Alpha Centauri) don’t use word processors. They us LaTeX. And if writing LaTeX code in Emacs is not your thing, there is TexMaker to the rescue.

Development

On top of the existing set of development tools (GCC, GDB, Emacs, Vim, Valgrind) the QNX desktop now includes Qt Creator. The following screenshot is my homage to the most aesthetically-pleasing desktop ever created, including an attempt to write a matching Qt style.

And one more thing…

Need access to a Linux-based system? No problem. The QNX Hypervisor supports various Linux flavours, including Ubuntu and Android.