swayfx/sway
Calvin Lee 843ad38b3c 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
2017-06-07 17:49:16 -07:00
..
commands Implement Tray Icons 2017-06-07 17:49:16 -07:00
border.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
CMakeLists.txt Revise IPC security configuration 2017-02-19 02:56:59 -05:00
commands.c Implement Tray Icons 2017-06-07 17:49:16 -07:00
config.c Implement Tray Icons 2017-06-07 17:49:16 -07:00
container.c Impliment i3-style marks 2017-04-03 11:48:37 -06:00
criteria.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
debug_log.c Added Awesome/Monad type "auto" layouts 2016-12-29 20:31:30 +01:00
extensions.c Disambiguate get_*_policy() and get_*_policy_mask() 2017-04-16 17:09:53 +03:00
focus.c prevent dereference of freed workspace 2016-10-02 22:03:52 -05:00
handlers.c Add mouse button bindings 2017-05-04 23:00:03 +02:00
input.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
input_state.c Reorganize includes 2016-09-01 08:18:37 -04:00
ipc-json.c Implement Tray Icons 2017-06-07 17:49:16 -07:00
ipc-server.c Disambiguate get_*_policy() and get_*_policy_mask() 2017-04-16 17:09:53 +03:00
layout.c Prevent "move next" and "move prev" commands from crashing 2017-03-19 16:58:39 +02:00
main.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
output.c Add output wrapping 2017-01-13 16:06:10 -08:00
security.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
sway-bar.5.txt Implement Tray Icons 2017-06-07 17:49:16 -07:00
sway-input.5.txt Add missing send-event mode to sway-input(5) 2017-05-06 10:45:17 +01:00
sway-security.7.txt Allow also 444 for security file mode 2017-03-16 15:12:22 +00:00
sway.1.txt Downgrade nvidia proprietary driver warning 2017-04-12 10:04:44 -04:00
sway.5.txt document font command 2017-05-01 12:53:07 -04:00
workspace.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00