Skip to content

Alternate Very Light Weight System Tray Icon

andrew-bibb edited this page Mar 22, 2015 · 6 revisions

Blueplate Tray Icon

The CMST system tray icon is a QT class, and as such when the program is minimized to the system tray the entire program is actually still running, just minimized. This provides features like the notification balloons (if enabled) and popup menus, but does come with a price. The entire CMST program is running in memory and taking its share of your CPU.

Because of that I've been looking for a lighter alternative, and have settled on the modular Blueplate system tray client from TrilbyWhite. We've forked the Blueplate project and have created a connman/cmst module on my page here. Blueplate is exceedingly light on resources and is a pure C program with minimal external dependencies. Our connman/cmst module has not yet been accepted for inclusion in the official Blueplate project, so if you wish to try it out you'll need to get it from here. We've got 2 branches going, you need the cmst branch. To build type "make", then as root "make install". To run the program: blueplate connman

The tray icon is very simple, a series of vertical bars, hollow or solid, which indicate the overall connection state of the system as reported by Connman. The bars are also color coded, but the primary indicator is the hollow/solid pattern. The more soild bars that appear the higher the connection state:

  • 2 hollow = unable to get the connection state from Connman
  • 0 solid (3 hollow) = offline
  • 1 solid (2 hollow) = idle
  • 2 solid (1 hollow) = ready
  • 3 solid (0 hollow) = online

Our modification will allow limited user interaction with the tray icon. A left click on the icon will open up the main CMST GUI. The Blueplate client can be shutdown with a Ctrl+left click on the icon. A right click on the icon will toggle the OfflineMode (Airplane mode) property on and off. When OfflineMode is engaged power will be cut to all network devices in the computer. If there is a notification daemon running on your computer toggling OfflineMode will display a notification popup.

Blueplate requires a Freedesktop.org compliant system tray which uses XEmbed. I've tested this on XFCE and MATE and it seems to have the same problems that QT does (ie: no icon), but without the work arounds I've put into CMST. If you are on one of those systems this probably won't work for you. It has been tested and works with the i3 system tray and with TINT2.