aboutsummaryrefslogtreecommitdiff
path: root/swaybar/tray/tray.c
AgeCommit message (Collapse)Author
2017-07-16Fix memory leaks in swaybar trayCalvin Lee
2017-07-13Don't trust SNI names, fixes #1274Calvin Lee
If an item doesn't have a well-formed name, it will not be added to the tray.
2017-07-08Adjust _XOPEN_SOURCE value for build on FreeBSD and fix pointer comparison ↵Johannes Lundberg
error.
2017-06-13Remove Xembed SupportCalvin Lee
Xembed support is premature in sway and should be postponed. This commit only removes swaybar starting xembedsniproxy, if users would like, they can still start xembedsniproxy manually, however there will be no official support.
2017-06-08Fix Catching NewIcon SignalCalvin Lee
The unique name was not copied out of the wire marshalled DBus message data so `sni_uniq_cmp` would always match against junk data.
2017-06-07Reorganize Tray CodeCalvin Lee
Remove tray code from bar.c and render.c
2017-06-07Implement Tray IconsCalvin Lee
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