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.
