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.
Impressive!
LikeLike
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – Hckr News
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – Outside The Know
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – Golden News
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – News about world
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – World Best News
Pingback: New top story on Hacker News: QNX Desktop 2019-03 update – Latest news
Is there a free download for this? Last time I played with qnx it was around 6.2.1 demo with photon UI I believe it was called, still one of my favorite UIs,… I remember good times in irc with the devs, cdm or something I believe it was created some nice desktop user focused apps.
Would love to checkout the project. I’m more of a user then a true dev, bit I’ve done my share of ./configure and make.. and web dev, but that’s easy enough for most grandma’s tbh .
LikeLike
There is no generally-available free version of QNX. There is a free academic licence, and an evaluation licence.
LikeLike
Pingback: QNX Desktop 2019-03 update | My Tech Blog
Pingback: Screenshot Galore! https://membarrier.wordpress.com/2019/03/03/scre… | Dr. Roy Schestowitz (罗伊)
Love the BeOS theme, how did you accomplish that? A blog post specifically on that would be massively appreciated!
LikeLike
Such a post wouldn’t make for very exciting reading. The BeOS theme is the result of hours of staring at blown-up screenshots of R5, followed by trivial code to reproduce the window decorations (with Cairo) and control appearance (in Qt, using the Style tutorial and examples). The tracker implementation is a variant of the launcher I showed elsewhere. It is written in Qt, with the main widget derived from a QToolBar class.
LikeLike
Are you willing to opensource your work on the tracker, so I can use that as a starting point.
LikeLike
Yes, and I can also add the style code. Just need to create a github account or something like that.
LikeLike
Did you find the time to opensouce the style code yet? Thanks!
LikeLike
Sorry for the delay. I have upload the source code here: https://gitlab.com/elahav/beosstyle
LikeLiked by 2 people
Thank you! Will try to compile it on Haiku. BTW, here is Haiku Qt style. Maybe you can reuse something from it or even port it That would be neat! https://github.com/threedeyes/qthaikuplugins
LikeLike