sway-patched-tray-menu-github/sway/commands
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
..
bar Implement Tray Icons 2017-06-07 17:49:16 -07:00
input UnGNUify the codebase 2017-03-10 23:41:24 -05:00
assign.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
bar.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
bind.c Add mouse button bindings 2017-05-04 23:00:03 +02:00
border.c Improve criteria handling 2017-04-05 22:07:23 -06:00
client.c Set child border to background if not specified 2017-04-29 10:07:18 -04:00
commands.c Read configs from /etc/sway/security.d/* 2017-02-20 07:51:31 -05:00
debuglog.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
default_border.c Merge branch 'master' of git://github.com/SirCmpwn/sway into new-command-aliases 2017-03-13 07:35:12 -04:00
default_floating_border.c Merge branch 'master' of git://github.com/SirCmpwn/sway into new-command-aliases 2017-03-13 07:35:12 -04:00
exec.c merge in latest commits 2016-09-02 14:11:48 -05:00
exec_always.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
exit.c merge in latest commits 2016-09-02 14:11:48 -05:00
floating.c Improve criteria handling 2017-04-05 22:07:23 -06:00
floating_maximum_size.c merge in latest commits 2016-09-02 14:11:48 -05:00
floating_minimum_size.c merge in latest commits 2016-09-02 14:11:48 -05:00
floating_mod.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
floating_scroll.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
focus.c Improve criteria handling 2017-04-05 22:07:23 -06:00
focus_follows_mouse.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
font.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
for_window.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
force_focus_wrapping.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
fullscreen.c Improve criteria handling 2017-04-05 22:07:23 -06:00
gaps.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
hide_edge_borders.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
include.c merge in latest commits 2016-09-02 14:11:48 -05:00
input.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
ipc.c Handle symlinks as IPC security targets 2017-04-16 17:09:53 +03:00
kill.c Improve criteria handling 2017-04-05 22:07:23 -06:00
layout.c prevent crash when layout auto is missing args 2017-04-29 14:02:07 -04:00
log_colors.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
mark.c Add -t get_marks and use more i3-like marks 2017-04-07 11:37:51 -06:00
mode.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
mouse_warping.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
move.c Implement and document move [to] scratchpad 2017-04-18 21:41:28 +02:00
new_float.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
new_window.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
no_focus.c Implement no_focus 2017-04-26 15:29:42 -04:00
orientation.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
output.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
permit.c Handle symlinks as IPC security targets 2017-04-16 17:09:53 +03:00
reload.c merge in latest commits 2016-09-02 14:11:48 -05:00
resize.c Improve criteria handling 2017-04-05 22:07:23 -06:00
scratchpad.c Use i3's dimensions for initial scratchpad views 2017-04-18 23:47:09 +02:00
seamless_mouse.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
set.c FreeBSD fixes 2017-06-06 09:45:50 +02:00
show_marks.c Impliment i3-style marks 2017-04-03 11:48:37 -06:00
smart_gaps.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
split.c Improve criteria handling 2017-04-05 22:07:23 -06:00
sticky.c merge in latest commits 2016-09-02 14:11:48 -05:00
unmark.c Improve criteria handling 2017-04-05 22:07:23 -06:00
workspace.c remove unnecessary todo item 2017-03-18 17:26:59 -04:00
workspace_auto_back_and_forth.c UnGNUify the codebase 2017-03-10 23:41:24 -05:00
workspace_layout.c Fix off-by-one error when checking workspace_layout arguments 2017-03-18 22:24:44 +02:00