Skip to main content

Provides systray integration

Project description

pystray Package Documentation

This library allows you to create a system tray icon.

Creating a system tray icon

In order to create a system tray icon, the class pystray.Icon is used:

import pystray

icon = pystray.Icon('test name')

In order for the icon to be displayed, we must provide an icon. This icon must be specified as a PIL.Image.Image:

from PIL import Image, ImageDraw

# Generate an image
image = Image.new('RGB', (width, height), color1)
dc = ImageDraw.Draw(image)
dc.rectangle((width // 2, 0, width, height // 2), fill=color2)
dc.rectangle((0, height // 2, width // 2, height), fill=color2)

icon.image = image

To ensure that your application runs on all platforms, you must then run the following code to show the icon:

def setup(icon):
    icon.visible = True

icon.run(setup)

The call to pystray.Icon.run() is blocking, and it must be performed from the main thread of the application. The reason for this is that the system tray icon implementation for OSX must be run from the main thread, and it requires the application runloop to be running. pystray.Icon.run() will start the runloop.

The code in setup() will be run in a separate thread once the system tray icon is ready. The icon does not wait for it to complete, so you may put any code that would follow the call to pystray.Icon.run() in it.

pystray.Icon.run() will not complete until ~pystray.Icon.stop() is called.

Release Notes

v0.3.1 - No-change packaging update

  • Do not package an old version of pynput.

v0.3 - Proper Python 3 Support

  • Corrected Python 3 bugs.

  • Made Icon.run() mandatory on all platforms.

v0.2 - Initial Release

  • Support for adding a system tray icon on Linux, Mac OSX and Windows.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pystray-0.3.1-py3.4.egg (14.3 kB view hashes)

Uploaded Source

pystray-0.3.1-py3-none-any.whl (45.0 kB view hashes)

Uploaded Python 3

pystray-0.3.1-py2.7.egg (29.3 kB view hashes)

Uploaded Source

pystray-0.3.1-py2-none-any.whl (45.1 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page