From 843ad38b3c427adb0bf319e9613d9813c8d9246c Mon Sep 17 00:00:00 2001
From: Calvin Lee <cyrus296@gmail.com>
Date: Wed, 7 Jun 2017 16:45:28 -0700
Subject: Implement Tray Icons

This commit implements the StatusNotifierItem protocol, and enables
swaybar to show tray icons. It also uses `xembedsniproxy` in order to
communicate with xembed applications.
The tray is completely optional, and can be disabled on compile time
with the `enable-tray` option. Or on runtime with the bar config option
`tray_output none`.

Overview of changes:
In swaybar very little is changed outside the tray subfolder except
that all events are now polled in `event_loop.c`, this creates no
functional difference.

Six bar configuration options were added, these are detailed in
sway-bar(5)

The tray subfolder is where all protocol implementation takes place and
is organised as follows:

tray/sni_watcher.c:
	This file contains the StatusNotifierWatcher. It keeps track of
	items and hosts and reports when they come or go.
tray/tray.c
	This file contains the StatusNotifierHost. It keeps track of
	sway's version of the items and represents the tray itself.
tray/sni.c
	This file contains the StatusNotifierItem struct and all
	communication with individual items.
tray/icon.c
	This file implements the icon theme protocol. It allows for
	finding icons by name, rather than by pixmap.
tray/dbus.c
	This file allows for asynchronous DBus communication.

See #986 #343
---
 include/client/cairo.h | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'include/client')

diff --git a/include/client/cairo.h b/include/client/cairo.h
index 46c53566..e7ef7c7e 100644
--- a/include/client/cairo.h
+++ b/include/client/cairo.h
@@ -6,6 +6,8 @@
 
 void cairo_set_source_u32(cairo_t *cairo, uint32_t color);
 
+cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image, int width, int height);
+
 #ifdef WITH_GDK_PIXBUF
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
-- 
cgit v1.2.3