843ad38b3c
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 |
||
---|---|---|
.. | ||
bar | ||
input | ||
assign.c | ||
bar.c | ||
bind.c | ||
border.c | ||
client.c | ||
commands.c | ||
debuglog.c | ||
default_border.c | ||
default_floating_border.c | ||
exec.c | ||
exec_always.c | ||
exit.c | ||
floating.c | ||
floating_maximum_size.c | ||
floating_minimum_size.c | ||
floating_mod.c | ||
floating_scroll.c | ||
focus.c | ||
focus_follows_mouse.c | ||
font.c | ||
for_window.c | ||
force_focus_wrapping.c | ||
fullscreen.c | ||
gaps.c | ||
hide_edge_borders.c | ||
include.c | ||
input.c | ||
ipc.c | ||
kill.c | ||
layout.c | ||
log_colors.c | ||
mark.c | ||
mode.c | ||
mouse_warping.c | ||
move.c | ||
new_float.c | ||
new_window.c | ||
no_focus.c | ||
orientation.c | ||
output.c | ||
permit.c | ||
reload.c | ||
resize.c | ||
scratchpad.c | ||
seamless_mouse.c | ||
set.c | ||
show_marks.c | ||
smart_gaps.c | ||
split.c | ||
sticky.c | ||
unmark.c | ||
workspace.c | ||
workspace_auto_back_and_forth.c | ||
workspace_layout.c |