Rhythmbox Alternative Toolbar updated

Its coming up to six months since I last posted any news about my Rhythmbox plugin called Alternative Toolbar … but there has been lots of little changes since then.

So a quick recap.

Alternative Toolbar reworks the main Rhythmbox interface. For Gnome-Shell you get native header-bars. For everyone else you get a stylish compact toolbar.

ubuntu vivid [Running] - Oracle VM VirtualBox_093Compare this with the default rhythmbox interface…

Rhythmbox_094I was working closely with the Ozon design team to make lots of changes. Ozon unfortunately looks like they have called it a day. Anyway – if there are any distro’s there that wish to bring a re-imagined Rhythmbox look-and-feel I would be happy to work with you. Before you ask – I had a few short words from the Rhythmbox maintainer himself – he didn’t want this upstream :(

So what has changed.

The sidepane has been reworked as well as the plugins dialog window.

  • New Rhythmbox_088

Old –  Rhythmbox_089

Plugins Dialog – ubuntu vivid [Running] - Oracle VM VirtualBox_090The plugin has been updated with a repeat one option so you can play your favourite track over and over again.

Ubuntu vivid - VMware Player (Non-commercial use only)_078You can even seek through tracks – backwards as well as forwards via Alt Right and Alt Left cursor keys.

Hover over the little coverart display and a larger version appears – move your mouse away to dismiss.

ubuntu vivid [Running] - Oracle VM VirtualBox_092

Have a look at the plugin preferences – lots of options to play with as well.

ubuntu vivid [Running] - Oracle VM VirtualBox_091

Thanks to the good-folk of the Launchpad Translation team the plugin is available in 25 languages and locales.

For non-Ubuntu users there are two further easy install methods – for Arch users there is a AUR and for Gentoo users there is an ebuild method. Have a look at the README for further details.

If you’ve installed this manually via github please update to grab all the latest new stuff and bug-fixes.

For users of my rhythmbox PPA just update as normal – or use the rhythmbox-plugin-alternative-toolbar package

sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins
sudo apt-get update
sudo apt-get install rhythmbox-plugin-alternative-toolbar

Wily 15.10 PPAs ready for testing

Quick update for all Wily Ubuntu (15.10) testers.

The following PPAs that I maintain have had updates to cover the forthcoming 15.10 release later this month.  Please have a look and report any issues.

System Monitor Application Indicator:

sudo add-apt-repository ppa:fossfreedom/indicator_sysmonitor

More information about this release is here.  If you find any issues please report them on the project tracker.

Rhythmbox Plugins:

sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins

Information about all the plugins can be found here.  If you find any issues drop a comment and I’ll try to help.

Rhythmbox (latest sources upstream pending the expected new release soon):

sudo add-apt-repository ppa:fossfreedom/rhythmbox

If you find any issues please file a bug-report on bugzilla.

Separately, my rhythmbox plugin alternative-toolbar has been updated to v0.13.3.  In this release is the latest translations.  Dont forget – please help out by translating this plugin as well as coverart-browser and coverart-search-providers.

My opensource contributions Q3 2015

This quarter has been a fairly busy time updating and enhancing various projects.  If you like what I’ve been up-to, remember you can say thanks by buying me a beer via Flattr or Paypal

Project development

Radio-Browser: I’ve finally found some time for this project after a year away.  I’ve fixed a crasher bug that prevented the ability to rip songs from radio-streams.  I’ve also merged in some changes another developer has made when forking the project but (forgot?) did not request a pull-request.  I’ll upload this into my rhythmbox PPA fairly soon.

Rhythmbox-Fullscreen: Whilst not my own project, I’ve contributed a fix resolving an issue that allowed the plugin to automatically recognise and scale correctly high resolution monitors.

Now Playing: Again, not one of my projects but I’ve been helping the main developer to find various bugs.  I’ve also run through and fixed various python PEP8 issues and supplied other fixes.  Expect to see this in my rhythmbox PPA soon once the author has confirmed he is happy for the project to be pushed to a wider audience.

Indicator-sysmonitor: I’ve been looking at some new ideas on this project.  I’ve implemented the ability to display custom icons in addition to text for custom scripts.   I’ve got a couple of other things to-do before marking this version as stable.  More news in the next quarter.

remember-the-rhythm: This looks to be a defunct project and hasnt been updated to Rhythmbox 3+.  So I’ve forked this, made it compatible with RB3 and added the ability to remember the state of playing when exiting rhythmbox. Expect to see this in my rhythmbox PPA once I’ve made some additional changes soon.

rhythmbox-hide: I’ve fixed a bug making this plugin work with versions of rhythmbox prior to RB 3+

coverart-browser: I’ve been looking at enhancing the artist view converting it from a tree-view to an icon-view.  This is a complete revamp of the GUI in this area but should make things much easier to navigate and find music by artist.

alternative-toolbar: lots and lots of fixes and translations have been added.

rhythmbox-android-remote: I’ve resurrected this plugin from the code-graveyard.  Made this RB3 compatible and did lots of fixes.

DRC: not one of my projects – but I’ve been helping out the author with testing and making code suggestions and other enhancements.  Look for this one in my rhythmbox PPA.

PPA Updates.

  • Rhythmbox-plugins: six plugins have had updates – some like alternative-toolbar has had many updates due to enhancements and other fixes
  • Rhythmbox: I updated the trusty archive with the latest development snapshot.

As always – I’m always looking to work with you – whether you can translate, test or provide code enhancements.  Just drop by one of my projects, fork, raise issues etc.

new rhythmbox android support

some quick news for rhythmbox and android fans.  Upstream have added better android support.

Previously, android support was via the MTP plugin and protocol.  As many users know – this old plugin has not really worked producing spurious errors, crashes and failed syncronisation of music.

Committed in the upstream code-sources is a new plugin and I’ve uploaded this for Trusty (14.04) users via my PPA (installation instructions here).

This new android support is built-in so you don’t need to manually enable this plugin.  If you use the MTP plugin for your other MTP devices this existing plugin can remain enabled – otherwise just disable the MTP plugin via the plugins menu.

This is brand new stuff – so report any issues upstream to get the necessary fixes into next version of rhythmbox – probably around mid september.

Other changes – I’ve made the visualizer plugin a suggested package not a dependency – its not a dependency upstream so I’m falling into line here.  If you want the visualizer plugin – install the rhythmbox-plugin-visualizer package

I’ve added the needed grilo packages to the dependency list to stop an annoying grilo error message appearing when you launch rhythmbox via a terminal.  N.B. Grilo packages support Jamendo as well as the upnp & DLNA protocols.

I’ve dropped the zeigeist plugin from the dependency list.  It has never worked since the migration to python3 via rhythmbox 3 due to zeitgeist not supporting python 3 upstream.  You can safely remove the rhythmbox-plugin-zeitgeist package now to tidy up.

Other notes – it looks like rhythmbox upstream may move to GTK+3.12 or later – this means no more support for Trusty users.  Nothing upstream has actually been committed yet – but if it does I’ll need to judge if I can still produce a trusty package by dropping those commits. Watch this space.

Calling all arabic speakers…

trusty - VMware Player (Non-commercial use only)_084Today I’ve made a small tweak to my Rhythmbox plugin – Alternative Toolbar – to support Right-To-Left languages such as Arabic.  The play button is now the correct direction for your locale :)

So for you Ubuntu 14.04 arabic users – enjoy … there is a but though.  As you can see, the locale contains a mixture of english and arabic.

So please help me to help you.  If you are an arabic speaker – or know someone who is, please can you translate the plugin into your language or specific locale.  It is very easy – just pop over to Launchpad here, select your language and locale and just submit your translations.

Alternative Toolbar already supports many languages – more would be welcome.

  • installation instructions for the plugin can be found in this post.


random disappearing letters

If you are suffering from random letters dropping off your screen then a short post here on how to workaround this.

Screenshot from 2015-04-22 00:09:46

This particular annoyance occurs for me after a few minutes of boot up – especially if waking up from being suspended.

I’m using Intel graphics – vivid (15.04) HWE on Ubuntu 14.04.  This occurred also when I was using utopic (14.10) HWE.

sudo nano /etc/X11/xorg.conf

copy and paste (CTRL + INS) the following

Section "Device"
Identifier    "Intel Graphics"
Driver         "intel"
Option         "AccelMethod" "uxa"

CTRL+X and answer yes to save and exit.  Finally reboot.

If this happens for you – click the “this affects me” option on this bug-report.

So what does this do? Well, it tells the Intel graphics driver not to use the default SNA code path but instead use the older UXA code-path. The older code-path is a kind of fall-back and isn’t as efficient as the newer SNA graphics.

To go back to the newer graphics either remove the xorg.conf file you created above – or just rename it followed by a reboot i.e.

sudo rm /etc/X11/xorg.conf


sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

N.B. I’ve seen other suggested workarounds such as tweaking the DPI settings and antialiasing changes but these do not work for me :(

How to upgrade to kernel 3.19 LTS Vivid kernel and xorg graphics for Ubuntu 14.04

Long-term Support for Ubuntu 14.04 also means that you can get the latest stable kernel and graphics as well.  Importantly, these remain supported by the kernel and graphics teams and you’ll receive a regular supply of updates for 9 months.

This article covers the following:

  • background with previously installing the utopic HWE
  • installing the vivid HWE with modified wiki instructions
  • fixing bcmwl wireless issues
  • cleaning up remaining utopic HWE obsolete packages


I did this previously to get the utopic hardware-enablement stack (HWE), so I was interested to tinker with the very latest supported HWE.

Remember – you’ll need to update just before 9 months to get the next LTS kernel and graphics before support is officially withdrawn.  If this sounds like too much hassle – best stick with the 3.13 kernel and graphics – they remain supported for 5 years!

Installing the vivid HWE:

The community wiki page describes how to install the latest kernel and graphics – but you need to be very careful.

The wiki page stated that to upgrade the kernel and graphics you use the following (sub utopic with vivid):

sudo apt-get install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid

Remember the magic “-s” parameter; with “-s” added you can simulate what would happen when you run an install command – for me, it revealed that there was a nasty conflict message.

sudo apt-get install -s --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
libgl1-mesa-glx-lts-vivid : Depends: libglapi-mesa-lts-vivid (= 10.5.2-0ubuntu1~trusty1) but it is not going to be installed
xserver-xorg-lts-vivid : Recommends: libegl1-mesa-drivers-lts-vivid but it is not installable
Recommends: libgles2-mesa-lts-vivid but it is not going to be installed
Recommends: libgles1-mesa-lts-vivid but it is not going to be installed
Conflicts: libglapi-mesa (>= 0~)
Conflicts: libgles2-mesa (>= 0~)
E: Unable to correct problems, you have held broken packages.

I fixed this with adding libglapi-mesa-lts-vivid.

sudo apt-get -s install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid libglapi-mesa-lts-vivid | more

N.B. press q to exit the paused display

I checked very closely the packages to be removed. I was happy to see all the utopic xserver packages being removed… however I noticed amongst the packages it would have removed were vital wine packages.

Instead I preserved my wine installation through this simulated command:

sudo apt-get -s install --install-recommends linux-generic-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-glx-lts-vivid libglapi-mesa-lts-vivid libgl1-mesa-glx-lts-vivid:i386 libglapi-mesa-lts-vivid:i386 | more

Try the above and examine which packages would be removed.

Once you are happy – go ahead and remove the “-s” after the apt-get.

Fixing bcmwl wireless issues:

I mentioned in my previous article that upgrading to the utopic HWE my bcmwl wireless could have been left in a broken state because the bcmwl package had not yet been backported; since that report there has been no movement with this bug so I can assume bcmwl wireless would remain broken for anyone upgrading to vivid HWE from stock 14.04.2 kernel and graphics.

Indeed – after installing the vivid HWE above I saw the following:

Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.19.0-23-generic /boot/vmlinuz-3.19.0-23-generic
run-parts: executing /etc/kernel/postinst.d/dkms 3.19.0-23-generic /boot/vmlinuz-3.19.0-23-generic
Error! Could not locate dkms.conf file.
File: does not exist.
Error! Bad return status for module build on kernel: 3.19.0-23-generic (x86_64)
Consult /var/lib/dkms/bcmwl/ for more information.

So BEFORE I rebooted, I downloaded the wily (15.10) bcmwl package ready to install after rebooting.

wget http://mirrors.kernel.org/ubuntu/pool/restricted/b/bcmwl/bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu2_amd64.deb

If you are still using 32bit then the equivalent package for you is:


After rebooting I installed the new wily deb with:

sudo dpkg -i bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu2_amd64.deb

Wireless sprang back into life and all is well.


Cleaning up:

Since I previously installed the utopic HWE I’m no longer interested in receiving future kernel updates for this LTS kernel. Thus, to do this remove the utopic kernel metapackage:

sudo apt-get purge linux-generic-lts-utopic

If necessary also remove the following packages:

sudo apt-get purge linux-lts-utopic-tools*

Then remove any obsolete packages

sudo apt-get autoremove