aboutsummaryrefslogtreecommitdiffstats
path: root/swaybar/tray/tray.c
Commit message (Collapse)AuthorAge
* swaybar: fix tray_padding vs min-height re: scaleLibravatar Nathan Schulte2022-01-07
| | | | Co-authored-by: xdavidwu <xdavidwuph@gmail.com>
* swaybar: do not retry search for tray iconsLibravatar Konstantin Pospelov2019-10-21
| | | | | | | | | In case a tray icon cannot be found or does not have a desirable size, swaybar retries the search again and again, which increases load on disk and CPU. This commit solves it by storing target_size for each icon, so that swaybar does not search for an icon of some size if it already tried to. Fixes #3789.
* Replace wlr_log with sway_logLibravatar M Stoeckl2019-01-21
| | | | | | | | | | | | | This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
* swaybar: allow identifiers for output and trayLibravatar Brian Ashworth2019-01-13
| | | | | | | | | | This allows `bar output` and `bar tray_output` to specify an output identifier. Output names should still work as well. This parses the output identifier from the xdg_output description, which wlroots currently sets to `make model serial (name)`. Since this could change in the future, all identifier comparisons are guarded by NULL-checks in case the description cannot be parsed to an identifier.
* swaybar: free the right item during tray destructionLibravatar Ian Fan2019-01-08
| | | | | Also added a comment to make more obvious the reason for comparing sni->status[0] == 'N'
* swaybar: handle new and lost StatusNotifierWatcherLibravatar Ian Fan2018-12-31
|
* swaybar: implement tray renderingLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierItem to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierHost to trayLibravatar Ian Fan2018-12-31
|
* swaybar: implement icon themes and lookup for trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierWatcher to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add skeleton dbus code to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add tray interfaceLibravatar Ian Fan2018-12-31
|
* Start port of swaybar to layer shellLibravatar Drew DeVault2018-03-29
| | | | | | This starts up the event loop and wayland display and shims out the basic top level rendering concepts. Also includes some changes to incorporate pango into the 1.x codebase properly.
* Fix memory leaks in swaybar trayLibravatar Calvin Lee2017-07-16
|
* Don't trust SNI names, fixes #1274Libravatar Calvin Lee2017-07-13
| | | | | If an item doesn't have a well-formed name, it will not be added to the tray.
* Adjust _XOPEN_SOURCE value for build on FreeBSD and fix pointer comparison ↵Libravatar Johannes Lundberg2017-07-08
| | | | error.
* Remove Xembed SupportLibravatar Calvin Lee2017-06-13
| | | | | | | 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.
* Fix Catching NewIcon SignalLibravatar Calvin Lee2017-06-08
| | | | | The unique name was not copied out of the wire marshalled DBus message data so `sni_uniq_cmp` would always match against junk data.
* Reorganize Tray CodeLibravatar Calvin Lee2017-06-07
| | | | Remove tray code from bar.c and render.c
* Implement Tray IconsLibravatar Calvin Lee2017-06-07
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