The Nicotine+ Tray Icon

With the 1.2.7.1 release, the GTK 2.10 StatusIcon was first introduced for the X11/non-win32 version. The StatusIcon is now also used on Win32 in Subversion. The StatusIcon is a buil-tin object, and requires no compiling, unlike the TrayIcon module.

For users with older versions of GTK2 and PyGTK2, the TrayIcon module is still available, but it will not be used if GTK >= 2.10 is detected.

Tray Icon Module

The Tray Icon is a Python module that works with Nicotine+ 1.2.2 or greater, and thus needs to be compiled if you're installing/packaging Nicotine+ yourself.

What you need to compile the Tray Icon Module

  • GCC (obviously)
    • Ubuntu: build-essentials
  • Python development headers
    • Debian / Ubuntu: python-dev
  • PyGTK2 development headers
    • Debian / Ubuntu: python-gtk2-dev
  • GTK2 development headers
    • Debian / Ubuntu: libgtk2.0-dev
  • pkg-config (library and header finding tool)

Compiling

Change to the Tray Icon's directory

cd trayicon

Generate the Makefile

./autogen.py

Build the module

make

Install the module (as root or sudo)

make install

or, you can run the bash script the does all the above

cd nicotine+/
./trayicon-install

If you are running from the source directory

You'll need to copy the trayicon.so into the pynicotine/ sub-directory.

cd nicotine+/
cp trayicon/trayicon.so pynicotine/
./nicotine

Error Messages

If you get symbol errors such as:

trayicon.so: undefined symbol: trayicon_functions

You'll need to recompile the trayicon

cd trayicon
make clean
./autogen.py
make

and place it in the correct directory with make install or by copying it to the source directory pynicotine as is shown above.