Another Raspbian Desktop User Interface Update

Hopefully the dust has now settled on the first batch of changes to the Raspbian desktop which were made available at Christmas, and you’ve either a) decided you like them, or b) decided you hate them and have rolled back to a previous version, never to upgrade again. If you are in group b), I suggest you stop reading now…

The next set of desktop changes are now available. The overall look and feel hasn’t changed, but there have been a few major new features added, and a lot of small tweaks and bug fixes. The new features include the following:

New Wifi Interface

Connecting to a wifi network has been made much simpler in most cases by including a version of Roy Marples’ excellent dhcpcd and dhcpcd-ui packages. If you look towards the right-hand end of the menu bar, there is now a network icon. This shows the current state of your network connection – if a wifi connection is in use, it shows the signal strength; if not, it shows the connection state of your Ethernet connection. While connections are being set up, the icon flashes to indicate that a connection is being established.

To connect to a wifi network (assuming you have a USB wifi dongle connected to your Pi), left-click on the network icon and you should see a list of all visible wireless networks. Select the one you want, and if it is secured, you will be prompted for the network password. Enter the password, press OK and wait a few seconds for the wifi icon to stop flashing; if you then left-click the icon again, the selected network should be shown at the top of the list with a tick next to it, and you are then good to go.


If you right-click the network icon and choose the Wifi Networks (dhcpcdui) Settings option from the pop-up menu, you can manually enter static IP addresses – choose the SSID option from the Configure drop-down, select your network and enter the IP addresses you want. From the same dialog, you can manually enter an IP address for your Ethernet connection by selecting the Interface option from the drop-down and choosing eth0 as the interface. Once you’ve clicked Apply, you may need to reboot your Pi for the new settings to take effect.

Speaking of rebooting, the first time you plug in a WiFi dongle, you will need to reboot your Pi to have it recognised by the new UI. Once that is done, with most dongles, you should be able to hot-plug them, or even to have two dongles connected at once if you wish to connect to two networks. (A few dongles won’t work when hot-plugged – the Edimax dongle is one, due to a bug in its driver. The official Raspberry Pi dongle and the PiHut dongle should both hot-plug without problems.)

If you prefer to use the original wpa_gui application, it is still installed – just type:


in a terminal window to open it.

New Volume / Audio Interface

Next to the network interface icon on the menu bar, you will see a volume icon. This works exactly the same way as on Windows or MacOS – left-click it to drop down the volume control, which you can then slide with the mouse. There’s a mute checkbox at the bottom to quickly mute or unmute the audio output. (Note that not all devices support mute, so with some external soundcards this may be greyed-out.)

If you right-click the volume icon, a pop-up menu appears to allow you to select which audio output is used – on a standard Pi, you have the choice of HDMI or Analog. If you have installed a USB audio interface, or an external soundcard, these will also appear as options in this menu.

To allow more detailed control of any external audio devices, we’ve included a custom version of xfce4-mixer, the mixer dialog from the XFCE desktop environment – you can access this either under Device Settings from the volume right-click menu (the option only appears if there is an external audio device connected) or from the Preferences section of the main menu, where it is listed as Audio Device Settings.


From this dialog, select the device you want to control from the drop-down at the top, and then press the Select Controls button to choose which of the controls the device offers that you want to display. Pressing the Make Default button on this window has the same effect as choosing an output source in the volume right-click menu.

New Appearance Settings

There is a new custom Appearance Settings dialog, available from the Preferences section of the main menu, which works with a new custom theme for Openbox and GTK called PiX. This allows you to set how your desktop looks (colour, background picture), how the menu bar looks (including an easy option to move it to the top or bottom of the screen) and how window title bars look.


This groups together the most useful settings from the original Openbox and LXSession appearance dialog boxes, which are now hidden in the menu. They are still on the system, so if you would prefer to use them, access them from a terminal window by typing obconf or lxappearance, respectively. (Note that using both the new dialog and the old obconf and lxappearance dialogs may result in strange combinations of settings; I’d strongly recommend you use one or the other, not all three…)

Other Stuff

There are a lot of other small changes, mostly to the appearance rather than functionality, and some minor bug fixes. For example, dialog buttons have a cleaner appearance due to the removal of icons and shortcut underlines. (The shortcuts are still there – just hold down the Alt key and they will appear on the buttons.)

By popular demand, you can now set the foreground and background colours of the CPU monitor on the menu bar – just right-click it and choose CPU Usage Monitor Settings, and you can colour it however you like. Also back by popular demand, the ability to use an arbitrary format for the menu bar clock (right-click and choose Digital Clock Settings) – it should also now resize and align properly if you do so…

Various other applications have been updated – the Epiphany browser has had speed and compatibility improvements; the Minecraft Python API is now compatible with Python 3, and there is a new version of Sonic Pi.

How Do I Get It?

If this all sounds good to you, it’s very easy to add to your Pi. Just open a terminal and type:

sudo apt-get update

sudo apt-get dist-upgrade

Updating will overwrite your desktop configuration files (found in /home/pi/.config). Just in case you had customised something in there for your own use, the original files are backed up as part of the upgrade process, and can be found in /home/pi/oldconffiles.

The new network interface is a separate package – we know that some people will have carefully customised their network setups, so you may not want the new changes, as they will overwrite your network configuration. If you do want the new network interface, type:

sudo apt-get install raspberrypi-net-mods

You will be prompted as part of the install to confirm that you want the new version of the network configuration file – press Y when prompted. (Or N if you’ve had a last-minute change of mind!)

As ever, user interface design isn’t an exact science – my hope is that the changes make your Pi nicer to use, but feedback (good or bad) is always welcome, so do post a comment and let me know your thoughts!